adlint 2.6.14 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (401) hide show
  1. data/AUTHORS +1 -3
  2. data/ChangeLog +511 -0
  3. data/INSTALL +1 -1
  4. data/MANIFEST +57 -37
  5. data/NEWS +36 -7
  6. data/README +2 -2
  7. data/Rakefile +6 -6
  8. data/TODO +1 -1
  9. data/bin/adlint +25 -16
  10. data/bin/adlint_chk +22 -12
  11. data/bin/adlint_cma +17 -12
  12. data/bin/adlint_sma +22 -12
  13. data/bin/adlintize +98 -17
  14. data/etc/conf.d/fallback/cinit.erb +1 -1
  15. data/etc/conf.d/fallback/traits.erb +37 -37
  16. data/etc/conf.d/i686-cygwin/cinit-gcc_4.3.4.erb +1 -1
  17. data/etc/conf.d/i686-cygwin/traits-gcc_4.3.4.erb +41 -41
  18. data/etc/conf.d/i686-devkit/cinit-gcc_4.5.2.erb +1 -1
  19. data/etc/conf.d/i686-devkit/traits-gcc_4.5.2.erb +40 -40
  20. data/etc/conf.d/i686-linux/cinit-gcc_4.5.1.erb +1 -1
  21. data/etc/conf.d/i686-linux/traits-gcc_4.5.1.erb +40 -40
  22. data/etc/conf.d/i686-mingw/cinit-gcc_4.6.1.erb +1 -1
  23. data/etc/conf.d/i686-mingw/traits-gcc_4.6.1.erb +40 -40
  24. data/etc/conf.d/noarch/GNUmakefile.erb +1 -1
  25. data/etc/conf.d/noarch/adlint_all_bat.erb +1 -1
  26. data/etc/conf.d/noarch/adlint_all_sh.erb +1 -1
  27. data/etc/conf.d/noarch/pinit.erb +1 -1
  28. data/etc/conf.d/x86_64-ubuntu_12.04/cinit-gcc_4.6.3.erb +1 -1
  29. data/etc/conf.d/x86_64-ubuntu_12.04/traits-gcc_4.6.3.erb +42 -42
  30. data/etc/mesg.d/c_builtin/en_US/messages.yml +33 -33
  31. data/etc/mesg.d/c_builtin/ja_JP/messages.yml +5 -5
  32. data/etc/mesg.d/core/en_US/messages.yml +2 -2
  33. data/etc/mesg.d/core/ja_JP/messages.yml +2 -2
  34. data/features/code_check/W0018.feature +197 -0
  35. data/features/code_check/W0019.feature +79 -0
  36. data/features/code_check/W0021.feature +81 -0
  37. data/features/code_check/W0023.feature +203 -0
  38. data/features/code_check/W0024.feature +226 -0
  39. data/features/code_check/W0025.feature +5 -0
  40. data/features/code_check/W0088.feature +2 -2
  41. data/features/code_check/W0109.feature +2 -2
  42. data/features/code_check/W0477.feature +0 -3
  43. data/features/code_check/W0478.feature +0 -1
  44. data/features/code_check/W0582.feature +3 -3
  45. data/features/code_check/W0583.feature +4 -7
  46. data/features/code_check/W0646.feature +0 -1
  47. data/features/code_check/W0695.feature +0 -1
  48. data/features/code_check/W0705.feature +8 -0
  49. data/features/code_check/W0723.feature +0 -1
  50. data/features/code_check/W0745.feature +1 -0
  51. data/features/code_check/W0781.feature +1 -0
  52. data/features/code_check/W1057.feature +141 -0
  53. data/features/code_check/W1058.feature +93 -0
  54. data/features/code_check/W1059.feature +86 -0
  55. data/features/code_check/W1060.feature +77 -0
  56. data/features/code_check/W1061.feature +143 -0
  57. data/features/code_check/W1062.feature +162 -0
  58. data/features/code_check/W1063.feature +123 -0
  59. data/features/code_check/W1064.feature +83 -0
  60. data/features/code_check/W1065.feature +82 -0
  61. data/features/code_check/W9003.feature +2 -0
  62. data/features/step_definitions/code_check_steps.rb +1 -0
  63. data/features/support/env.rb +16 -13
  64. data/lib/adlint.rb +7 -4
  65. data/lib/adlint/analyzer.rb +131 -157
  66. data/lib/adlint/annot.rb +149 -0
  67. data/lib/adlint/cc1.rb +57 -0
  68. data/lib/adlint/{c → cc1}/branch.rb +74 -62
  69. data/lib/adlint/{c → cc1}/builtin.rb +21 -21
  70. data/lib/adlint/{c → cc1}/const.rb +119 -117
  71. data/lib/adlint/{c → cc1}/conv.rb +76 -78
  72. data/lib/adlint/{c → cc1}/ctrlexpr.rb +69 -86
  73. data/lib/adlint/cc1/domain.rb +8103 -0
  74. data/lib/adlint/{c → cc1}/enum.rb +3 -3
  75. data/lib/adlint/{c → cc1}/environ.rb +21 -21
  76. data/lib/adlint/{c → cc1}/expr.rb +232 -218
  77. data/lib/adlint/{c → cc1}/format.rb +305 -342
  78. data/lib/adlint/{c → cc1}/interp.rb +269 -220
  79. data/lib/adlint/cc1/lexer.rb +246 -0
  80. data/lib/adlint/{c → cc1}/mediator.rb +78 -84
  81. data/lib/adlint/{c → cc1}/object.rb +261 -264
  82. data/lib/adlint/{c → cc1}/operator.rb +7 -7
  83. data/lib/adlint/{c → cc1}/option.rb +4 -3
  84. data/lib/adlint/{c → cc1}/parser.rb +274 -506
  85. data/lib/adlint/{c → cc1}/parser.y +69 -301
  86. data/lib/adlint/cc1/phase.rb +138 -0
  87. data/lib/adlint/{c → cc1}/resolver.rb +66 -78
  88. data/lib/adlint/{c → cc1}/scanner.rb +57 -49
  89. data/lib/adlint/{c → cc1}/scope.rb +3 -3
  90. data/lib/adlint/{c → cc1}/seqp.rb +13 -5
  91. data/lib/adlint/{c → cc1}/syntax.rb +819 -1122
  92. data/lib/adlint/{c → cc1}/type.rb +1498 -1479
  93. data/lib/adlint/{c → cc1}/util.rb +20 -12
  94. data/lib/adlint/{c → cc1}/value.rb +699 -642
  95. data/lib/adlint/code.rb +163 -164
  96. data/lib/adlint/cpp.rb +2 -2
  97. data/lib/adlint/cpp/asm.rb +13 -14
  98. data/lib/adlint/cpp/constexpr.rb +42 -38
  99. data/lib/adlint/cpp/constexpr.y +44 -40
  100. data/lib/adlint/cpp/eval.rb +435 -435
  101. data/lib/adlint/cpp/lexer.rb +343 -340
  102. data/lib/adlint/cpp/macro.rb +188 -190
  103. data/lib/adlint/cpp/phase.rb +66 -45
  104. data/lib/adlint/cpp/scanner.rb +14 -17
  105. data/lib/adlint/cpp/source.rb +49 -55
  106. data/lib/adlint/cpp/subst.rb +65 -65
  107. data/lib/adlint/cpp/syntax.rb +155 -275
  108. data/lib/adlint/cpp/util.rb +22 -19
  109. data/lib/adlint/driver.rb +86 -93
  110. data/lib/adlint/error.rb +33 -52
  111. data/lib/adlint/exam.rb +158 -24
  112. data/lib/adlint/exam/c_builtin.rb +7 -7
  113. data/lib/adlint/exam/c_builtin/cc1_check.rb +20522 -0
  114. data/lib/adlint/exam/c_builtin/cc1_check_shima.rb +957 -0
  115. data/lib/adlint/exam/c_builtin/cc1_code.rb +459 -0
  116. data/lib/adlint/exam/c_builtin/cc1_metric.rb +794 -0
  117. data/lib/adlint/exam/c_builtin/cpp_check.rb +486 -441
  118. data/lib/adlint/exam/c_builtin/cpp_check_shima.rb +36 -39
  119. data/lib/adlint/exam/c_builtin/cpp_code.rb +63 -65
  120. data/lib/adlint/exam/c_builtin/ld_check.rb +136 -129
  121. data/lib/adlint/exam/c_builtin/ld_metric.rb +11 -11
  122. data/lib/adlint/lang.rb +25 -25
  123. data/lib/adlint/ld.rb +2 -2
  124. data/lib/adlint/ld/object.rb +220 -188
  125. data/lib/adlint/ld/phase.rb +94 -63
  126. data/lib/adlint/ld/typedef.rb +22 -11
  127. data/lib/adlint/ld/util.rb +43 -35
  128. data/lib/adlint/lexer.rb +59 -56
  129. data/lib/adlint/location.rb +140 -0
  130. data/lib/adlint/memo.rb +157 -0
  131. data/lib/adlint/message.rb +207 -156
  132. data/lib/adlint/metric.rb +139 -217
  133. data/lib/adlint/monitor.rb +45 -43
  134. data/lib/adlint/phase.rb +56 -29
  135. data/lib/adlint/prelude.rb +66 -54
  136. data/lib/adlint/report.rb +253 -332
  137. data/lib/adlint/source.rb +26 -27
  138. data/lib/adlint/supp.rb +131 -0
  139. data/lib/adlint/symbol.rb +14 -16
  140. data/lib/adlint/token.rb +19 -91
  141. data/lib/adlint/traits.rb +242 -226
  142. data/lib/adlint/util.rb +116 -205
  143. data/lib/adlint/version.rb +8 -8
  144. data/share/HEADER +2 -2
  145. data/share/doc/developers_guide_ja.html +148 -19
  146. data/share/doc/developers_guide_ja.texi +141 -11
  147. data/share/doc/samples/GNUmakefile +1 -1
  148. data/share/doc/samples/adlint_traits.yml +45 -36
  149. data/share/doc/users_guide_en.html +1321 -1252
  150. data/share/doc/users_guide_en.texi +475 -408
  151. data/share/doc/users_guide_ja.html +1932 -1878
  152. data/share/doc/users_guide_ja.texi +324 -273
  153. data/share/sample/bison-2.5/adlint/GNUmakefile +5 -1
  154. data/share/sample/bison-2.5/adlint/adlint_traits.yml +38 -38
  155. data/share/sample/bison-2.5/adlint/lib/GNUmakefile +1 -1
  156. data/share/sample/bison-2.5/adlint/lib/adlint_cinit.h +1 -1
  157. data/share/sample/bison-2.5/adlint/lib/adlint_pinit.h +1 -1
  158. data/share/sample/bison-2.5/adlint/lib/adlint_traits.yml +50 -42
  159. data/share/sample/bison-2.5/adlint/src/GNUmakefile +1 -1
  160. data/share/sample/bison-2.5/adlint/src/adlint_cinit.h +1 -1
  161. data/share/sample/bison-2.5/adlint/src/adlint_pinit.h +1 -1
  162. data/share/sample/bison-2.5/adlint/src/adlint_traits.yml +50 -42
  163. data/share/sample/ctags-5.8/adlint/GNUmakefile +1 -1
  164. data/share/sample/ctags-5.8/adlint/adlint_cinit.h +1 -1
  165. data/share/sample/ctags-5.8/adlint/adlint_pinit.h +1 -1
  166. data/share/sample/ctags-5.8/adlint/adlint_traits.yml +50 -42
  167. data/share/sample/flex-2.5.35/adlint/GNUmakefile +1 -1
  168. data/share/sample/flex-2.5.35/adlint/adlint_cinit.h +1 -1
  169. data/share/sample/flex-2.5.35/adlint/adlint_pinit.h +1 -1
  170. data/share/sample/flex-2.5.35/adlint/adlint_traits.yml +50 -42
  171. data/share/sample/ruby-1.9.3-p0/adlint/GNUmakefile +1 -1
  172. data/share/sample/ruby-1.9.3-p0/adlint/adlint_traits.yml +46 -38
  173. data/share/sample/ruby-1.9.3-p0/adlint/core/GNUmakefile +1 -1
  174. data/share/sample/ruby-1.9.3-p0/adlint/core/adlint_cinit.h +1 -1
  175. data/share/sample/ruby-1.9.3-p0/adlint/core/adlint_pinit.h +1 -1
  176. data/share/sample/ruby-1.9.3-p0/adlint/core/adlint_traits.yml +50 -42
  177. data/share/sample/ruby-1.9.3-p0/adlint/enc-trans/GNUmakefile +1 -1
  178. data/share/sample/ruby-1.9.3-p0/adlint/enc-trans/adlint_cinit.h +1 -1
  179. data/share/sample/ruby-1.9.3-p0/adlint/enc-trans/adlint_pinit.h +1 -1
  180. data/share/sample/ruby-1.9.3-p0/adlint/enc-trans/adlint_traits.yml +50 -42
  181. data/share/sample/ruby-1.9.3-p0/adlint/enc/GNUmakefile +1 -1
  182. data/share/sample/ruby-1.9.3-p0/adlint/enc/adlint_cinit.h +1 -1
  183. data/share/sample/ruby-1.9.3-p0/adlint/enc/adlint_pinit.h +1 -1
  184. data/share/sample/ruby-1.9.3-p0/adlint/enc/adlint_traits.yml +50 -42
  185. data/share/sample/ruby-1.9.3-p0/adlint/ext-bigdecimal/GNUmakefile +1 -1
  186. data/share/sample/ruby-1.9.3-p0/adlint/ext-bigdecimal/adlint_cinit.h +1 -1
  187. data/share/sample/ruby-1.9.3-p0/adlint/ext-bigdecimal/adlint_pinit.h +1 -1
  188. data/share/sample/ruby-1.9.3-p0/adlint/ext-bigdecimal/adlint_traits.yml +50 -42
  189. data/share/sample/ruby-1.9.3-p0/adlint/ext-continuation/GNUmakefile +1 -1
  190. data/share/sample/ruby-1.9.3-p0/adlint/ext-continuation/adlint_cinit.h +1 -1
  191. data/share/sample/ruby-1.9.3-p0/adlint/ext-continuation/adlint_pinit.h +1 -1
  192. data/share/sample/ruby-1.9.3-p0/adlint/ext-continuation/adlint_traits.yml +50 -42
  193. data/share/sample/ruby-1.9.3-p0/adlint/ext-coverage/GNUmakefile +1 -1
  194. data/share/sample/ruby-1.9.3-p0/adlint/ext-coverage/adlint_cinit.h +1 -1
  195. data/share/sample/ruby-1.9.3-p0/adlint/ext-coverage/adlint_pinit.h +1 -1
  196. data/share/sample/ruby-1.9.3-p0/adlint/ext-coverage/adlint_traits.yml +50 -42
  197. data/share/sample/ruby-1.9.3-p0/adlint/ext-curses/GNUmakefile +1 -1
  198. data/share/sample/ruby-1.9.3-p0/adlint/ext-curses/adlint_cinit.h +1 -1
  199. data/share/sample/ruby-1.9.3-p0/adlint/ext-curses/adlint_pinit.h +1 -1
  200. data/share/sample/ruby-1.9.3-p0/adlint/ext-curses/adlint_traits.yml +50 -42
  201. data/share/sample/ruby-1.9.3-p0/adlint/ext-date/GNUmakefile +1 -1
  202. data/share/sample/ruby-1.9.3-p0/adlint/ext-date/adlint_cinit.h +1 -1
  203. data/share/sample/ruby-1.9.3-p0/adlint/ext-date/adlint_pinit.h +1 -1
  204. data/share/sample/ruby-1.9.3-p0/adlint/ext-date/adlint_traits.yml +50 -42
  205. data/share/sample/ruby-1.9.3-p0/adlint/ext-dbm/GNUmakefile +1 -1
  206. data/share/sample/ruby-1.9.3-p0/adlint/ext-dbm/adlint_cinit.h +1 -1
  207. data/share/sample/ruby-1.9.3-p0/adlint/ext-dbm/adlint_pinit.h +1 -1
  208. data/share/sample/ruby-1.9.3-p0/adlint/ext-dbm/adlint_traits.yml +50 -42
  209. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-bubblebabble/GNUmakefile +1 -1
  210. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-bubblebabble/adlint_cinit.h +1 -1
  211. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-bubblebabble/adlint_pinit.h +1 -1
  212. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-bubblebabble/adlint_traits.yml +50 -42
  213. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-md5/GNUmakefile +1 -1
  214. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-md5/adlint_cinit.h +1 -1
  215. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-md5/adlint_pinit.h +1 -1
  216. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-md5/adlint_traits.yml +50 -42
  217. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-rmd160/GNUmakefile +1 -1
  218. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-rmd160/adlint_cinit.h +1 -1
  219. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-rmd160/adlint_pinit.h +1 -1
  220. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-rmd160/adlint_traits.yml +50 -42
  221. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha1/GNUmakefile +1 -1
  222. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha1/adlint_cinit.h +1 -1
  223. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha1/adlint_pinit.h +1 -1
  224. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha1/adlint_traits.yml +50 -42
  225. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha2/GNUmakefile +1 -1
  226. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha2/adlint_cinit.h +1 -1
  227. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha2/adlint_pinit.h +1 -1
  228. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha2/adlint_traits.yml +50 -42
  229. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest/GNUmakefile +1 -1
  230. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest/adlint_cinit.h +1 -1
  231. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest/adlint_pinit.h +1 -1
  232. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest/adlint_traits.yml +50 -42
  233. data/share/sample/ruby-1.9.3-p0/adlint/ext-dl-callback/GNUmakefile +1 -1
  234. data/share/sample/ruby-1.9.3-p0/adlint/ext-dl-callback/adlint_cinit.h +1 -1
  235. data/share/sample/ruby-1.9.3-p0/adlint/ext-dl-callback/adlint_pinit.h +1 -1
  236. data/share/sample/ruby-1.9.3-p0/adlint/ext-dl-callback/adlint_traits.yml +50 -42
  237. data/share/sample/ruby-1.9.3-p0/adlint/ext-dl/GNUmakefile +1 -1
  238. data/share/sample/ruby-1.9.3-p0/adlint/ext-dl/adlint_cinit.h +1 -1
  239. data/share/sample/ruby-1.9.3-p0/adlint/ext-dl/adlint_pinit.h +1 -1
  240. data/share/sample/ruby-1.9.3-p0/adlint/ext-dl/adlint_traits.yml +50 -42
  241. data/share/sample/ruby-1.9.3-p0/adlint/ext-etc/GNUmakefile +1 -1
  242. data/share/sample/ruby-1.9.3-p0/adlint/ext-etc/adlint_cinit.h +1 -1
  243. data/share/sample/ruby-1.9.3-p0/adlint/ext-etc/adlint_pinit.h +1 -1
  244. data/share/sample/ruby-1.9.3-p0/adlint/ext-etc/adlint_traits.yml +50 -42
  245. data/share/sample/ruby-1.9.3-p0/adlint/ext-fcntl/GNUmakefile +1 -1
  246. data/share/sample/ruby-1.9.3-p0/adlint/ext-fcntl/adlint_cinit.h +1 -1
  247. data/share/sample/ruby-1.9.3-p0/adlint/ext-fcntl/adlint_pinit.h +1 -1
  248. data/share/sample/ruby-1.9.3-p0/adlint/ext-fcntl/adlint_traits.yml +50 -42
  249. data/share/sample/ruby-1.9.3-p0/adlint/ext-fiber/GNUmakefile +1 -1
  250. data/share/sample/ruby-1.9.3-p0/adlint/ext-fiber/adlint_cinit.h +1 -1
  251. data/share/sample/ruby-1.9.3-p0/adlint/ext-fiber/adlint_pinit.h +1 -1
  252. data/share/sample/ruby-1.9.3-p0/adlint/ext-fiber/adlint_traits.yml +50 -42
  253. data/share/sample/ruby-1.9.3-p0/adlint/ext-fiddle/GNUmakefile +1 -1
  254. data/share/sample/ruby-1.9.3-p0/adlint/ext-fiddle/adlint_cinit.h +1 -1
  255. data/share/sample/ruby-1.9.3-p0/adlint/ext-fiddle/adlint_pinit.h +1 -1
  256. data/share/sample/ruby-1.9.3-p0/adlint/ext-fiddle/adlint_traits.yml +50 -42
  257. data/share/sample/ruby-1.9.3-p0/adlint/ext-gdbm/GNUmakefile +1 -1
  258. data/share/sample/ruby-1.9.3-p0/adlint/ext-gdbm/adlint_cinit.h +1 -1
  259. data/share/sample/ruby-1.9.3-p0/adlint/ext-gdbm/adlint_pinit.h +1 -1
  260. data/share/sample/ruby-1.9.3-p0/adlint/ext-gdbm/adlint_traits.yml +50 -42
  261. data/share/sample/ruby-1.9.3-p0/adlint/ext-iconv/GNUmakefile +1 -1
  262. data/share/sample/ruby-1.9.3-p0/adlint/ext-iconv/adlint_cinit.h +1 -1
  263. data/share/sample/ruby-1.9.3-p0/adlint/ext-iconv/adlint_pinit.h +1 -1
  264. data/share/sample/ruby-1.9.3-p0/adlint/ext-iconv/adlint_traits.yml +50 -42
  265. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-console/GNUmakefile +1 -1
  266. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-console/adlint_cinit.h +1 -1
  267. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-console/adlint_pinit.h +1 -1
  268. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-console/adlint_traits.yml +50 -42
  269. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-nonblock/GNUmakefile +1 -1
  270. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-nonblock/adlint_cinit.h +1 -1
  271. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-nonblock/adlint_pinit.h +1 -1
  272. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-nonblock/adlint_traits.yml +50 -42
  273. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-wait/GNUmakefile +1 -1
  274. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-wait/adlint_cinit.h +1 -1
  275. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-wait/adlint_pinit.h +1 -1
  276. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-wait/adlint_traits.yml +50 -42
  277. data/share/sample/ruby-1.9.3-p0/adlint/ext-json-generator/GNUmakefile +1 -1
  278. data/share/sample/ruby-1.9.3-p0/adlint/ext-json-generator/adlint_cinit.h +1 -1
  279. data/share/sample/ruby-1.9.3-p0/adlint/ext-json-generator/adlint_pinit.h +1 -1
  280. data/share/sample/ruby-1.9.3-p0/adlint/ext-json-generator/adlint_traits.yml +50 -42
  281. data/share/sample/ruby-1.9.3-p0/adlint/ext-json-parser/GNUmakefile +1 -1
  282. data/share/sample/ruby-1.9.3-p0/adlint/ext-json-parser/adlint_cinit.h +1 -1
  283. data/share/sample/ruby-1.9.3-p0/adlint/ext-json-parser/adlint_pinit.h +1 -1
  284. data/share/sample/ruby-1.9.3-p0/adlint/ext-json-parser/adlint_traits.yml +50 -42
  285. data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-complex/GNUmakefile +1 -1
  286. data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-complex/adlint_cinit.h +1 -1
  287. data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-complex/adlint_pinit.h +1 -1
  288. data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-complex/adlint_traits.yml +50 -42
  289. data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-rational/GNUmakefile +1 -1
  290. data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-rational/adlint_cinit.h +1 -1
  291. data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-rational/adlint_pinit.h +1 -1
  292. data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-rational/adlint_traits.yml +50 -42
  293. data/share/sample/ruby-1.9.3-p0/adlint/ext-nkf/GNUmakefile +1 -1
  294. data/share/sample/ruby-1.9.3-p0/adlint/ext-nkf/adlint_cinit.h +1 -1
  295. data/share/sample/ruby-1.9.3-p0/adlint/ext-nkf/adlint_pinit.h +1 -1
  296. data/share/sample/ruby-1.9.3-p0/adlint/ext-nkf/adlint_traits.yml +50 -42
  297. data/share/sample/ruby-1.9.3-p0/adlint/ext-openssl/GNUmakefile +1 -1
  298. data/share/sample/ruby-1.9.3-p0/adlint/ext-openssl/adlint_cinit.h +1 -1
  299. data/share/sample/ruby-1.9.3-p0/adlint/ext-openssl/adlint_pinit.h +1 -1
  300. data/share/sample/ruby-1.9.3-p0/adlint/ext-openssl/adlint_traits.yml +50 -42
  301. data/share/sample/ruby-1.9.3-p0/adlint/ext-pathname/GNUmakefile +1 -1
  302. data/share/sample/ruby-1.9.3-p0/adlint/ext-pathname/adlint_cinit.h +1 -1
  303. data/share/sample/ruby-1.9.3-p0/adlint/ext-pathname/adlint_pinit.h +1 -1
  304. data/share/sample/ruby-1.9.3-p0/adlint/ext-pathname/adlint_traits.yml +50 -42
  305. data/share/sample/ruby-1.9.3-p0/adlint/ext-psych/GNUmakefile +1 -1
  306. data/share/sample/ruby-1.9.3-p0/adlint/ext-psych/adlint_cinit.h +1 -1
  307. data/share/sample/ruby-1.9.3-p0/adlint/ext-psych/adlint_pinit.h +1 -1
  308. data/share/sample/ruby-1.9.3-p0/adlint/ext-psych/adlint_traits.yml +50 -42
  309. data/share/sample/ruby-1.9.3-p0/adlint/ext-pty/GNUmakefile +1 -1
  310. data/share/sample/ruby-1.9.3-p0/adlint/ext-pty/adlint_cinit.h +1 -1
  311. data/share/sample/ruby-1.9.3-p0/adlint/ext-pty/adlint_pinit.h +1 -1
  312. data/share/sample/ruby-1.9.3-p0/adlint/ext-pty/adlint_traits.yml +50 -42
  313. data/share/sample/ruby-1.9.3-p0/adlint/ext-racc-cparse/GNUmakefile +1 -1
  314. data/share/sample/ruby-1.9.3-p0/adlint/ext-racc-cparse/adlint_cinit.h +1 -1
  315. data/share/sample/ruby-1.9.3-p0/adlint/ext-racc-cparse/adlint_pinit.h +1 -1
  316. data/share/sample/ruby-1.9.3-p0/adlint/ext-racc-cparse/adlint_traits.yml +50 -42
  317. data/share/sample/ruby-1.9.3-p0/adlint/ext-readline/GNUmakefile +1 -1
  318. data/share/sample/ruby-1.9.3-p0/adlint/ext-readline/adlint_cinit.h +1 -1
  319. data/share/sample/ruby-1.9.3-p0/adlint/ext-readline/adlint_pinit.h +1 -1
  320. data/share/sample/ruby-1.9.3-p0/adlint/ext-readline/adlint_traits.yml +50 -42
  321. data/share/sample/ruby-1.9.3-p0/adlint/ext-ripper/GNUmakefile +1 -1
  322. data/share/sample/ruby-1.9.3-p0/adlint/ext-ripper/adlint_cinit.h +1 -1
  323. data/share/sample/ruby-1.9.3-p0/adlint/ext-ripper/adlint_pinit.h +1 -1
  324. data/share/sample/ruby-1.9.3-p0/adlint/ext-ripper/adlint_traits.yml +50 -42
  325. data/share/sample/ruby-1.9.3-p0/adlint/ext-sdbm/GNUmakefile +1 -1
  326. data/share/sample/ruby-1.9.3-p0/adlint/ext-sdbm/adlint_cinit.h +1 -1
  327. data/share/sample/ruby-1.9.3-p0/adlint/ext-sdbm/adlint_pinit.h +1 -1
  328. data/share/sample/ruby-1.9.3-p0/adlint/ext-sdbm/adlint_traits.yml +50 -42
  329. data/share/sample/ruby-1.9.3-p0/adlint/ext-socket/GNUmakefile +1 -1
  330. data/share/sample/ruby-1.9.3-p0/adlint/ext-socket/adlint_cinit.h +1 -1
  331. data/share/sample/ruby-1.9.3-p0/adlint/ext-socket/adlint_pinit.h +1 -1
  332. data/share/sample/ruby-1.9.3-p0/adlint/ext-socket/adlint_traits.yml +50 -42
  333. data/share/sample/ruby-1.9.3-p0/adlint/ext-stringio/GNUmakefile +1 -1
  334. data/share/sample/ruby-1.9.3-p0/adlint/ext-stringio/adlint_cinit.h +1 -1
  335. data/share/sample/ruby-1.9.3-p0/adlint/ext-stringio/adlint_pinit.h +1 -1
  336. data/share/sample/ruby-1.9.3-p0/adlint/ext-stringio/adlint_traits.yml +50 -42
  337. data/share/sample/ruby-1.9.3-p0/adlint/ext-strscan/GNUmakefile +1 -1
  338. data/share/sample/ruby-1.9.3-p0/adlint/ext-strscan/adlint_cinit.h +1 -1
  339. data/share/sample/ruby-1.9.3-p0/adlint/ext-strscan/adlint_pinit.h +1 -1
  340. data/share/sample/ruby-1.9.3-p0/adlint/ext-strscan/adlint_traits.yml +50 -42
  341. data/share/sample/ruby-1.9.3-p0/adlint/ext-syck/GNUmakefile +1 -1
  342. data/share/sample/ruby-1.9.3-p0/adlint/ext-syck/adlint_cinit.h +1 -1
  343. data/share/sample/ruby-1.9.3-p0/adlint/ext-syck/adlint_pinit.h +1 -1
  344. data/share/sample/ruby-1.9.3-p0/adlint/ext-syck/adlint_traits.yml +50 -42
  345. data/share/sample/ruby-1.9.3-p0/adlint/ext-syslog/GNUmakefile +1 -1
  346. data/share/sample/ruby-1.9.3-p0/adlint/ext-syslog/adlint_cinit.h +1 -1
  347. data/share/sample/ruby-1.9.3-p0/adlint/ext-syslog/adlint_pinit.h +1 -1
  348. data/share/sample/ruby-1.9.3-p0/adlint/ext-syslog/adlint_traits.yml +50 -42
  349. data/share/sample/ruby-1.9.3-p0/adlint/ext-zlib/GNUmakefile +1 -1
  350. data/share/sample/ruby-1.9.3-p0/adlint/ext-zlib/adlint_cinit.h +1 -1
  351. data/share/sample/ruby-1.9.3-p0/adlint/ext-zlib/adlint_pinit.h +1 -1
  352. data/share/sample/ruby-1.9.3-p0/adlint/ext-zlib/adlint_traits.yml +50 -42
  353. data/share/sample/screen-4.0.3/adlint/GNUmakefile +1 -1
  354. data/share/sample/screen-4.0.3/adlint/adlint_cinit.h +1 -1
  355. data/share/sample/screen-4.0.3/adlint/adlint_pinit.h +1 -1
  356. data/share/sample/screen-4.0.3/adlint/adlint_traits.yml +50 -42
  357. data/share/sample/vim-7.3/adlint/vim/GNUmakefile +1 -1
  358. data/share/sample/vim-7.3/adlint/vim/adlint_cinit.h +1 -1
  359. data/share/sample/vim-7.3/adlint/vim/adlint_pinit.h +1 -1
  360. data/share/sample/vim-7.3/adlint/vim/adlint_traits.yml +50 -42
  361. data/share/sample/vim-7.3/adlint/xxd/GNUmakefile +1 -1
  362. data/share/sample/vim-7.3/adlint/xxd/adlint_cinit.h +1 -1
  363. data/share/sample/vim-7.3/adlint/xxd/adlint_pinit.h +1 -1
  364. data/share/sample/vim-7.3/adlint/xxd/adlint_traits.yml +49 -41
  365. data/share/sample/zsh-4.3.15/adlint/GNUmakefile +1 -1
  366. data/share/sample/zsh-4.3.15/adlint/adlint_traits.yml +46 -38
  367. data/share/sample/zsh-4.3.15/adlint/builtins/GNUmakefile +1 -1
  368. data/share/sample/zsh-4.3.15/adlint/builtins/adlint_cinit.h +1 -1
  369. data/share/sample/zsh-4.3.15/adlint/builtins/adlint_pinit.h +1 -1
  370. data/share/sample/zsh-4.3.15/adlint/builtins/adlint_traits.yml +50 -42
  371. data/share/sample/zsh-4.3.15/adlint/core/GNUmakefile +1 -1
  372. data/share/sample/zsh-4.3.15/adlint/core/adlint_cinit.h +1 -1
  373. data/share/sample/zsh-4.3.15/adlint/core/adlint_pinit.h +1 -1
  374. data/share/sample/zsh-4.3.15/adlint/core/adlint_traits.yml +50 -42
  375. data/share/sample/zsh-4.3.15/adlint/modules/GNUmakefile +1 -1
  376. data/share/sample/zsh-4.3.15/adlint/modules/adlint_cinit.h +1 -1
  377. data/share/sample/zsh-4.3.15/adlint/modules/adlint_pinit.h +1 -1
  378. data/share/sample/zsh-4.3.15/adlint/modules/adlint_traits.yml +50 -42
  379. data/share/sample/zsh-4.3.15/adlint/zle/GNUmakefile +1 -1
  380. data/share/sample/zsh-4.3.15/adlint/zle/adlint_cinit.h +1 -1
  381. data/share/sample/zsh-4.3.15/adlint/zle/adlint_pinit.h +1 -1
  382. data/share/sample/zsh-4.3.15/adlint/zle/adlint_traits.yml +50 -42
  383. data/spec/adlint/{c → cc1}/ctrlexpr_spec.rb +51 -49
  384. data/spec/adlint/{c → cc1}/domain_spec.rb +210 -179
  385. data/spec/adlint/{c → cc1}/operator_spec.rb +3 -3
  386. data/spec/adlint/{c → cc1}/syntax_spec.rb +10 -12
  387. data/spec/adlint/{c → cc1}/type_spec.rb +61 -68
  388. data/{lib/adlint/c.rb → spec/adlint/location_spec.rb} +24 -29
  389. data/spec/conf.d/default_traits.yml +38 -37
  390. data/spec/conf.d/empty_cinit.h +1 -1
  391. data/spec/conf.d/empty_pinit.h +1 -1
  392. data/spec/conf.d/project/foo.c +0 -0
  393. data/spec/spec_helper.rb +2 -2
  394. metadata +60 -40
  395. data/lib/adlint/c/domain.rb +0 -7931
  396. data/lib/adlint/c/lexer.rb +0 -252
  397. data/lib/adlint/c/phase.rb +0 -135
  398. data/lib/adlint/exam/c_builtin/c_check.rb +0 -20745
  399. data/lib/adlint/exam/c_builtin/c_check_shima.rb +0 -983
  400. data/lib/adlint/exam/c_builtin/c_code.rb +0 -477
  401. data/lib/adlint/exam/c_builtin/c_metric.rb +0 -818
@@ -1,7 +1,7 @@
1
1
  # Builtin functions actually called by the interpreter.
2
2
  #
3
3
  # Author:: Yutaka Yanoh <mailto:yanoh@users.sourceforge.net>
4
- # Copyright:: Copyright (C) 2010-2012, OGIS-RI Co.,Ltd.
4
+ # Copyright:: Copyright (C) 2010-2013, OGIS-RI Co.,Ltd.
5
5
  # License:: GPLv3+: GNU General Public License version 3 or later
6
6
  #
7
7
  # Owner:: Yutaka Yanoh <mailto:yanoh@users.sourceforge.net>
@@ -11,7 +11,7 @@
11
11
  # / | / _ |/ / / / | / /__ __/ Source Code Static Analyzer
12
12
  # / /| | / / / / / / / |/ / / / AdLint - Advanced Lint
13
13
  # / __ |/ /_/ / /___/ / /| / / /
14
- # /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2012, OGIS-RI Co.,Ltd.
14
+ # /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2013, OGIS-RI Co.,Ltd.
15
15
  #
16
16
  # This file is part of AdLint.
17
17
  #
@@ -29,15 +29,15 @@
29
29
  #
30
30
  #++
31
31
 
32
- require "adlint/c/type"
33
- require "adlint/c/object"
32
+ require "adlint/cc1/type"
33
+ require "adlint/cc1/object"
34
34
 
35
35
  module AdLint #:nodoc:
36
- module C #:nodoc:
36
+ module Cc1 #:nodoc:
37
37
 
38
38
  class BuiltinFunction < NamedFunction
39
- def initialize(type_table, name)
40
- super(nil, type_table.builtin_function_type, name)
39
+ def initialize(type_tbl, name)
40
+ super(nil, type_tbl.builtin_function_type, name)
41
41
  end
42
42
 
43
43
  def explicit?
@@ -48,17 +48,17 @@ module C #:nodoc:
48
48
  true
49
49
  end
50
50
 
51
- def call(interpreter, funcall_expr, args)
52
- interpreter.create_tempvar(type.return_type)
51
+ def call(interp, funcall_expr, args)
52
+ interp.create_tmpvar(type.return_type)
53
53
  end
54
54
  end
55
55
 
56
56
  class InspectFunction < BuiltinFunction
57
- def initialize(type_table)
58
- super(type_table, "__adlint__inspect")
57
+ def initialize(type_tbl)
58
+ super(type_tbl, "__adlint__inspect")
59
59
  end
60
60
 
61
- def call(interpreter, funcall_expr, args)
61
+ def call(*, args)
62
62
  puts "__adlint__inspect"
63
63
  args.each { |arg, expr| pp arg }
64
64
  puts "EOM"
@@ -67,20 +67,20 @@ module C #:nodoc:
67
67
  end
68
68
 
69
69
  class EvalFunction < BuiltinFunction
70
- def initialize(type_table)
71
- super(type_table, "__adlint__eval")
70
+ def initialize(type_tbl)
71
+ super(type_tbl, "__adlint__eval")
72
72
  end
73
73
 
74
- def call(interpreter, funcall_expr, args)
74
+ def call(interp, *, args)
75
75
  puts "__adlint__eval"
76
- char_array = interpreter.pointee_of(args.first.first)
77
- if char_array && char_array.type.array?
78
- without_nil = char_array.value.to_single_value.values[0..-2]
79
- program_text = without_nil.map { |char| char.unique_sample.chr }.join
80
- if program_text.empty?
76
+ char_ary = interp.pointee_of(args.first.first)
77
+ if char_ary && char_ary.type.array?
78
+ without_nil = char_ary.value.to_single_value.values[0..-2]
79
+ prog_text = without_nil.map { |char| char.unique_sample.chr }.join
80
+ if prog_text.empty?
81
81
  puts "no program text"
82
82
  else
83
- eval program_text
83
+ eval prog_text
84
84
  end
85
85
  puts "EOM"
86
86
  end
@@ -1,7 +1,7 @@
1
1
  # C constant-expression evaluator.
2
2
  #
3
3
  # Author:: Yutaka Yanoh <mailto:yanoh@users.sourceforge.net>
4
- # Copyright:: Copyright (C) 2010-2012, OGIS-RI Co.,Ltd.
4
+ # Copyright:: Copyright (C) 2010-2013, OGIS-RI Co.,Ltd.
5
5
  # License:: GPLv3+: GNU General Public License version 3 or later
6
6
  #
7
7
  # Owner:: Yutaka Yanoh <mailto:yanoh@users.sourceforge.net>
@@ -11,7 +11,7 @@
11
11
  # / | / _ |/ / / / | / /__ __/ Source Code Static Analyzer
12
12
  # / /| | / / / / / / / |/ / / / AdLint - Advanced Lint
13
13
  # / __ |/ /_/ / /___/ / /| / / /
14
- # /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2012, OGIS-RI Co.,Ltd.
14
+ # /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2013, OGIS-RI Co.,Ltd.
15
15
  #
16
16
  # This file is part of AdLint.
17
17
  #
@@ -29,20 +29,22 @@
29
29
  #
30
30
  #++
31
31
 
32
+ require "adlint/traits"
33
+
32
34
  module AdLint #:nodoc:
33
- module C #:nodoc:
35
+ module Cc1 #:nodoc:
34
36
 
35
37
  module ConstantEvaluator
36
38
  # NOTE: Host class of this module must include InterpreterMediator.
37
39
 
38
- def eval_constant(constant_specifier)
39
- eval_as_integer_constant(constant_specifier.constant.value) or
40
- eval_as_floating_constant(constant_specifier.constant.value) or
41
- eval_as_character_constant(constant_specifier.constant.value)
40
+ def eval_constant(const_spec)
41
+ eval_as_integer_constant(const_spec.constant.value) or
42
+ eval_as_floating_constant(const_spec.constant.value) or
43
+ eval_as_character_constant(const_spec.constant.value)
42
44
  end
43
45
 
44
46
  private
45
- def eval_as_integer_constant(value)
47
+ def eval_as_integer_constant(str)
46
48
  # NOTE: The ISO C99 standard says;
47
49
  #
48
50
  # 6.4.4.1 Integer constants
@@ -78,7 +80,7 @@ module C #:nodoc:
78
80
  # ll or LL | |
79
81
 
80
82
  # NOTE: For binary constants.
81
- case value
83
+ case str
82
84
  when /\A0b([01]+)(?:ULL|LLU)\z/i
83
85
  return eval_as_non_decimal_integer_constant_with_ull($1.to_i(2))
84
86
  when /\A0b([01]+)LL\z/i
@@ -94,7 +96,7 @@ module C #:nodoc:
94
96
  end
95
97
 
96
98
  # NOTE: For octal constants.
97
- case value
99
+ case str
98
100
  when /\A0([0-9]+)(?:ULL|LLU)\z/i
99
101
  return eval_as_non_decimal_integer_constant_with_ull($1.to_i(8))
100
102
  when /\A0([0-9]+)LL\z/i
@@ -110,7 +112,7 @@ module C #:nodoc:
110
112
  end
111
113
 
112
114
  # NOTE: For decimal constants.
113
- case value
115
+ case str
114
116
  when /\A([0-9]+)(?:ULL|LLU)\z/i
115
117
  return eval_as_decimal_integer_constant_with_ull($1.to_i(10))
116
118
  when /\A([0-9]+)LL\z/i
@@ -126,7 +128,7 @@ module C #:nodoc:
126
128
  end
127
129
 
128
130
  # NOTE: For hexadecimal constants.
129
- case value
131
+ case str
130
132
  when /\A0x([0-9A-F]+)(?:ULL|LLU)\z/i
131
133
  return eval_as_non_decimal_integer_constant_with_ull($1.to_i(16))
132
134
  when /\A0x([0-9A-F]+)LL\z/i
@@ -144,27 +146,27 @@ module C #:nodoc:
144
146
  nil
145
147
  end
146
148
 
147
- def eval_as_floating_constant(value)
149
+ def eval_as_floating_constant(str)
148
150
  # TODO: Must implement hexadecimal-floating-constant evaluation.
149
- case value
151
+ case str
150
152
  when /\A([0-9]*\.[0-9]*E[+-]?[0-9]+)\z/i,
151
153
  /\A([0-9]+\.?E[+-]?[0-9]+)\z/i,
152
154
  /\A([0-9]*\.[0-9]+|[0-9]+\.)\z/
153
- return create_tempvar(double_type, ScalarValue.of($1.to_f))
155
+ return create_tmpvar(double_t, scalar_value_of($1.to_f))
154
156
  when /\A([0-9]*\.[0-9]*E[+-]?[0-9]+)F\z/i,
155
157
  /\A([0-9]+\.?E[+-]?[0-9]+)F\z/i,
156
158
  /\A([0-9]*\.[0-9]+|[0-9]+\.)F\z/i
157
- return create_tempvar(float_type, ScalarValue.of($1.to_f))
159
+ return create_tmpvar(float_t, scalar_value_of($1.to_f))
158
160
  when /\A([0-9]*\.[0-9]*E[+-]?[0-9]+)L\z/i,
159
161
  /\A([0-9]+\.?E[+-]?[0-9]+)L\z/i,
160
162
  /\A([0-9]*\.[0-9]+|[0-9]+\.)L\z/i
161
- return create_tempvar(long_double_type, ScalarValue.of($1.to_f))
163
+ return create_tmpvar(long_double_t, scalar_value_of($1.to_f))
162
164
  end
163
165
  nil
164
166
  end
165
167
 
166
- def eval_as_character_constant(value)
167
- if value =~ /\A(L?)'(.*)'\z/i
168
+ def eval_as_character_constant(str)
169
+ if str =~ /\A(L?)'(.*)'\z/i
168
170
  case $2.length
169
171
  when 0
170
172
  char_code = 0
@@ -175,23 +177,23 @@ module C #:nodoc:
175
177
  end
176
178
 
177
179
  if $1 == "L"
178
- create_tempvar(wchar_type, ScalarValue.of(char_code))
180
+ create_tmpvar(wchar_t, scalar_value_of(char_code))
179
181
  else
180
- create_tempvar(int_type, ScalarValue.of(char_code))
182
+ create_tmpvar(int_t, scalar_value_of(char_code))
181
183
  end
182
184
  else
183
185
  nil
184
186
  end
185
187
  end
186
188
 
187
- def eval_as_decimal_integer_constant_unsuffixed(value)
189
+ def eval_as_decimal_integer_constant_unsuffixed(i)
188
190
  case
189
- when int_value_range.include?(value)
190
- create_tempvar(int_type, ScalarValue.of(value))
191
- when long_int_value_range.include?(value)
192
- create_tempvar(long_int_type, ScalarValue.of(value))
193
- when long_long_int_value_range.include?(value)
194
- create_tempvar(long_long_int_type, ScalarValue.of(value))
191
+ when int_range.include?(i)
192
+ create_tmpvar(int_t, scalar_value_of(i))
193
+ when long_int_range.include?(i)
194
+ create_tmpvar(long_int_t, scalar_value_of(i))
195
+ when long_long_int_range.include?(i)
196
+ create_tmpvar(long_long_int_t, scalar_value_of(i))
195
197
  else
196
198
  # NOTE: The ISO C99 standard says;
197
199
  #
@@ -202,18 +204,18 @@ module C #:nodoc:
202
204
  # has no type.
203
205
  #
204
206
  # NOTE: Use ExtendedBigIntType for unrepresentable integer constants.
205
- create_tempvar(extended_big_int_type, ScalarValue.of(value))
207
+ create_tmpvar(extended_big_int_t, scalar_value_of(i))
206
208
  end
207
209
  end
208
210
 
209
- def eval_as_decimal_integer_constant_with_u(value)
211
+ def eval_as_decimal_integer_constant_with_u(i)
210
212
  case
211
- when unsigned_int_value_range.include?(value)
212
- create_tempvar(unsigned_int_type, ScalarValue.of(value))
213
- when unsigned_long_int_value_range.include?(value)
214
- create_tempvar(unsigned_long_int_type, ScalarValue.of(value))
215
- when unsigned_long_long_int_value_range.include?(value)
216
- create_tempvar(unsigned_long_long_int_type, ScalarValue.of(value))
213
+ when unsigned_int_range.include?(i)
214
+ create_tmpvar(unsigned_int_t, scalar_value_of(i))
215
+ when unsigned_long_int_range.include?(i)
216
+ create_tmpvar(unsigned_long_int_t, scalar_value_of(i))
217
+ when unsigned_long_long_int_range.include?(i)
218
+ create_tmpvar(unsigned_long_long_int_t, scalar_value_of(i))
217
219
  else
218
220
  # NOTE: The ISO C99 standard says;
219
221
  #
@@ -224,16 +226,16 @@ module C #:nodoc:
224
226
  # has no type.
225
227
  #
226
228
  # NOTE: Use ExtendedBigIntType for unrepresentable integer constants.
227
- create_tempvar(extended_big_int_type, ScalarValue.of(value))
229
+ create_tmpvar(extended_big_int_t, scalar_value_of(i))
228
230
  end
229
231
  end
230
232
 
231
- def eval_as_decimal_integer_constant_with_l(value)
233
+ def eval_as_decimal_integer_constant_with_l(i)
232
234
  case
233
- when long_int_value_range.include?(value)
234
- create_tempvar(long_int_type, ScalarValue.of(value))
235
- when long_long_int_value_range.include?(value)
236
- create_tempvar(long_long_int_type, ScalarValue.of(value))
235
+ when long_int_range.include?(i)
236
+ create_tmpvar(long_int_t, scalar_value_of(i))
237
+ when long_long_int_range.include?(i)
238
+ create_tmpvar(long_long_int_t, scalar_value_of(i))
237
239
  else
238
240
  # NOTE: The ISO C99 standard says;
239
241
  #
@@ -244,16 +246,16 @@ module C #:nodoc:
244
246
  # has no type.
245
247
  #
246
248
  # NOTE: Use ExtendedBigIntType for unrepresentable integer constants.
247
- create_tempvar(extended_big_int_type, ScalarValue.of(value))
249
+ create_tmpvar(extended_big_int_t, scalar_value_of(i))
248
250
  end
249
251
  end
250
252
 
251
- def eval_as_decimal_integer_constant_with_ul(value)
253
+ def eval_as_decimal_integer_constant_with_ul(i)
252
254
  case
253
- when unsigned_long_int_value_range.include?(value)
254
- create_tempvar(unsigned_long_int_type, ScalarValue.of(value))
255
- when unsigned_long_long_int_value_range.include?(value)
256
- create_tempvar(unsigned_long_long_int_type, ScalarValue.of(value))
255
+ when unsigned_long_int_range.include?(i)
256
+ create_tmpvar(unsigned_long_int_t, scalar_value_of(i))
257
+ when unsigned_long_long_int_range.include?(i)
258
+ create_tmpvar(unsigned_long_long_int_t, scalar_value_of(i))
257
259
  else
258
260
  # NOTE: The ISO C99 standard says;
259
261
  #
@@ -264,14 +266,14 @@ module C #:nodoc:
264
266
  # has no type.
265
267
  #
266
268
  # NOTE: Use ExtendedBigIntType for unrepresentable integer constants.
267
- create_tempvar(extended_big_int_type, ScalarValue.of(value))
269
+ create_tmpvar(extended_big_int_t, scalar_value_of(i))
268
270
  end
269
271
  end
270
272
 
271
- def eval_as_decimal_integer_constant_with_ll(value)
273
+ def eval_as_decimal_integer_constant_with_ll(i)
272
274
  case
273
- when long_long_int_value_range.include?(value)
274
- create_tempvar(long_long_int_type, ScalarValue.of(value))
275
+ when long_long_int_range.include?(i)
276
+ create_tmpvar(long_long_int_t, scalar_value_of(i))
275
277
  else
276
278
  # NOTE: The ISO C99 standard says;
277
279
  #
@@ -282,14 +284,14 @@ module C #:nodoc:
282
284
  # has no type.
283
285
  #
284
286
  # NOTE: Use ExtendedBigIntType for unrepresentable integer constants.
285
- create_tempvar(extended_big_int_type, ScalarValue.of(value))
287
+ create_tmpvar(extended_big_int_t, scalar_value_of(i))
286
288
  end
287
289
  end
288
290
 
289
- def eval_as_decimal_integer_constant_with_ull(value)
291
+ def eval_as_decimal_integer_constant_with_ull(i)
290
292
  case
291
- when unsigned_long_long_int_value_range.include?(value)
292
- create_tempvar(unsigned_long_long_int_type, ScalarValue.of(value))
293
+ when unsigned_long_long_int_range.include?(i)
294
+ create_tmpvar(unsigned_long_long_int_t, scalar_value_of(i))
293
295
  else
294
296
  # NOTE: The ISO C99 standard says;
295
297
  #
@@ -300,24 +302,24 @@ module C #:nodoc:
300
302
  # has no type.
301
303
  #
302
304
  # NOTE: Use ExtendedBigIntType for unrepresentable integer constants.
303
- create_tempvar(extended_big_int_type, ScalarValue.of(value))
305
+ create_tmpvar(extended_big_int_t, scalar_value_of(i))
304
306
  end
305
307
  end
306
308
 
307
- def eval_as_non_decimal_integer_constant_unsuffixed(value)
309
+ def eval_as_non_decimal_integer_constant_unsuffixed(i)
308
310
  case
309
- when int_value_range.include?(value)
310
- create_tempvar(int_type, ScalarValue.of(value))
311
- when unsigned_int_value_range.include?(value)
312
- create_tempvar(unsigned_int_type, ScalarValue.of(value))
313
- when long_int_value_range.include?(value)
314
- create_tempvar(long_int_type, ScalarValue.of(value))
315
- when unsigned_long_int_value_range.include?(value)
316
- create_tempvar(unsigned_long_int_type, ScalarValue.of(value))
317
- when long_long_int_value_range.include?(value)
318
- create_tempvar(long_long_int_type, ScalarValue.of(value))
319
- when unsigned_long_long_int_value_range.include?(value)
320
- create_tempvar(unsigned_long_long_int_type, ScalarValue.of(value))
311
+ when int_range.include?(i)
312
+ create_tmpvar(int_t, scalar_value_of(i))
313
+ when unsigned_int_range.include?(i)
314
+ create_tmpvar(unsigned_int_t, scalar_value_of(i))
315
+ when long_int_range.include?(i)
316
+ create_tmpvar(long_int_t, scalar_value_of(i))
317
+ when unsigned_long_int_range.include?(i)
318
+ create_tmpvar(unsigned_long_int_t, scalar_value_of(i))
319
+ when long_long_int_range.include?(i)
320
+ create_tmpvar(long_long_int_t, scalar_value_of(i))
321
+ when unsigned_long_long_int_range.include?(i)
322
+ create_tmpvar(unsigned_long_long_int_t, scalar_value_of(i))
321
323
  else
322
324
  # NOTE: The ISO C99 standard says;
323
325
  #
@@ -328,18 +330,18 @@ module C #:nodoc:
328
330
  # has no type.
329
331
  #
330
332
  # NOTE: Use ExtendedBigIntType for unrepresentable integer constants.
331
- create_tempvar(extended_big_int_type, ScalarValue.of(value))
333
+ create_tmpvar(extended_big_int_t, scalar_value_of(i))
332
334
  end
333
335
  end
334
336
 
335
- def eval_as_non_decimal_integer_constant_with_u(value)
337
+ def eval_as_non_decimal_integer_constant_with_u(i)
336
338
  case
337
- when unsigned_int_value_range.include?(value)
338
- create_tempvar(unsigned_int_type, ScalarValue.of(value))
339
- when unsigned_long_int_value_range.include?(value)
340
- create_tempvar(unsigned_long_int_type, ScalarValue.of(value))
341
- when unsigned_long_long_int_value_range.include?(value)
342
- create_tempvar(unsigned_long_long_int_type, ScalarValue.of(value))
339
+ when unsigned_int_range.include?(i)
340
+ create_tmpvar(unsigned_int_t, scalar_value_of(i))
341
+ when unsigned_long_int_range.include?(i)
342
+ create_tmpvar(unsigned_long_int_t, scalar_value_of(i))
343
+ when unsigned_long_long_int_range.include?(i)
344
+ create_tmpvar(unsigned_long_long_int_t, scalar_value_of(i))
343
345
  else
344
346
  # NOTE: The ISO C99 standard says;
345
347
  #
@@ -350,20 +352,20 @@ module C #:nodoc:
350
352
  # has no type.
351
353
  #
352
354
  # NOTE: Use ExtendedBigIntType for unrepresentable integer constants.
353
- create_tempvar(extended_big_int_type, ScalarValue.of(value))
355
+ create_tmpvar(extended_big_int_t, scalar_value_of(i))
354
356
  end
355
357
  end
356
358
 
357
- def eval_as_non_decimal_integer_constant_with_l(value)
359
+ def eval_as_non_decimal_integer_constant_with_l(i)
358
360
  case
359
- when long_int_value_range.include?(value)
360
- create_tempvar(long_int_type, ScalarValue.of(value))
361
- when unsigned_long_int_value_range.include?(value)
362
- create_tempvar(unsigned_long_int_type, ScalarValue.of(value))
363
- when long_long_int_value_range.include?(value)
364
- create_tempvar(long_long_int_type, ScalarValue.of(value))
365
- when unsigned_long_long_int_value_range.include?(value)
366
- create_tempvar(unsigned_long_long_int_type, ScalarValue.of(value))
361
+ when long_int_range.include?(i)
362
+ create_tmpvar(long_int_t, scalar_value_of(i))
363
+ when unsigned_long_int_range.include?(i)
364
+ create_tmpvar(unsigned_long_int_t, scalar_value_of(i))
365
+ when long_long_int_range.include?(i)
366
+ create_tmpvar(long_long_int_t, scalar_value_of(i))
367
+ when unsigned_long_long_int_range.include?(i)
368
+ create_tmpvar(unsigned_long_long_int_t, scalar_value_of(i))
367
369
  else
368
370
  # NOTE: The ISO C99 standard says;
369
371
  #
@@ -374,16 +376,16 @@ module C #:nodoc:
374
376
  # has no type.
375
377
  #
376
378
  # NOTE: Use ExtendedBigIntType for unrepresentable integer constants.
377
- create_tempvar(extended_big_int_type, ScalarValue.of(value))
379
+ create_tmpvar(extended_big_int_t, scalar_value_of(i))
378
380
  end
379
381
  end
380
382
 
381
- def eval_as_non_decimal_integer_constant_with_ul(value)
383
+ def eval_as_non_decimal_integer_constant_with_ul(i)
382
384
  case
383
- when unsigned_long_int_value_range.include?(value)
384
- create_tempvar(unsigned_long_int_type, ScalarValue.of(value))
385
- when unsigned_long_long_int_value_range.include?(value)
386
- create_tempvar(unsigned_long_long_int_type, ScalarValue.of(value))
385
+ when unsigned_long_int_range.include?(i)
386
+ create_tmpvar(unsigned_long_int_t, scalar_value_of(i))
387
+ when unsigned_long_long_int_range.include?(i)
388
+ create_tmpvar(unsigned_long_long_int_t, scalar_value_of(i))
387
389
  else
388
390
  # NOTE: The ISO C99 standard says;
389
391
  #
@@ -394,16 +396,16 @@ module C #:nodoc:
394
396
  # has no type.
395
397
  #
396
398
  # NOTE: Use ExtendedBigIntType for unrepresentable integer constants.
397
- create_tempvar(extended_big_int_type, ScalarValue.of(value))
399
+ create_tmpvar(extended_big_int_t, scalar_value_of(i))
398
400
  end
399
401
  end
400
402
 
401
- def eval_as_non_decimal_integer_constant_with_ll(value)
403
+ def eval_as_non_decimal_integer_constant_with_ll(i)
402
404
  case
403
- when long_long_int_value_range.include?(value)
404
- create_tempvar(long_long_int_type, ScalarValue.of(value))
405
- when unsigned_long_long_int_value_range.include?(value)
406
- create_tempvar(unsigned_long_long_int_type, ScalarValue.of(value))
405
+ when long_long_int_range.include?(i)
406
+ create_tmpvar(long_long_int_t, scalar_value_of(i))
407
+ when unsigned_long_long_int_range.include?(i)
408
+ create_tmpvar(unsigned_long_long_int_t, scalar_value_of(i))
407
409
  else
408
410
  # NOTE: The ISO C99 standard says;
409
411
  #
@@ -414,14 +416,14 @@ module C #:nodoc:
414
416
  # has no type.
415
417
  #
416
418
  # NOTE: Use ExtendedBigIntType for unrepresentable integer constants.
417
- create_tempvar(extended_big_int_type, ScalarValue.of(value))
419
+ create_tmpvar(extended_big_int_t, scalar_value_of(i))
418
420
  end
419
421
  end
420
422
 
421
- def eval_as_non_decimal_integer_constant_with_ull(value)
423
+ def eval_as_non_decimal_integer_constant_with_ull(i)
422
424
  case
423
- when unsigned_long_long_int_value_range.include?(value)
424
- create_tempvar(unsigned_long_long_int_type, ScalarValue.of(value))
425
+ when unsigned_long_long_int_range.include?(i)
426
+ create_tmpvar(unsigned_long_long_int_t, scalar_value_of(i))
425
427
  else
426
428
  # NOTE: The ISO C99 standard says;
427
429
  #
@@ -432,32 +434,32 @@ module C #:nodoc:
432
434
  # has no type.
433
435
  #
434
436
  # NOTE: Use ExtendedBigIntType for unrepresentable integer constants.
435
- create_tempvar(extended_big_int_type, ScalarValue.of(value))
437
+ create_tmpvar(extended_big_int_t, scalar_value_of(i))
436
438
  end
437
439
  end
438
440
 
439
- def int_value_range
440
- int_type.min_value..int_type.max_value
441
+ def int_range
442
+ int_t.min..int_t.max
441
443
  end
442
444
 
443
- def long_int_value_range
444
- long_int_type.min_value..long_int_type.max_value
445
+ def long_int_range
446
+ long_int_t.min..long_int_t.max
445
447
  end
446
448
 
447
- def long_long_int_value_range
448
- long_long_int_type.min_value..long_long_int_type.max_value
449
+ def long_long_int_range
450
+ long_long_int_t.min..long_long_int_t.max
449
451
  end
450
452
 
451
- def unsigned_int_value_range
452
- unsigned_int_type.min_value..unsigned_int_type.max_value
453
+ def unsigned_int_range
454
+ unsigned_int_t.min..unsigned_int_t.max
453
455
  end
454
456
 
455
- def unsigned_long_int_value_range
456
- unsigned_long_int_type.min_value..unsigned_long_int_type.max_value
457
+ def unsigned_long_int_range
458
+ unsigned_long_int_t.min..unsigned_long_int_t.max
457
459
  end
458
460
 
459
- def unsigned_long_long_int_value_range
460
- unsigned_long_long_type.min_value..unsigned_long_long_type.max_value
461
+ def unsigned_long_long_int_range
462
+ unsigned_long_long_t.min..unsigned_long_long_t.max
461
463
  end
462
464
  end
463
465