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
@@ -0,0 +1,226 @@
1
+ Feature: W0024
2
+
3
+ W0024 detects that a pointer variable appears in the increment or decrement
4
+ operation.
5
+
6
+ Scenario: postfix-increment-expression with a pointer variable
7
+ Given a target source named "fixture.c" with:
8
+ """
9
+ const int *func(const int *p)
10
+ {
11
+ return p++; /* W0024 */
12
+ }
13
+ """
14
+ When I successfully run `adlint fixture.c` on noarch
15
+ Then the output should exactly match with:
16
+ | mesg | line | column |
17
+ | W0117 | 1 | 12 |
18
+ | W0024 | 3 | 13 |
19
+ | W0628 | 1 | 12 |
20
+
21
+ Scenario: prefix-increment-expression with a pointer variable
22
+ Given a target source named "fixture.c" with:
23
+ """
24
+ const int *func(const int *p)
25
+ {
26
+ return ++p; /* W0024 */
27
+ }
28
+ """
29
+ When I successfully run `adlint fixture.c` on noarch
30
+ Then the output should exactly match with:
31
+ | mesg | line | column |
32
+ | W0117 | 1 | 12 |
33
+ | W0024 | 3 | 12 |
34
+ | W0424 | 3 | 14 |
35
+ | W0628 | 1 | 12 |
36
+
37
+ Scenario: a pointer variable as lhs of the additive-expression
38
+ Given a target source named "fixture.c" with:
39
+ """
40
+ const int *func(const int * const p)
41
+ {
42
+ return p + 1; /* W0024 */
43
+ }
44
+ """
45
+ When I successfully run `adlint fixture.c` on noarch
46
+ Then the output should exactly match with:
47
+ | mesg | line | column |
48
+ | W0117 | 1 | 12 |
49
+ | W9003 | 3 | 16 |
50
+ | W0024 | 3 | 14 |
51
+ | W0424 | 3 | 12 |
52
+ | W0628 | 1 | 12 |
53
+
54
+ Scenario: a pointer variable as rhs of the additive-expression
55
+ Given a target source named "fixture.c" with:
56
+ """
57
+ const int *func(const int * const p)
58
+ {
59
+ return 1 + p; /* W0024 */
60
+ }
61
+ """
62
+ When I successfully run `adlint fixture.c` on noarch
63
+ Then the output should exactly match with:
64
+ | mesg | line | column |
65
+ | W0117 | 1 | 12 |
66
+ | W9003 | 3 | 12 |
67
+ | W0024 | 3 | 14 |
68
+ | W0424 | 3 | 16 |
69
+ | W0628 | 1 | 12 |
70
+
71
+ Scenario: a pointer variable as lhs of the additive-expression
72
+ Given a target source named "fixture.c" with:
73
+ """
74
+ const int *func(const int *p)
75
+ {
76
+ p = p + 1; /* W0024 */
77
+ return p;
78
+ }
79
+ """
80
+ When I successfully run `adlint fixture.c` on noarch
81
+ Then the output should exactly match with:
82
+ | mesg | line | column |
83
+ | W0117 | 1 | 12 |
84
+ | W9003 | 3 | 14 |
85
+ | W0024 | 3 | 12 |
86
+ | W0424 | 3 | 10 |
87
+ | W0628 | 1 | 12 |
88
+
89
+ Scenario: postfix-decrement-expression with a pointer variable
90
+ Given a target source named "fixture.c" with:
91
+ """
92
+ const int *func(const int *p)
93
+ {
94
+ return p--; /* W0024 */
95
+ }
96
+ """
97
+ When I successfully run `adlint fixture.c` on noarch
98
+ Then the output should exactly match with:
99
+ | mesg | line | column |
100
+ | W0117 | 1 | 12 |
101
+ | W0024 | 3 | 13 |
102
+ | W0424 | 3 | 12 |
103
+ | W0628 | 1 | 12 |
104
+
105
+ Scenario: prefix-decrement-expression with a pointer variable
106
+ Given a target source named "fixture.c" with:
107
+ """
108
+ const int *func(const int *p)
109
+ {
110
+ return --p; /* W0024 */
111
+ }
112
+ """
113
+ When I successfully run `adlint fixture.c` on noarch
114
+ Then the output should exactly match with:
115
+ | mesg | line | column |
116
+ | W0117 | 1 | 12 |
117
+ | W0024 | 3 | 12 |
118
+ | W0424 | 3 | 14 |
119
+ | W0628 | 1 | 12 |
120
+
121
+ Scenario: a pointer variable as lhs of the additive-expression
122
+ Given a target source named "fixture.c" with:
123
+ """
124
+ const int *func(const int * const p)
125
+ {
126
+ return p - 1; /* W0024 */
127
+ }
128
+ """
129
+ When I successfully run `adlint fixture.c` on noarch
130
+ Then the output should exactly match with:
131
+ | mesg | line | column |
132
+ | W0117 | 1 | 12 |
133
+ | W9003 | 3 | 16 |
134
+ | W0024 | 3 | 14 |
135
+ | W0424 | 3 | 12 |
136
+ | W0628 | 1 | 12 |
137
+
138
+ Scenario: a pointer variable as rhs of the additive-expression
139
+ Given a target source named "fixture.c" with:
140
+ """
141
+ const int *func(const int * const p)
142
+ {
143
+ return 1 - p; /* W0024 */
144
+ }
145
+ """
146
+ When I successfully run `adlint fixture.c` on noarch
147
+ Then the output should exactly match with:
148
+ | mesg | line | column |
149
+ | W0117 | 1 | 12 |
150
+ | W9003 | 3 | 12 |
151
+ | W0024 | 3 | 14 |
152
+ | W0424 | 3 | 16 |
153
+ | W0628 | 1 | 12 |
154
+
155
+ Scenario: pointer variables are incremented and decremented
156
+ Given a target source named "fixture.c" with:
157
+ """
158
+ const int *func(const int *p, const int *q)
159
+ {
160
+ return p++ & q--; /* W0024 */
161
+ }
162
+ """
163
+ When I successfully run `adlint fixture.c` on noarch
164
+ Then the output should exactly match with:
165
+ | mesg | line | column |
166
+ | W0117 | 1 | 12 |
167
+ | W0024 | 3 | 13 |
168
+ | W0024 | 3 | 19 |
169
+ | W0424 | 3 | 18 |
170
+ | W0424 | 3 | 13 |
171
+ | W0424 | 3 | 19 |
172
+ | W0628 | 1 | 12 |
173
+
174
+ Scenario: pointer variables are incremented in arithmetic operations
175
+ Given a target source named "fixture.c" with:
176
+ """
177
+ const int *func(const int *p, const int *q)
178
+ {
179
+ return (p++) * (q++); /* W0024 */
180
+ }
181
+ """
182
+ When I successfully run `adlint fixture.c` on noarch
183
+ Then the output should exactly match with:
184
+ | mesg | line | column |
185
+ | W0117 | 1 | 12 |
186
+ | W0024 | 3 | 14 |
187
+ | W0024 | 3 | 22 |
188
+ | W0023 | 3 | 18 |
189
+ | W0424 | 3 | 12 |
190
+ | W0424 | 3 | 20 |
191
+ | W1052 | 3 | 18 |
192
+ | W0628 | 1 | 12 |
193
+
194
+ Scenario: pointer variable plus 2
195
+ Given a target source named "fixture.c" with:
196
+ """
197
+ const int *func(const int * const p)
198
+ {
199
+ return p + 2; /* Ok but W0023 */
200
+ }
201
+ """
202
+ When I successfully run `adlint fixture.c` on noarch
203
+ Then the output should exactly match with:
204
+ | mesg | line | column |
205
+ | W0117 | 1 | 12 |
206
+ | W9003 | 3 | 16 |
207
+ | W0023 | 3 | 14 |
208
+ | W0424 | 3 | 12 |
209
+ | W0628 | 1 | 12 |
210
+
211
+ Scenario: pointer variable minus 2
212
+ Given a target source named "fixture.c" with:
213
+ """
214
+ const int *func(const int * const p)
215
+ {
216
+ return p - 2; /* Ok but W0023 */
217
+ }
218
+ """
219
+ When I successfully run `adlint fixture.c` on noarch
220
+ Then the output should exactly match with:
221
+ | mesg | line | column |
222
+ | W0117 | 1 | 12 |
223
+ | W9003 | 3 | 16 |
224
+ | W0023 | 3 | 14 |
225
+ | W0424 | 3 | 12 |
226
+ | W0628 | 1 | 12 |
@@ -52,6 +52,9 @@ Feature: W0025
52
52
  Then the output should exactly match with:
53
53
  | mesg | line | column |
54
54
  | W0025 | 3 | 1 |
55
+ | W0070 | 1 | 1 |
56
+ | W0070 | 2 | 1 |
57
+ | W0070 | 3 | 1 |
55
58
 
56
59
  Scenario: no redundant #include of system header
57
60
  Given a target source named "fixture.c" with:
@@ -62,3 +65,5 @@ Feature: W0025
62
65
  When I successfully run `adlint fixture.c` on noarch
63
66
  Then the output should exactly match with:
64
67
  | mesg | line | column |
68
+ | W0070 | 1 | 1 |
69
+ | W0070 | 2 | 1 |
@@ -17,7 +17,7 @@ Feature: W0088
17
17
  Then the output should exactly match with:
18
18
  | mesg | line | column |
19
19
  | W1076 | 1 | 12 |
20
- | W0109 | 3 | 16 |
20
+ | W0109 | 3 | 13 |
21
21
  | W0088 | 4 | 13 |
22
22
  | W0100 | 3 | 9 |
23
23
  | W0104 | 1 | 20 |
@@ -39,7 +39,7 @@ Feature: W0088
39
39
  Then the output should exactly match with:
40
40
  | mesg | line | column |
41
41
  | W1076 | 1 | 12 |
42
- | W0109 | 3 | 16 |
42
+ | W0109 | 3 | 13 |
43
43
  | W0104 | 1 | 20 |
44
44
  | W0629 | 1 | 12 |
45
45
  | W0508 | 4 | 13 |
@@ -14,7 +14,7 @@ Feature: W0109
14
14
  When I successfully run `adlint fixture.c` on noarch
15
15
  Then the output should exactly match with:
16
16
  | mesg | line | column |
17
- | W0109 | 3 | 15 |
17
+ | W0109 | 3 | 12 |
18
18
 
19
19
  Scenario: calling function is forward declared
20
20
  Given a target source named "fixture.c" with:
@@ -44,5 +44,5 @@ Feature: W0109
44
44
  When I successfully run `adlint fixture.c` on noarch
45
45
  Then the output should exactly match with:
46
46
  | mesg | line | column |
47
- | W0109 | 3 | 15 |
47
+ | W0109 | 3 | 12 |
48
48
  | W0118 | 6 | 12 |
@@ -24,7 +24,6 @@ Feature: W0477
24
24
  When I successfully run `adlint fixture.c` on noarch
25
25
  Then the output should exactly match with:
26
26
  | mesg | line | column |
27
- | W0480 | 1 | 1 |
28
27
 
29
28
  Scenario: unpaired `()' in macro
30
29
  Given a target source named "fixture.c" with:
@@ -48,7 +47,6 @@ Feature: W0477
48
47
  When I successfully run `adlint fixture.c` on noarch
49
48
  Then the output should exactly match with:
50
49
  | mesg | line | column |
51
- | W0480 | 1 | 1 |
52
50
 
53
51
  Scenario: unpaired `{}' in macro
54
52
  Given a target source named "fixture.c" with:
@@ -72,4 +70,3 @@ Feature: W0477
72
70
  When I successfully run `adlint fixture.c` on noarch
73
71
  Then the output should exactly match with:
74
72
  | mesg | line | column |
75
- | W0480 | 1 | 1 |
@@ -74,7 +74,6 @@ Feature: W0478
74
74
  | W0442 | 1 | 1 |
75
75
  | W0549 | 1 | 26 |
76
76
  | W0549 | 1 | 30 |
77
- | W0478 | 1 | 1 |
78
77
 
79
78
  Scenario: have the semicolon but it's list of specifier and qualifier
80
79
  Given a target source named "fixture.c" with:
@@ -19,7 +19,7 @@ Feature: W0582
19
19
  | mesg | line | column |
20
20
  | W1076 | 1 | 13 |
21
21
  | W0422 | 3 | 15 |
22
- | W0109 | 3 | 8 |
22
+ | W0109 | 3 | 5 |
23
23
  | W0104 | 1 | 22 |
24
24
  | W0105 | 1 | 22 |
25
25
  | W1073 | 3 | 8 |
@@ -40,7 +40,7 @@ Feature: W0582
40
40
  Then the output should exactly match with:
41
41
  | mesg | line | column |
42
42
  | W1076 | 1 | 13 |
43
- | W0109 | 3 | 8 |
43
+ | W0109 | 3 | 5 |
44
44
  | W0104 | 1 | 22 |
45
45
  | W0105 | 1 | 22 |
46
46
  | W1073 | 3 | 8 |
@@ -63,7 +63,7 @@ Feature: W0582
63
63
  | mesg | line | column |
64
64
  | W1076 | 1 | 13 |
65
65
  | W0422 | 3 | 12 |
66
- | W0109 | 3 | 8 |
66
+ | W0109 | 3 | 5 |
67
67
  | W0104 | 1 | 22 |
68
68
  | W0105 | 1 | 22 |
69
69
  | W1073 | 3 | 8 |
@@ -19,7 +19,7 @@ Feature: W0583
19
19
  When I successfully run `adlint fixture.c` on noarch
20
20
  Then the output should exactly match with:
21
21
  | mesg | line | column |
22
- | W0109 | 4 | 15 |
22
+ | W0109 | 4 | 12 |
23
23
  | W0117 | 7 | 5 |
24
24
  | W0422 | 8 | 12 |
25
25
  | W0104 | 7 | 20 |
@@ -43,7 +43,7 @@ Feature: W0583
43
43
  | mesg | line | column |
44
44
  | W1076 | 1 | 13 |
45
45
  | W0422 | 3 | 15 |
46
- | W0109 | 3 | 8 |
46
+ | W0109 | 3 | 5 |
47
47
  | W0104 | 1 | 22 |
48
48
  | W0105 | 1 | 22 |
49
49
  | W1073 | 3 | 8 |
@@ -54,7 +54,6 @@ Feature: W0583
54
54
  | W0104 | 6 | 29 |
55
55
  | W0105 | 6 | 22 |
56
56
  | W0629 | 1 | 13 |
57
- | W0629 | 6 | 13 |
58
57
  | W0628 | 1 | 13 |
59
58
 
60
59
  Scenario: call with unmatched arguments
@@ -73,7 +72,7 @@ Feature: W0583
73
72
  Then the output should exactly match with:
74
73
  | mesg | line | column |
75
74
  | W1076 | 1 | 13 |
76
- | W0109 | 3 | 8 |
75
+ | W0109 | 3 | 5 |
77
76
  | W0104 | 1 | 22 |
78
77
  | W0105 | 1 | 22 |
79
78
  | W1073 | 3 | 8 |
@@ -85,7 +84,6 @@ Feature: W0583
85
84
  | W0104 | 6 | 29 |
86
85
  | W0105 | 6 | 22 |
87
86
  | W0629 | 1 | 13 |
88
- | W0629 | 6 | 13 |
89
87
  | W0628 | 1 | 13 |
90
88
 
91
89
  Scenario: call with unmatched constant pointer
@@ -104,7 +102,7 @@ Feature: W0583
104
102
  Then the output should exactly match with:
105
103
  | mesg | line | column |
106
104
  | W1076 | 1 | 13 |
107
- | W0109 | 3 | 8 |
105
+ | W0109 | 3 | 5 |
108
106
  | W0104 | 1 | 22 |
109
107
  | W0105 | 1 | 22 |
110
108
  | W1073 | 3 | 8 |
@@ -116,5 +114,4 @@ Feature: W0583
116
114
  | W0104 | 6 | 29 |
117
115
  | W0105 | 6 | 22 |
118
116
  | W0629 | 1 | 13 |
119
- | W0629 | 6 | 13 |
120
117
  | W0628 | 1 | 13 |
@@ -79,7 +79,6 @@ Feature: W0646
79
79
  When I successfully run `adlint fixture.c` on noarch
80
80
  Then the output should exactly match with:
81
81
  | mesg | line | column |
82
- | W0947 | 1 | 26 |
83
82
 
84
83
  Scenario: a string-literal of wide characters followed by one of narrow
85
84
  characters those are replaced by macros
@@ -51,7 +51,6 @@ Feature: W0695
51
51
  | W0117 | 3 | 6 |
52
52
  | W0085 | 5 | 5 |
53
53
  | W0628 | 3 | 6 |
54
- | W9003 | 5 | 5 |
55
54
 
56
55
  Scenario: `assert' function declared but calling `assert' macro
57
56
  Given a target source named "fixture.c" with:
@@ -105,6 +105,7 @@ Feature: W0705
105
105
  | W0118 | 1 | 12 |
106
106
  | W0117 | 3 | 5 |
107
107
  | W9003 | 7 | 19 |
108
+ | W0023 | 7 | 17 |
108
109
  | W9003 | 7 | 23 |
109
110
  | W0024 | 7 | 21 |
110
111
  | W0705 | 7 | 14 |
@@ -136,6 +137,7 @@ Feature: W0705
136
137
  | W9003 | 6 | 11 |
137
138
  | W0023 | 6 | 13 |
138
139
  | W9003 | 6 | 19 |
140
+ | W0023 | 6 | 17 |
139
141
  | W9003 | 6 | 23 |
140
142
  | W0024 | 6 | 21 |
141
143
  | W0705 | 6 | 10 |
@@ -245,6 +247,7 @@ Feature: W0705
245
247
  | W0118 | 1 | 12 |
246
248
  | W0117 | 3 | 5 |
247
249
  | W9003 | 7 | 19 |
250
+ | W0023 | 7 | 17 |
248
251
  | W9003 | 7 | 23 |
249
252
  | W0024 | 7 | 21 |
250
253
  | W0104 | 3 | 13 |
@@ -275,6 +278,7 @@ Feature: W0705
275
278
  | W9003 | 6 | 11 |
276
279
  | W0023 | 6 | 13 |
277
280
  | W9003 | 6 | 19 |
281
+ | W0023 | 6 | 17 |
278
282
  | W9003 | 6 | 23 |
279
283
  | W0023 | 6 | 21 |
280
284
  | W0104 | 3 | 14 |
@@ -306,7 +310,9 @@ Feature: W0705
306
310
  | W0118 | 1 | 12 |
307
311
  | W0117 | 3 | 5 |
308
312
  | W9003 | 6 | 24 |
313
+ | W0023 | 6 | 21 |
309
314
  | W9003 | 7 | 23 |
315
+ | W0023 | 7 | 21 |
310
316
  | W9003 | 7 | 27 |
311
317
  | W0024 | 7 | 25 |
312
318
  | W0100 | 6 | 13 |
@@ -340,8 +346,10 @@ Feature: W0705
340
346
  | W0118 | 1 | 12 |
341
347
  | W0117 | 3 | 5 |
342
348
  | W9003 | 6 | 23 |
349
+ | W0023 | 6 | 21 |
343
350
  | W0705 | 6 | 18 |
344
351
  | W9003 | 7 | 23 |
352
+ | W0023 | 7 | 21 |
345
353
  | W9003 | 7 | 27 |
346
354
  | W0024 | 7 | 25 |
347
355
  | W0100 | 6 | 13 |