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
data/AUTHORS CHANGED
@@ -3,7 +3,7 @@
3
3
  / | / _ |/ / / / | / /__ __/ Source Code Static Analyzer
4
4
  / /| | / / / / / / / |/ / / / AdLint - Advanced Lint
5
5
  / __ |/ /_/ / /___/ / /| / / /
6
- /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2012, OGIS-RI Co.,Ltd.
6
+ /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2013, OGIS-RI Co.,Ltd.
7
7
 
8
8
  This file is part of AdLint.
9
9
 
@@ -21,7 +21,5 @@
21
21
 
22
22
  ++
23
23
 
24
- === Authors
25
-
26
24
  * Yutaka Yanoh <mailto:yanoh@users.sourceforge.net>
27
25
  * Rie Shima <mailto:rkakuuchi@users.sourceforge.net>
data/ChangeLog CHANGED
@@ -1,3 +1,514 @@
1
+ Tue Mar 26 17:01:16 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
2
+
3
+ * release.ga : 3.0.0
4
+ - Support pathname based code-exam selection.
5
+ - Improve performance of code-exams.
6
+ - Add ad-hoc traits schema migration for 3.0.0 release.
7
+ - Support message-class based code-check selection.
8
+ - Support annotation based message suppression.
9
+ - Fix traits object freezing in order not to over-freeze memoizing
10
+ objects.
11
+ - Rename `individual_selection' item in the traits file to
12
+ `individual_suppression'.
13
+ - Fix sma-time annotation parser in order to correctly evaluate
14
+ suppression specifiers including new-line characters.
15
+ - Fix cma-time annotation parser in order to correctly evaluate
16
+ suppression specifiers including new-line characters.
17
+ - Fix cma-time annotation parser in order to handle the location of
18
+ each annotation correctly.
19
+ - Add new field indicates whether the function is declared implicitly
20
+ or explicitly to DCL(F) record of the metrics file.
21
+ - Fix bad output validation that lines of the analysis result is
22
+ fewer than one of the specification.
23
+ - Add missing function reference notification after insertion of the
24
+ implicit function declaration.
25
+ - Fix missing function-call notification problem of the
26
+ control-breaking standard library functions such as exit(3).
27
+ - Fix W1063 code check in order to warn when the function returns
28
+ value of non-constant inconsistent enum-typed expression.
29
+ - Fix W1062 code check in order to warn when an enum type of the rhs
30
+ operand is not consistent to one of the lhs operand.
31
+ - Fix W1061 code check in order to warn when an enum type of the
32
+ argument expression is not consistent to one of the corresponding
33
+ parameter.
34
+ - Fix W0023 code check in order to warn only when the pointer operand
35
+ appears in an arithmetic expressions.
36
+ - Improve library interface to support concurrent analysis.
37
+ - Fix missing literal_prefix of LIT record for the octal-constant.
38
+ - Improve library interface not to use thread local storage in the
39
+ library core.
40
+ - Rename AdLint::C namespace to AdLint::Cc1 in order to distinguish
41
+ `c' as a language and `cc1' as a analysis phase.
42
+ - Add missing reference notification of the controlling expression
43
+ value in switch-statement.
44
+ - Fix fall-through logic of switch-statement in order to work
45
+ correctly with consecutive case and default labels.
46
+ - Fix normalized controlling-expression derivation logic of
47
+ switch-statement's case and default clause in order to work
48
+ correctly with consecutive case and default labels.
49
+ - Fix W0003 code check not to misunderstand that the switch-statement
50
+ has no default clause when the switch-statement contains
51
+ consecutive case and default labels.
52
+ - Fix switch-statement evaluation in order to correctly fall-through
53
+ when the switch-statement has consecutive case labels.
54
+ - Fix bad value domain management in order to correctly thin a value
55
+ domain of the terminating execution path.
56
+
57
+ Tue Mar 23 19:21:08 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
58
+
59
+ * release.rc : 2.7.11
60
+ - Fix bad value domain management in order to correctly thin a value
61
+ domain of the terminating execution path.
62
+
63
+ Tue Mar 22 21:19:43 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
64
+
65
+ * lib/adlint/cc1/interp.rb : Fix bad value domain management in order
66
+ to correctly thin a value domain of the terminating execution path.
67
+ * lib/adlint/cc1/branch.rb : Ditto.
68
+ * lib/adlint/cc1/option.rb : Ditto.
69
+ * lib/adlint/cc1/ctrlexpr.rb : Ditto.
70
+ * lib/adlint/cc1/value.rb : Ditto.
71
+
72
+ Tue Mar 20 13:27:15 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
73
+
74
+ * release.rc : 2.7.10
75
+ - Fix switch-statement evaluation in order to correctly fall-through
76
+ when the switch-statement has consecutive case labels.
77
+
78
+ Tue Mar 19 16:44:41 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
79
+
80
+ * lib/adlint/cc1/interp.rb : Fix switch-statement evaluation in order
81
+ to correctly fall-through when the switch-statement has consecutive
82
+ case labels.
83
+
84
+ Tue Mar 19 11:30:46 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
85
+
86
+ * release.rc : 2.7.9
87
+ - Add missing reference notification of the controlling expression
88
+ value in switch-statement.
89
+ - Fix fall-through logic of switch-statement in order to work
90
+ correctly with consecutive case and default labels.
91
+ - Fix normalized controlling-expression derivation logic of
92
+ switch-statement's case and default clause in order to work
93
+ correctly with consecutive case and default labels.
94
+ - Fix W0003 code check not to misunderstand that the switch-statement
95
+ has no default clause when the switch-statement contains
96
+ consecutive case and default labels.
97
+
98
+ Mon Mar 18 16:05:49 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
99
+
100
+ * lib/adlint/cc1/interp.rb : Fix fall-through logic of switch-statement
101
+ in order to work correctly with consecutive case and default labels.
102
+
103
+ * lib/adlint/cc1/syntax.rb : Fix normalized controlling-expression
104
+ derivation logic of switch-statement's case and default clause in
105
+ order to work correctly with consecutive case and default labels.
106
+
107
+ * lib/adlint/exam/c_builtin/cc1_check.rb : Fix W0003 code check not to
108
+ misunderstand that the switch-statement has no default clause when
109
+ the switch-statement contains consecutive case and default labels.
110
+
111
+ Fri Mar 15 17:40:52 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
112
+
113
+ * lib/adlint/cc1/interp.rb : Add missing reference notification of the
114
+ controlling expression value in switch-statement.
115
+
116
+ Thu Mar 14 17:45:37 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
117
+
118
+ * release.rc : 2.7.8
119
+ - Improve library interface not to use thread local storage in the
120
+ library core.
121
+ - Rename AdLint::C namespace to AdLint::Cc1 in order to distinguish
122
+ `c' as a language and `cc1' as a analysis phase.
123
+
124
+ Thu Mar 14 17:43:10 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
125
+
126
+ * lib/adlint/**/* : Rename AdLint::C namespace to AdLint::Cc1 in order
127
+ to distinguish `c' as a language and `cc1' as a analysis phase.
128
+
129
+ Tue Feb 19 14:19:46 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
130
+
131
+ * lib/adlint/**/* : Improve library interface not to use thread local
132
+ storage in the library core.
133
+ * bin/adlint : Ditto.
134
+ * bin/adlint_sma : Ditto.
135
+ * bin/adlint_cma : Ditto.
136
+ * bin/adlint_chk : Ditto.
137
+
138
+ Tue Feb 12 17:34:51 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
139
+
140
+ * release.rc : 2.7.7
141
+ - Add missing function reference notification after insertion of the
142
+ implicit function declaration.
143
+ - Fix missing function-call notification problem of the
144
+ control-breaking standard library functions such as exit(3).
145
+ - Fix W1063 code check in order to warn when the function returns
146
+ value of non-constant inconsistent enum-typed expression.
147
+ - Fix W1062 code check in order to warn when an enum type of the rhs
148
+ operand is not consistent to one of the lhs operand.
149
+ - Fix W1061 code check in order to warn when an enum type of the
150
+ argument expression is not consistent to one of the corresponding
151
+ parameter.
152
+ - Fix W0023 code check in order to warn only when the pointer operand
153
+ appears in an arithmetic expressions.
154
+ - Improve library interface to support concurrent analysis.
155
+ - Fix missing literal_prefix of LIT record for the octal-constant.
156
+
157
+ Fri Feb 8 18:41:53 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
158
+
159
+ * lib/adlint/c/syntax.rb : Fix missing literal_prefix of LIT record for
160
+ the octal-constant.
161
+
162
+ Fri Feb 8 15:11:47 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
163
+
164
+ * lib/adlint/**/* : Improve library interface to support concurrent
165
+ analysis and refactor thoroughly.
166
+ * bin/adlint : Ditto.
167
+ * bin/adlint_sma : Ditto.
168
+ * bin/adlint_cma : Ditto.
169
+ * bin/adlint_chk : Ditto.
170
+
171
+ Mon Feb 4 15:58:49 2013 Rie Shima <rkakuuchi@users.sourceforge.net>
172
+
173
+ * features/code_check/W0023.feature : Add W0023 specification.
174
+ * features/code_check/W0024.feature : Add W0024 specification.
175
+
176
+ Fri Feb 1 11:29:53 2013 Rie Shima <rkakuuchi@users.sourceforge.net>
177
+
178
+ * lib/adlint/exam/c_builtin/c_check.rb : Fix W0023 code check in order
179
+ to warn only when the pointer operand appears in an arithmetic
180
+ expressions.
181
+
182
+ Thu Jan 31 15:13:23 2013 Rie Shima <rkakuuchi@users.sourceforge.net>
183
+
184
+ * features/code_check/W0018.feature : Add W0018 specification.
185
+ * features/code_check/W0019.feature : Add W0019 specification.
186
+ * features/code_check/W0021.feature : Add W0021 specification.
187
+
188
+ Thu Jan 24 17:44:57 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
189
+
190
+ * features/code_check/W1057.feature : Add W1057 specification.
191
+
192
+ Thu Jan 24 14:56:55 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
193
+
194
+ * features/code_check/W1058.feature : Add W1058 specification.
195
+
196
+ Thu Jan 24 14:01:53 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
197
+
198
+ * features/code_check/W1059.feature : Add W1059 specification.
199
+
200
+ Thu Jan 24 13:38:43 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
201
+
202
+ * features/code_check/W1060.feature : Add W1060 specification.
203
+
204
+ Thu Jan 24 13:20:13 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
205
+
206
+ * features/code_check/W1061.feature : Add W1061 specification.
207
+
208
+ * lib/adlint/exam/c_builtin/c_check.rb : Fix W1061 code check in order
209
+ to warn when an enum type of the argument expression is not
210
+ consistent to one of the corresponding parameter.
211
+
212
+ Thu Jan 24 11:27:28 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
213
+
214
+ * features/code_check/W1062.feature : Add W1062 specification.
215
+
216
+ * lib/adlint/exam/c_builtin/c_check.rb : Fix W1062 code check in order
217
+ to warn when an enum type of the rhs operand is not consistent to one
218
+ of the lhs operand.
219
+
220
+ Thu Jan 24 11:00:16 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
221
+
222
+ * etc/mesg.d/c_builtin/ja_JP/messages.yml : Clarify W1062 and W1063
223
+ message text.
224
+ * share/doc/users_guide_ja.texi : Ditto.
225
+
226
+ Wed Jan 23 17:25:33 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
227
+
228
+ * lib/adlint/exam/c_builtin/c_check.rb : Fix W1063 code check in order
229
+ to warn when the function returns value of non-constant inconsistent
230
+ enum-typed expression.
231
+
232
+ * features/code_check/W1064.feature : Fix W1064 specification.
233
+ * features/code_check/W1063.feature : Fix W1063 specification.
234
+ * features/code_check/W1065.feature : Fix W1065 specification.
235
+
236
+ Tue Jan 22 13:09:31 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
237
+
238
+ * lib/adlint/c/expr.rb : Fix missing function-call notification problem
239
+ of the control-breaking standard library functions such as exit(3).
240
+
241
+ Tue Jan 22 11:00:13 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
242
+
243
+ * lib/adlint/c/expr.rb : Add missing function reference notification
244
+ after insertion of the implicit function declaration.
245
+
246
+ Mon Jan 21 19:49:45 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
247
+
248
+ * release.rc : 2.7.6
249
+ - Fix sma-time annotation parser in order to correctly evaluate
250
+ suppression specifiers including new-line characters.
251
+ - Fix cma-time annotation parser in order to correctly evaluate
252
+ suppression specifiers including new-line characters.
253
+ - Fix cma-time annotation parser in order to handle the location of
254
+ each annotation correctly.
255
+ - Add new field indicates whether the function is declared implicitly
256
+ or explicitly to DCL(F) record of the metrics file.
257
+ - Fix bad output validation that lines of the analysis result is
258
+ fewer than one of the specification.
259
+
260
+ Mon Jan 21 19:45:59 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
261
+
262
+ * lib/adlint/c/expr.rb : Correct to run on Ruby 1.9.3-p374 without
263
+ warnings.
264
+
265
+ Mon Jan 21 19:39:56 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
266
+
267
+ * features/step_definitions/code_check_steps.rb : Fix bad output
268
+ validation that lines of the analysis result is fewer than one of the
269
+ specification.
270
+ * features/support/env.rb : Ditto.
271
+
272
+ Mon Jan 21 18:40:33 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
273
+
274
+ * lib/adlint/c/expr.rb : Add notification about insertion of implicit
275
+ function declarations.
276
+ * lib/adlint/c/interp.rb : Ditto.
277
+ * lib/adlint/c/mediator.rb : Ditto.
278
+
279
+ * lib/adlint/c/object.rb : Add FunctionTable#declare_implicitly for
280
+ implicit function declaration.
281
+
282
+ * lib/adlint/code.rb : Add new field indicates whether the function is
283
+ declared implicitly or explicitly to DCL(F) record of the metrics
284
+ file.
285
+ * lib/adlint/metric.rb : Ditto.
286
+ * lib/adlint/report.rb : Ditto.
287
+ * lib/adlint/ld/object.rb : Ditto.
288
+ * lib/adlint/exam/c_builtin/c_code.rb : Ditto.
289
+
290
+ * lib/adlint/exam/c_builtin/c_check.rb : Correct W0109 code check not
291
+ to warn about function-calls of same implicitly declared function.
292
+
293
+ * lib/adlint/exam/c_builtin/ld_check.rb : Correct W0770 and W1037 code
294
+ checks to check only about explicitly declared functions.
295
+
296
+ Mon Jan 21 14:44:40 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
297
+
298
+ * lib/adlint/ld/phase.rb : Fix cma-time annotation parser in order to
299
+ handle the location of each annotation correctly.
300
+
301
+ Sat Jan 19 14:56:09 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
302
+
303
+ * lib/adlint/ld/phase.rb : Fix cma-time annotation parser in order to
304
+ correctly evaluate suppression specifiers including new-line
305
+ characters.
306
+
307
+ Fri Jan 18 15:30:41 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
308
+
309
+ * lib/adlint/annot.rb : Fix sma-time annotation parser in order to
310
+ correctly evaluate suppression specifiers including new-line
311
+ characters.
312
+
313
+ Thu Jan 17 17:14:58 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
314
+
315
+ * release.rc : 2.7.5
316
+ - Rename `individual_selection' item in the traits file to
317
+ `individual_suppression'.
318
+
319
+ Thu Jan 17 16:57:27 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
320
+
321
+ * lib/adlint/traits.rb : Rename `individual_selection' item in the
322
+ traits file to `individual_suppression'.
323
+ * lib/adlint/cpp/phase.rb : Ditto.
324
+ * lib/adlint/ld/phase.rb : Ditto.
325
+ * bin/adlintize : Ditto.
326
+ * etc/conf.d/**/traits*.erb : Ditto.
327
+ * features/support/env.rb : Ditto.
328
+ * spec/conf.d/default_traits.yml : Ditto.
329
+
330
+ Thu Jan 17 13:57:11 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
331
+
332
+ * release.rc : 2.7.4
333
+ - Fix traits object freezing in order not to over-freeze memoizing
334
+ objects.
335
+
336
+ Thu Jan 17 13:32:11 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
337
+
338
+ * lib/adlint/traits.rb : Fix traits object freezing in order not to
339
+ over-freeze memoizing objects.
340
+
341
+ Thu Jan 17 10:46:03 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
342
+
343
+ * release.rc : 2.7.3
344
+ - Support annotation based message suppression.
345
+
346
+ Thu Jan 17 09:25:47 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
347
+
348
+ * lib/adlint/ld/phase.rb : Support cma-time evaluation of annotations
349
+ for message suppression.
350
+ * lib/adlint/ld/typedef.rb : Ditto.
351
+ * lib/adlint/ld/object.rb : Ditto.
352
+ * lib/adlint/analyzer.rb : Ditto.
353
+
354
+ Thu Jan 15 18:47:43 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
355
+
356
+ * lib/adlint/report.rb : Simplify message output interface and support
357
+ deferred message output.
358
+ * lib/adlint/exam.rb : Ditto.
359
+ * lib/adlint/driver.rb : Ditto.
360
+
361
+ * lib/adlint/supp.rb : Add annotation based message suppression.
362
+ * MANIFEST : Ditto.
363
+
364
+ * lib/adlint/message.rb : Bump pair of package name and message name to
365
+ new MessageId object.
366
+ * lib/adlint/traits.rb : Ditto.
367
+ * lib/adlint/error.rb : Ditto.
368
+ * lib/adlint/exam.rb : Ditto.
369
+ * lib/adlint/report.rb : Ditto.
370
+
371
+ * lib/adlint/cpp/phase.rb : Support sma-time evaluation of annotations
372
+ for message suppression.
373
+ * lib/adlint/analyzer.rb : Ditto.
374
+
375
+ * lib/adlint/exam/c_builtin/c_check.rb : Revise output method of
376
+ context messages.
377
+ * lib/adlint/exam/c_builtin/ld_check.rb : Ditto.
378
+
379
+ * lib/adlint/exam.rb : Support deferred warning message output.
380
+ * lib/adlint/phase.rb : Ditto.
381
+ * lib/adlint/exam/c_builtin/cpp_check.rb : Ditto.
382
+
383
+ Thu Jan 10 15:06:15 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
384
+
385
+ * lib/adlint/annot.rb : Add inline annotation feature.
386
+ * MANIFEST : Ditto.
387
+
388
+ Mon Jan 7 11:13:12 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
389
+
390
+ * release.rc : 2.7.2
391
+ - Support message-class based code-check selection.
392
+
393
+ Mon Jan 7 09:35:21 2013 Yutaka Yanoh <yanoh@users.sourceforge.net>
394
+
395
+ * lib/adlint/exam.rb : Support message-class based code-check
396
+ selection.
397
+ * lib/adlint/phase.rb : Ditto.
398
+ * lib/adlint/message.rb : Ditto.
399
+ * lib/adlint/traits.rb : Ditto.
400
+
401
+ Fri Dec 28 11:05:20 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
402
+
403
+ * release.rc : 2.7.1
404
+ - Add ad-hoc traits schema migration for 3.0.0 release.
405
+
406
+ Fri Dec 28 10:58:26 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
407
+
408
+ * bin/adlintize : Add ad-hoc traits schema migration for 3.0.0 release.
409
+
410
+ Thu Dec 27 14:40:05 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
411
+
412
+ * release.rc : 2.7.0
413
+ - Support pathname based code-exam selection.
414
+ - Improve performance of code-exams.
415
+
416
+ Wed Dec 26 17:01:36 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
417
+
418
+ * lib/adlint/traits.rb : Revise format of the traits file to remove
419
+ `message_with_class' controls format of the message file.
420
+ * lib/adlint/message.rb : Ditto.
421
+ * etc/conf.d/**/traits*.erb : Ditto.
422
+ * features/support/env.rb : Ditto.
423
+ * spec/conf.d/default_traits.yml : Ditto.
424
+
425
+ Wed Dec 26 14:53:47 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
426
+
427
+ * lib/adlint/prelude.rb : Improve performance of methods of Pathname.
428
+
429
+ Tue Dec 25 16:07:02 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
430
+
431
+ * lib/adlint/metric.rb : Fix bad cma behavior that all locations of
432
+ source files are converted into absolute pathnames not relative
433
+ pathnames from cma's cwd.
434
+
435
+ Tue Dec 25 15:26:48 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
436
+
437
+ * lib/adlint/exam/c_builtin/c_check.rb : Fix W0117 and W0118 code check
438
+ to keep existing behavior after supporting pathname based code-exam
439
+ selection.
440
+
441
+ Tue Dec 25 14:38:38 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
442
+
443
+ * lib/adlint/cpp/util.rb : Fix bad definition of basic source character
444
+ set table in order to correct W0576 code check.
445
+
446
+ Tue Dec 25 11:00:55 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
447
+
448
+ * lib/adlint/memo.rb : Add new file to split responsibilities for
449
+ method memoization.
450
+ * lib/adlint/util.rb : Ditto.
451
+
452
+ * lib/adlint/c/syntax.rb : Fix abend problem when an array parameter
453
+ declaration without identifier appears.
454
+
455
+ * lib/adlint/metric.rb : Fix abend problem when the working directory
456
+ of cma is different with one of sma.
457
+ * lib/adlint/ld/object.rb : Ditto.
458
+ * lib/adlint/ld/typedef.rb : Ditto.
459
+
460
+ Fri Dec 21 18:43:45 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
461
+
462
+ * lib/adlint/location.rb : Improve performance of #in_analysis_target?
463
+ predicate method.
464
+
465
+ * lib/adlint/util.rb : Fix Memoizable#memoize to support result caching
466
+ of predicate methods ends with `?'.
467
+
468
+ * lib/adlint/prelude.rb : Override Pathname#realpath to cache result in
469
+ order to reduce file-system access.
470
+
471
+ Fri Dec 21 16:43:35 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
472
+
473
+ * lib/adlint/exam.rb : Support pathname based code-exam selection.
474
+ * lib/adlint/exam/c_builtin/cpp_check.rb : Ditto.
475
+ * lib/adlint/exam/c_builtin/cpp_check_shima.rb : Ditto.
476
+ * lib/adlint/exam/c_builtin/cpp_code.rb : Ditto.
477
+ * lib/adlint/exam/c_builtin/c_check.rb : Ditto.
478
+ * lib/adlint/exam/c_builtin/c_check_shima.rb : Ditto.
479
+ * lib/adlint/exam/c_builtin/c_code.rb : Ditto.
480
+ * lib/adlint/exam/c_builtin/c_metric.rb : Ditto.
481
+ * lib/adlint/exam/c_builtin/ld_check.rb : Ditto.
482
+ * lib/adlint/exam/c_builtin/ld_metric.rb : Ditto.
483
+
484
+ * lib/adlint/cpp/syntax.rb : Add #analysis_target? predicate method to
485
+ location aware entities.
486
+ * lib/adlint/cpp/macro.rb : Ditto.
487
+ * lib/adlint/c/syntax.rb : Ditto.
488
+ * lib/adlint/c/seqp.rb : Ditto.
489
+ * lib/adlint/ld/typedef.rb : Ditto.
490
+ * lib/adlint/ld/object.rb : Ditto.
491
+
492
+ * lib/adlint/location.rb : Add new file to split responsibilities for
493
+ code location management.
494
+ * lib/adlint/token.rb : Ditto.
495
+ * spec/adlint/location_spec.rb : Ditto.
496
+ * MANIFEST : Ditto.
497
+
498
+ * lib/adlint/prelude.rb : Add #identical? and #under? methods to
499
+ standard Pathname class.
500
+
501
+ Tue Dec 18 19:43:46 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
502
+
503
+ * lib/adlint/traits.rb : Revise format of the traits file to support
504
+ useless warning suppression and selective code checking.
505
+ * lib/adlint/cpp/eval.rb : Ditto.
506
+ * lib/adlint/cpp/subst.rb : Ditto.
507
+ * lib/adlint/c/type.rb : Ditto.
508
+ * etc/conf.d/**/traits*.erb : Ditto.
509
+ * features/support/env.rb : Ditto.
510
+ * spec/conf.d/default_traits.yml : Ditto.
511
+
1
512
  Mon Dec 17 15:14:46 2012 Yutaka Yanoh <yanoh@users.sourceforge.net>
2
513
 
3
514
  * release.ga : 2.6.14