adlint 2.6.14 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
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