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
@@ -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 |