adlint 3.2.0 → 3.2.6

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 (371) hide show
  1. checksums.yaml +7 -0
  2. data/AUTHORS +1 -2
  3. data/ChangeLog +196 -5236
  4. data/INSTALL +1 -1
  5. data/MANIFEST +4 -2
  6. data/NEWS +30 -13
  7. data/README +2 -2
  8. data/Rakefile +2 -2
  9. data/TODO +1 -1
  10. data/bin/adlint +2 -2
  11. data/bin/adlint_chk +2 -2
  12. data/bin/adlint_cma +2 -2
  13. data/bin/adlint_sma +2 -2
  14. data/bin/adlintize +2 -2
  15. data/etc/conf.d/fallback/cinit.erb +1 -1
  16. data/etc/conf.d/fallback/traits.erb +1 -1
  17. data/etc/conf.d/i686-cygwin/cinit-gcc_4.3.4.erb +1 -1
  18. data/etc/conf.d/i686-cygwin/traits-gcc_4.3.4.erb +1 -1
  19. data/etc/conf.d/i686-devkit/cinit-gcc_4.5.2.erb +1 -1
  20. data/etc/conf.d/i686-devkit/traits-gcc_4.5.2.erb +1 -1
  21. data/etc/conf.d/i686-linux/cinit-gcc_4.5.1.erb +1 -1
  22. data/etc/conf.d/i686-linux/traits-gcc_4.5.1.erb +1 -1
  23. data/etc/conf.d/i686-mingw/cinit-gcc_4.6.1.erb +1 -1
  24. data/etc/conf.d/i686-mingw/traits-gcc_4.6.1.erb +1 -1
  25. data/etc/conf.d/noarch/GNUmakefile.erb +1 -1
  26. data/etc/conf.d/noarch/adlint_all_bat.erb +1 -1
  27. data/etc/conf.d/noarch/adlint_all_sh.erb +1 -1
  28. data/etc/conf.d/noarch/pinit.erb +1 -1
  29. data/etc/conf.d/x86_64-centos_6.4/cinit-gcc_4.4.7.erb +150 -0
  30. data/etc/conf.d/x86_64-centos_6.4/traits-gcc_4.4.7.erb +290 -0
  31. data/etc/conf.d/x86_64-ubuntu_12.04/cinit-gcc_4.6.3.erb +1 -1
  32. data/etc/conf.d/x86_64-ubuntu_12.04/traits-gcc_4.6.3.erb +1 -1
  33. data/etc/mesg.d/c_builtin/en_US/messages.yml +2 -2
  34. data/etc/mesg.d/c_builtin/ja_JP/messages.yml +3 -3
  35. data/etc/mesg.d/core/en_US/messages.yml +6 -2
  36. data/etc/mesg.d/core/ja_JP/messages.yml +6 -2
  37. data/features/code_check/E0008.feature +122 -0
  38. data/features/code_check/E0016.feature +49 -0
  39. data/features/code_check/E0018.feature +99 -0
  40. data/features/code_check/W0460.feature +8 -8
  41. data/lib/adlint.rb +2 -2
  42. data/lib/adlint/analyzer.rb +2 -2
  43. data/lib/adlint/annot.rb +2 -2
  44. data/lib/adlint/cc1.rb +2 -2
  45. data/lib/adlint/cc1/branch.rb +2 -2
  46. data/lib/adlint/cc1/builtin.rb +2 -2
  47. data/lib/adlint/cc1/const.rb +2 -2
  48. data/lib/adlint/cc1/conv.rb +2 -2
  49. data/lib/adlint/cc1/ctrlexpr.rb +2 -2
  50. data/lib/adlint/cc1/domain.rb +2 -2
  51. data/lib/adlint/cc1/enum.rb +2 -2
  52. data/lib/adlint/cc1/environ.rb +2 -2
  53. data/lib/adlint/cc1/expr.rb +110 -48
  54. data/lib/adlint/cc1/format.rb +2 -2
  55. data/lib/adlint/cc1/interp.rb +46 -12
  56. data/lib/adlint/cc1/lexer.rb +44 -11
  57. data/lib/adlint/cc1/mediator.rb +16 -2
  58. data/lib/adlint/cc1/object.rb +2 -2
  59. data/lib/adlint/cc1/operator.rb +2 -2
  60. data/lib/adlint/cc1/option.rb +3 -3
  61. data/lib/adlint/cc1/parser.rb +1011 -999
  62. data/lib/adlint/cc1/parser.y +20 -11
  63. data/lib/adlint/cc1/phase.rb +2 -2
  64. data/lib/adlint/cc1/resolver.rb +2 -2
  65. data/lib/adlint/cc1/scanner.rb +2 -2
  66. data/lib/adlint/cc1/scope.rb +2 -2
  67. data/lib/adlint/cc1/seqp.rb +2 -2
  68. data/lib/adlint/cc1/syntax.rb +42 -10
  69. data/lib/adlint/cc1/trace.rb +2 -2
  70. data/lib/adlint/cc1/type.rb +72 -2
  71. data/lib/adlint/cc1/util.rb +2 -2
  72. data/lib/adlint/cc1/value.rb +9 -3
  73. data/lib/adlint/code.rb +2 -2
  74. data/lib/adlint/cpp.rb +2 -2
  75. data/lib/adlint/cpp/asm.rb +2 -2
  76. data/lib/adlint/cpp/constexpr.rb +1 -1
  77. data/lib/adlint/cpp/constexpr.y +2 -2
  78. data/lib/adlint/cpp/eval.rb +2 -2
  79. data/lib/adlint/cpp/lexer.rb +13 -3
  80. data/lib/adlint/cpp/macro.rb +2 -2
  81. data/lib/adlint/cpp/phase.rb +2 -2
  82. data/lib/adlint/cpp/scanner.rb +2 -2
  83. data/lib/adlint/cpp/source.rb +2 -2
  84. data/lib/adlint/cpp/subst.rb +6 -2
  85. data/lib/adlint/cpp/syntax.rb +2 -2
  86. data/lib/adlint/cpp/util.rb +2 -2
  87. data/lib/adlint/driver.rb +2 -2
  88. data/lib/adlint/error.rb +2 -2
  89. data/lib/adlint/exam.rb +20 -8
  90. data/lib/adlint/exam/c_builtin.rb +4 -6
  91. data/lib/adlint/exam/c_builtin/cc1_check.rb +1380 -461
  92. data/lib/adlint/exam/c_builtin/cc1_code.rb +25 -25
  93. data/lib/adlint/exam/c_builtin/cc1_metric.rb +180 -209
  94. data/lib/adlint/exam/c_builtin/cpp_check.rb +211 -50
  95. data/lib/adlint/exam/c_builtin/cpp_code.rb +19 -19
  96. data/lib/adlint/exam/c_builtin/ld_check.rb +2 -2
  97. data/lib/adlint/exam/c_builtin/ld_metric.rb +2 -2
  98. data/lib/adlint/lang.rb +2 -2
  99. data/lib/adlint/ld.rb +2 -2
  100. data/lib/adlint/ld/object.rb +3 -3
  101. data/lib/adlint/ld/phase.rb +2 -2
  102. data/lib/adlint/ld/typedef.rb +2 -2
  103. data/lib/adlint/ld/util.rb +2 -2
  104. data/lib/adlint/lexer.rb +2 -2
  105. data/lib/adlint/location.rb +2 -2
  106. data/lib/adlint/memo.rb +2 -2
  107. data/lib/adlint/message.rb +2 -2
  108. data/lib/adlint/metric.rb +2 -2
  109. data/lib/adlint/monitor.rb +2 -2
  110. data/lib/adlint/phase.rb +2 -2
  111. data/lib/adlint/prelude.rb +2 -2
  112. data/lib/adlint/report.rb +4 -4
  113. data/lib/adlint/source.rb +2 -2
  114. data/lib/adlint/supp.rb +2 -2
  115. data/lib/adlint/symbol.rb +2 -2
  116. data/lib/adlint/token.rb +2 -2
  117. data/lib/adlint/traits.rb +2 -2
  118. data/lib/adlint/util.rb +2 -2
  119. data/lib/adlint/version.rb +6 -6
  120. data/share/HEADER +2 -2
  121. data/share/doc/developers_guide_ja.html +20 -9
  122. data/share/doc/developers_guide_ja.texi +18 -7
  123. data/share/doc/samples/GNUmakefile +1 -1
  124. data/share/doc/samples/adlint_traits.yml +1 -1
  125. data/share/doc/users_guide_en.html +6177 -6138
  126. data/share/doc/users_guide_en.texi +35 -5
  127. data/share/doc/users_guide_ja.html +6192 -6153
  128. data/share/doc/users_guide_ja.texi +35 -5
  129. data/share/sample/bison-2.5/adlint/GNUmakefile +1 -1
  130. data/share/sample/bison-2.5/adlint/adlint_traits.yml +1 -1
  131. data/share/sample/bison-2.5/adlint/lib/GNUmakefile +1 -1
  132. data/share/sample/bison-2.5/adlint/lib/adlint_cinit.h +1 -1
  133. data/share/sample/bison-2.5/adlint/lib/adlint_pinit.h +1 -1
  134. data/share/sample/bison-2.5/adlint/lib/adlint_traits.yml +1 -1
  135. data/share/sample/bison-2.5/adlint/src/GNUmakefile +1 -1
  136. data/share/sample/bison-2.5/adlint/src/adlint_cinit.h +1 -1
  137. data/share/sample/bison-2.5/adlint/src/adlint_pinit.h +1 -1
  138. data/share/sample/bison-2.5/adlint/src/adlint_traits.yml +1 -1
  139. data/share/sample/ctags-5.8/adlint/GNUmakefile +1 -1
  140. data/share/sample/ctags-5.8/adlint/adlint_cinit.h +1 -1
  141. data/share/sample/ctags-5.8/adlint/adlint_pinit.h +1 -1
  142. data/share/sample/ctags-5.8/adlint/adlint_traits.yml +1 -1
  143. data/share/sample/flex-2.5.35/adlint/GNUmakefile +1 -1
  144. data/share/sample/flex-2.5.35/adlint/adlint_cinit.h +1 -1
  145. data/share/sample/flex-2.5.35/adlint/adlint_pinit.h +1 -1
  146. data/share/sample/flex-2.5.35/adlint/adlint_traits.yml +1 -1
  147. data/share/sample/ruby-1.9.3-p0/adlint/GNUmakefile +1 -1
  148. data/share/sample/ruby-1.9.3-p0/adlint/adlint_traits.yml +1 -1
  149. data/share/sample/ruby-1.9.3-p0/adlint/core/GNUmakefile +1 -1
  150. data/share/sample/ruby-1.9.3-p0/adlint/core/adlint_cinit.h +1 -1
  151. data/share/sample/ruby-1.9.3-p0/adlint/core/adlint_pinit.h +1 -1
  152. data/share/sample/ruby-1.9.3-p0/adlint/core/adlint_traits.yml +1 -1
  153. data/share/sample/ruby-1.9.3-p0/adlint/enc-trans/GNUmakefile +1 -1
  154. data/share/sample/ruby-1.9.3-p0/adlint/enc-trans/adlint_cinit.h +1 -1
  155. data/share/sample/ruby-1.9.3-p0/adlint/enc-trans/adlint_pinit.h +1 -1
  156. data/share/sample/ruby-1.9.3-p0/adlint/enc-trans/adlint_traits.yml +1 -1
  157. data/share/sample/ruby-1.9.3-p0/adlint/enc/GNUmakefile +1 -1
  158. data/share/sample/ruby-1.9.3-p0/adlint/enc/adlint_cinit.h +1 -1
  159. data/share/sample/ruby-1.9.3-p0/adlint/enc/adlint_pinit.h +1 -1
  160. data/share/sample/ruby-1.9.3-p0/adlint/enc/adlint_traits.yml +1 -1
  161. data/share/sample/ruby-1.9.3-p0/adlint/ext-bigdecimal/GNUmakefile +1 -1
  162. data/share/sample/ruby-1.9.3-p0/adlint/ext-bigdecimal/adlint_cinit.h +1 -1
  163. data/share/sample/ruby-1.9.3-p0/adlint/ext-bigdecimal/adlint_pinit.h +1 -1
  164. data/share/sample/ruby-1.9.3-p0/adlint/ext-bigdecimal/adlint_traits.yml +1 -1
  165. data/share/sample/ruby-1.9.3-p0/adlint/ext-continuation/GNUmakefile +1 -1
  166. data/share/sample/ruby-1.9.3-p0/adlint/ext-continuation/adlint_cinit.h +1 -1
  167. data/share/sample/ruby-1.9.3-p0/adlint/ext-continuation/adlint_pinit.h +1 -1
  168. data/share/sample/ruby-1.9.3-p0/adlint/ext-continuation/adlint_traits.yml +1 -1
  169. data/share/sample/ruby-1.9.3-p0/adlint/ext-coverage/GNUmakefile +1 -1
  170. data/share/sample/ruby-1.9.3-p0/adlint/ext-coverage/adlint_cinit.h +1 -1
  171. data/share/sample/ruby-1.9.3-p0/adlint/ext-coverage/adlint_pinit.h +1 -1
  172. data/share/sample/ruby-1.9.3-p0/adlint/ext-coverage/adlint_traits.yml +1 -1
  173. data/share/sample/ruby-1.9.3-p0/adlint/ext-curses/GNUmakefile +1 -1
  174. data/share/sample/ruby-1.9.3-p0/adlint/ext-curses/adlint_cinit.h +1 -1
  175. data/share/sample/ruby-1.9.3-p0/adlint/ext-curses/adlint_pinit.h +1 -1
  176. data/share/sample/ruby-1.9.3-p0/adlint/ext-curses/adlint_traits.yml +1 -1
  177. data/share/sample/ruby-1.9.3-p0/adlint/ext-date/GNUmakefile +1 -1
  178. data/share/sample/ruby-1.9.3-p0/adlint/ext-date/adlint_cinit.h +1 -1
  179. data/share/sample/ruby-1.9.3-p0/adlint/ext-date/adlint_pinit.h +1 -1
  180. data/share/sample/ruby-1.9.3-p0/adlint/ext-date/adlint_traits.yml +1 -1
  181. data/share/sample/ruby-1.9.3-p0/adlint/ext-dbm/GNUmakefile +1 -1
  182. data/share/sample/ruby-1.9.3-p0/adlint/ext-dbm/adlint_cinit.h +1 -1
  183. data/share/sample/ruby-1.9.3-p0/adlint/ext-dbm/adlint_pinit.h +1 -1
  184. data/share/sample/ruby-1.9.3-p0/adlint/ext-dbm/adlint_traits.yml +1 -1
  185. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-bubblebabble/GNUmakefile +1 -1
  186. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-bubblebabble/adlint_cinit.h +1 -1
  187. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-bubblebabble/adlint_pinit.h +1 -1
  188. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-bubblebabble/adlint_traits.yml +1 -1
  189. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-md5/GNUmakefile +1 -1
  190. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-md5/adlint_cinit.h +1 -1
  191. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-md5/adlint_pinit.h +1 -1
  192. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-md5/adlint_traits.yml +1 -1
  193. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-rmd160/GNUmakefile +1 -1
  194. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-rmd160/adlint_cinit.h +1 -1
  195. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-rmd160/adlint_pinit.h +1 -1
  196. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-rmd160/adlint_traits.yml +1 -1
  197. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha1/GNUmakefile +1 -1
  198. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha1/adlint_cinit.h +1 -1
  199. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha1/adlint_pinit.h +1 -1
  200. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha1/adlint_traits.yml +1 -1
  201. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha2/GNUmakefile +1 -1
  202. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha2/adlint_cinit.h +1 -1
  203. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha2/adlint_pinit.h +1 -1
  204. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha2/adlint_traits.yml +1 -1
  205. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest/GNUmakefile +1 -1
  206. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest/adlint_cinit.h +1 -1
  207. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest/adlint_pinit.h +1 -1
  208. data/share/sample/ruby-1.9.3-p0/adlint/ext-digest/adlint_traits.yml +1 -1
  209. data/share/sample/ruby-1.9.3-p0/adlint/ext-dl-callback/GNUmakefile +1 -1
  210. data/share/sample/ruby-1.9.3-p0/adlint/ext-dl-callback/adlint_cinit.h +1 -1
  211. data/share/sample/ruby-1.9.3-p0/adlint/ext-dl-callback/adlint_pinit.h +1 -1
  212. data/share/sample/ruby-1.9.3-p0/adlint/ext-dl-callback/adlint_traits.yml +1 -1
  213. data/share/sample/ruby-1.9.3-p0/adlint/ext-dl/GNUmakefile +1 -1
  214. data/share/sample/ruby-1.9.3-p0/adlint/ext-dl/adlint_cinit.h +1 -1
  215. data/share/sample/ruby-1.9.3-p0/adlint/ext-dl/adlint_pinit.h +1 -1
  216. data/share/sample/ruby-1.9.3-p0/adlint/ext-dl/adlint_traits.yml +1 -1
  217. data/share/sample/ruby-1.9.3-p0/adlint/ext-etc/GNUmakefile +1 -1
  218. data/share/sample/ruby-1.9.3-p0/adlint/ext-etc/adlint_cinit.h +1 -1
  219. data/share/sample/ruby-1.9.3-p0/adlint/ext-etc/adlint_pinit.h +1 -1
  220. data/share/sample/ruby-1.9.3-p0/adlint/ext-etc/adlint_traits.yml +1 -1
  221. data/share/sample/ruby-1.9.3-p0/adlint/ext-fcntl/GNUmakefile +1 -1
  222. data/share/sample/ruby-1.9.3-p0/adlint/ext-fcntl/adlint_cinit.h +1 -1
  223. data/share/sample/ruby-1.9.3-p0/adlint/ext-fcntl/adlint_pinit.h +1 -1
  224. data/share/sample/ruby-1.9.3-p0/adlint/ext-fcntl/adlint_traits.yml +1 -1
  225. data/share/sample/ruby-1.9.3-p0/adlint/ext-fiber/GNUmakefile +1 -1
  226. data/share/sample/ruby-1.9.3-p0/adlint/ext-fiber/adlint_cinit.h +1 -1
  227. data/share/sample/ruby-1.9.3-p0/adlint/ext-fiber/adlint_pinit.h +1 -1
  228. data/share/sample/ruby-1.9.3-p0/adlint/ext-fiber/adlint_traits.yml +1 -1
  229. data/share/sample/ruby-1.9.3-p0/adlint/ext-fiddle/GNUmakefile +1 -1
  230. data/share/sample/ruby-1.9.3-p0/adlint/ext-fiddle/adlint_cinit.h +1 -1
  231. data/share/sample/ruby-1.9.3-p0/adlint/ext-fiddle/adlint_pinit.h +1 -1
  232. data/share/sample/ruby-1.9.3-p0/adlint/ext-fiddle/adlint_traits.yml +1 -1
  233. data/share/sample/ruby-1.9.3-p0/adlint/ext-gdbm/GNUmakefile +1 -1
  234. data/share/sample/ruby-1.9.3-p0/adlint/ext-gdbm/adlint_cinit.h +1 -1
  235. data/share/sample/ruby-1.9.3-p0/adlint/ext-gdbm/adlint_pinit.h +1 -1
  236. data/share/sample/ruby-1.9.3-p0/adlint/ext-gdbm/adlint_traits.yml +1 -1
  237. data/share/sample/ruby-1.9.3-p0/adlint/ext-iconv/GNUmakefile +1 -1
  238. data/share/sample/ruby-1.9.3-p0/adlint/ext-iconv/adlint_cinit.h +1 -1
  239. data/share/sample/ruby-1.9.3-p0/adlint/ext-iconv/adlint_pinit.h +1 -1
  240. data/share/sample/ruby-1.9.3-p0/adlint/ext-iconv/adlint_traits.yml +1 -1
  241. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-console/GNUmakefile +1 -1
  242. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-console/adlint_cinit.h +1 -1
  243. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-console/adlint_pinit.h +1 -1
  244. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-console/adlint_traits.yml +1 -1
  245. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-nonblock/GNUmakefile +1 -1
  246. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-nonblock/adlint_cinit.h +1 -1
  247. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-nonblock/adlint_pinit.h +1 -1
  248. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-nonblock/adlint_traits.yml +1 -1
  249. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-wait/GNUmakefile +1 -1
  250. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-wait/adlint_cinit.h +1 -1
  251. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-wait/adlint_pinit.h +1 -1
  252. data/share/sample/ruby-1.9.3-p0/adlint/ext-io-wait/adlint_traits.yml +1 -1
  253. data/share/sample/ruby-1.9.3-p0/adlint/ext-json-generator/GNUmakefile +1 -1
  254. data/share/sample/ruby-1.9.3-p0/adlint/ext-json-generator/adlint_cinit.h +1 -1
  255. data/share/sample/ruby-1.9.3-p0/adlint/ext-json-generator/adlint_pinit.h +1 -1
  256. data/share/sample/ruby-1.9.3-p0/adlint/ext-json-generator/adlint_traits.yml +1 -1
  257. data/share/sample/ruby-1.9.3-p0/adlint/ext-json-parser/GNUmakefile +1 -1
  258. data/share/sample/ruby-1.9.3-p0/adlint/ext-json-parser/adlint_cinit.h +1 -1
  259. data/share/sample/ruby-1.9.3-p0/adlint/ext-json-parser/adlint_pinit.h +1 -1
  260. data/share/sample/ruby-1.9.3-p0/adlint/ext-json-parser/adlint_traits.yml +1 -1
  261. data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-complex/GNUmakefile +1 -1
  262. data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-complex/adlint_cinit.h +1 -1
  263. data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-complex/adlint_pinit.h +1 -1
  264. data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-complex/adlint_traits.yml +1 -1
  265. data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-rational/GNUmakefile +1 -1
  266. data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-rational/adlint_cinit.h +1 -1
  267. data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-rational/adlint_pinit.h +1 -1
  268. data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-rational/adlint_traits.yml +1 -1
  269. data/share/sample/ruby-1.9.3-p0/adlint/ext-nkf/GNUmakefile +1 -1
  270. data/share/sample/ruby-1.9.3-p0/adlint/ext-nkf/adlint_cinit.h +1 -1
  271. data/share/sample/ruby-1.9.3-p0/adlint/ext-nkf/adlint_pinit.h +1 -1
  272. data/share/sample/ruby-1.9.3-p0/adlint/ext-nkf/adlint_traits.yml +1 -1
  273. data/share/sample/ruby-1.9.3-p0/adlint/ext-openssl/GNUmakefile +1 -1
  274. data/share/sample/ruby-1.9.3-p0/adlint/ext-openssl/adlint_cinit.h +1 -1
  275. data/share/sample/ruby-1.9.3-p0/adlint/ext-openssl/adlint_pinit.h +1 -1
  276. data/share/sample/ruby-1.9.3-p0/adlint/ext-openssl/adlint_traits.yml +1 -1
  277. data/share/sample/ruby-1.9.3-p0/adlint/ext-pathname/GNUmakefile +1 -1
  278. data/share/sample/ruby-1.9.3-p0/adlint/ext-pathname/adlint_cinit.h +1 -1
  279. data/share/sample/ruby-1.9.3-p0/adlint/ext-pathname/adlint_pinit.h +1 -1
  280. data/share/sample/ruby-1.9.3-p0/adlint/ext-pathname/adlint_traits.yml +1 -1
  281. data/share/sample/ruby-1.9.3-p0/adlint/ext-psych/GNUmakefile +1 -1
  282. data/share/sample/ruby-1.9.3-p0/adlint/ext-psych/adlint_cinit.h +1 -1
  283. data/share/sample/ruby-1.9.3-p0/adlint/ext-psych/adlint_pinit.h +1 -1
  284. data/share/sample/ruby-1.9.3-p0/adlint/ext-psych/adlint_traits.yml +1 -1
  285. data/share/sample/ruby-1.9.3-p0/adlint/ext-pty/GNUmakefile +1 -1
  286. data/share/sample/ruby-1.9.3-p0/adlint/ext-pty/adlint_cinit.h +1 -1
  287. data/share/sample/ruby-1.9.3-p0/adlint/ext-pty/adlint_pinit.h +1 -1
  288. data/share/sample/ruby-1.9.3-p0/adlint/ext-pty/adlint_traits.yml +1 -1
  289. data/share/sample/ruby-1.9.3-p0/adlint/ext-racc-cparse/GNUmakefile +1 -1
  290. data/share/sample/ruby-1.9.3-p0/adlint/ext-racc-cparse/adlint_cinit.h +1 -1
  291. data/share/sample/ruby-1.9.3-p0/adlint/ext-racc-cparse/adlint_pinit.h +1 -1
  292. data/share/sample/ruby-1.9.3-p0/adlint/ext-racc-cparse/adlint_traits.yml +1 -1
  293. data/share/sample/ruby-1.9.3-p0/adlint/ext-readline/GNUmakefile +1 -1
  294. data/share/sample/ruby-1.9.3-p0/adlint/ext-readline/adlint_cinit.h +1 -1
  295. data/share/sample/ruby-1.9.3-p0/adlint/ext-readline/adlint_pinit.h +1 -1
  296. data/share/sample/ruby-1.9.3-p0/adlint/ext-readline/adlint_traits.yml +1 -1
  297. data/share/sample/ruby-1.9.3-p0/adlint/ext-ripper/GNUmakefile +1 -1
  298. data/share/sample/ruby-1.9.3-p0/adlint/ext-ripper/adlint_cinit.h +1 -1
  299. data/share/sample/ruby-1.9.3-p0/adlint/ext-ripper/adlint_pinit.h +1 -1
  300. data/share/sample/ruby-1.9.3-p0/adlint/ext-ripper/adlint_traits.yml +1 -1
  301. data/share/sample/ruby-1.9.3-p0/adlint/ext-sdbm/GNUmakefile +1 -1
  302. data/share/sample/ruby-1.9.3-p0/adlint/ext-sdbm/adlint_cinit.h +1 -1
  303. data/share/sample/ruby-1.9.3-p0/adlint/ext-sdbm/adlint_pinit.h +1 -1
  304. data/share/sample/ruby-1.9.3-p0/adlint/ext-sdbm/adlint_traits.yml +1 -1
  305. data/share/sample/ruby-1.9.3-p0/adlint/ext-socket/GNUmakefile +1 -1
  306. data/share/sample/ruby-1.9.3-p0/adlint/ext-socket/adlint_cinit.h +1 -1
  307. data/share/sample/ruby-1.9.3-p0/adlint/ext-socket/adlint_pinit.h +1 -1
  308. data/share/sample/ruby-1.9.3-p0/adlint/ext-socket/adlint_traits.yml +1 -1
  309. data/share/sample/ruby-1.9.3-p0/adlint/ext-stringio/GNUmakefile +1 -1
  310. data/share/sample/ruby-1.9.3-p0/adlint/ext-stringio/adlint_cinit.h +1 -1
  311. data/share/sample/ruby-1.9.3-p0/adlint/ext-stringio/adlint_pinit.h +1 -1
  312. data/share/sample/ruby-1.9.3-p0/adlint/ext-stringio/adlint_traits.yml +1 -1
  313. data/share/sample/ruby-1.9.3-p0/adlint/ext-strscan/GNUmakefile +1 -1
  314. data/share/sample/ruby-1.9.3-p0/adlint/ext-strscan/adlint_cinit.h +1 -1
  315. data/share/sample/ruby-1.9.3-p0/adlint/ext-strscan/adlint_pinit.h +1 -1
  316. data/share/sample/ruby-1.9.3-p0/adlint/ext-strscan/adlint_traits.yml +1 -1
  317. data/share/sample/ruby-1.9.3-p0/adlint/ext-syck/GNUmakefile +1 -1
  318. data/share/sample/ruby-1.9.3-p0/adlint/ext-syck/adlint_cinit.h +1 -1
  319. data/share/sample/ruby-1.9.3-p0/adlint/ext-syck/adlint_pinit.h +1 -1
  320. data/share/sample/ruby-1.9.3-p0/adlint/ext-syck/adlint_traits.yml +1 -1
  321. data/share/sample/ruby-1.9.3-p0/adlint/ext-syslog/GNUmakefile +1 -1
  322. data/share/sample/ruby-1.9.3-p0/adlint/ext-syslog/adlint_cinit.h +1 -1
  323. data/share/sample/ruby-1.9.3-p0/adlint/ext-syslog/adlint_pinit.h +1 -1
  324. data/share/sample/ruby-1.9.3-p0/adlint/ext-syslog/adlint_traits.yml +1 -1
  325. data/share/sample/ruby-1.9.3-p0/adlint/ext-zlib/GNUmakefile +1 -1
  326. data/share/sample/ruby-1.9.3-p0/adlint/ext-zlib/adlint_cinit.h +1 -1
  327. data/share/sample/ruby-1.9.3-p0/adlint/ext-zlib/adlint_pinit.h +1 -1
  328. data/share/sample/ruby-1.9.3-p0/adlint/ext-zlib/adlint_traits.yml +1 -1
  329. data/share/sample/screen-4.0.3/adlint/GNUmakefile +1 -1
  330. data/share/sample/screen-4.0.3/adlint/adlint_cinit.h +1 -1
  331. data/share/sample/screen-4.0.3/adlint/adlint_pinit.h +1 -1
  332. data/share/sample/screen-4.0.3/adlint/adlint_traits.yml +1 -1
  333. data/share/sample/vim-7.3/adlint/vim/GNUmakefile +1 -1
  334. data/share/sample/vim-7.3/adlint/vim/adlint_cinit.h +1 -1
  335. data/share/sample/vim-7.3/adlint/vim/adlint_pinit.h +1 -1
  336. data/share/sample/vim-7.3/adlint/vim/adlint_traits.yml +1 -1
  337. data/share/sample/vim-7.3/adlint/xxd/GNUmakefile +1 -1
  338. data/share/sample/vim-7.3/adlint/xxd/adlint_cinit.h +1 -1
  339. data/share/sample/vim-7.3/adlint/xxd/adlint_pinit.h +1 -1
  340. data/share/sample/vim-7.3/adlint/xxd/adlint_traits.yml +1 -1
  341. data/share/sample/zsh-4.3.15/adlint/GNUmakefile +1 -1
  342. data/share/sample/zsh-4.3.15/adlint/adlint_traits.yml +1 -1
  343. data/share/sample/zsh-4.3.15/adlint/builtins/GNUmakefile +1 -1
  344. data/share/sample/zsh-4.3.15/adlint/builtins/adlint_cinit.h +1 -1
  345. data/share/sample/zsh-4.3.15/adlint/builtins/adlint_pinit.h +1 -1
  346. data/share/sample/zsh-4.3.15/adlint/builtins/adlint_traits.yml +1 -1
  347. data/share/sample/zsh-4.3.15/adlint/core/GNUmakefile +1 -1
  348. data/share/sample/zsh-4.3.15/adlint/core/adlint_cinit.h +1 -1
  349. data/share/sample/zsh-4.3.15/adlint/core/adlint_pinit.h +1 -1
  350. data/share/sample/zsh-4.3.15/adlint/core/adlint_traits.yml +1 -1
  351. data/share/sample/zsh-4.3.15/adlint/modules/GNUmakefile +1 -1
  352. data/share/sample/zsh-4.3.15/adlint/modules/adlint_cinit.h +1 -1
  353. data/share/sample/zsh-4.3.15/adlint/modules/adlint_pinit.h +1 -1
  354. data/share/sample/zsh-4.3.15/adlint/modules/adlint_traits.yml +1 -1
  355. data/share/sample/zsh-4.3.15/adlint/zle/GNUmakefile +1 -1
  356. data/share/sample/zsh-4.3.15/adlint/zle/adlint_cinit.h +1 -1
  357. data/share/sample/zsh-4.3.15/adlint/zle/adlint_pinit.h +1 -1
  358. data/share/sample/zsh-4.3.15/adlint/zle/adlint_traits.yml +1 -1
  359. data/spec/adlint/cc1/ctrlexpr_spec.rb +3 -3
  360. data/spec/adlint/cc1/domain_spec.rb +2 -2
  361. data/spec/adlint/cc1/operator_spec.rb +2 -2
  362. data/spec/adlint/cc1/syntax_spec.rb +4 -4
  363. data/spec/adlint/cc1/type_spec.rb +2 -2
  364. data/spec/adlint/location_spec.rb +2 -2
  365. data/spec/conf.d/default_traits.yml +1 -1
  366. data/spec/conf.d/empty_cinit.h +1 -1
  367. data/spec/conf.d/empty_pinit.h +1 -1
  368. data/spec/spec_helper.rb +2 -2
  369. metadata +29 -28
  370. data/lib/adlint/exam/c_builtin/cc1_check_shima.rb +0 -963
  371. data/lib/adlint/exam/c_builtin/cpp_check_shima.rb +0 -204
@@ -0,0 +1,290 @@
1
+ # ___ ____ __ ___ _________
2
+ # / | / _ |/ / / / | / /__ __/ Source Code Static Analyzer
3
+ # / /| | / / / / / / / |/ / / / AdLint - Advanced Lint
4
+ # / __ |/ /_/ / /___/ / /| / / /
5
+ # /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2014, OGIS-RI Co.,Ltd.
6
+ #
7
+ # Traits file generated by adlintize <%= AdLint::SHORT_VERSION %> at <%= Time.now %>.
8
+
9
+ # Schema version of the traits file.
10
+ # DO NOT EDIT MANUALLY!
11
+ version: "<%= AdLint::TRAITS_SCHEMA_VERSION %>"
12
+
13
+ # List of names of source code examination packages.
14
+ #
15
+ # "c_builtin" is a builtin source code examination package for C language.
16
+ # You can install optional examination packages and append (or replace) this
17
+ # list to specify which examination packages are to be run.
18
+ exam_packages:
19
+ - "c_builtin"
20
+
21
+ #
22
+ # Project specific traits section
23
+ #
24
+ project_traits:
25
+
26
+ # Project name.
27
+ project_name: "<%= project_name %>"
28
+
29
+ # Project root directory.
30
+ project_root: "<%= vpath %>"
31
+
32
+ # Analysys target selection.
33
+ # Ex.
34
+ # target_files:
35
+ # inclusion_paths:
36
+ # - "../foo"
37
+ # - "../bar"
38
+ # exclusion_paths:
39
+ # - "../bar/baz"
40
+ target_files:
41
+ inclusion_paths:
42
+ - "<%= vpath %>"
43
+ exclusion_paths:
44
+
45
+ # Pathname of the project specific initial header file.
46
+ # This header file is automatically included above the first line of the
47
+ # target source file.
48
+ initial_header: "<%= pinit_fpath.basename %>"
49
+
50
+ # Project specific additional include paths.
51
+ # Ex.
52
+ # file_search_paths:
53
+ # - "include/foo"
54
+ # - "../include/bar"
55
+ # - "/opt/baz/include"
56
+ file_search_paths:
57
+
58
+ #
59
+ # Project specific coding style section
60
+ #
61
+ coding_style:
62
+
63
+ # Indent style which is a convention governing the identation of blocks.
64
+ # Select from "K&R", "Allman" and "GNU".
65
+ #
66
+ # The value "K&R" means...
67
+ # int foo(int i)
68
+ # {
69
+ # if (i == 0) {
70
+ # return 0;
71
+ # }
72
+ # return i;
73
+ # }
74
+ #
75
+ # The value "Allman" means...
76
+ # int foo(int i)
77
+ # {
78
+ # if (i == 0)
79
+ # {
80
+ # return 0;
81
+ # }
82
+ # return i;
83
+ # }
84
+ #
85
+ # The value "GNU" means...
86
+ # int
87
+ # foo(int i)
88
+ # {
89
+ # if (i == 0)
90
+ # {
91
+ # return 0;
92
+ # }
93
+ # return i;
94
+ # }
95
+ indent_style: "K&R"
96
+
97
+ # Appearance width of a TAB character.
98
+ tab_width: 8
99
+
100
+ # Appearance width of 1-level of the indentation.
101
+ indent_width: 4
102
+
103
+ # Character encoding of source files.
104
+ file_encoding: "utf-8"
105
+
106
+ #
107
+ # Compiler specific traits section
108
+ #
109
+ compiler_traits:
110
+
111
+ # Pathname of the compiler specific initial header file.
112
+ # This header file is automatically included above the first line of the
113
+ # project specific initial header file.
114
+ initial_header: "<%= cinit_fpath.basename %>"
115
+
116
+ # Compiler specific include paths.
117
+ # Ex.
118
+ # file_search_paths:
119
+ # - "/usr/include"
120
+ # - "/usr/local/include"
121
+ file_search_paths:
122
+ - "/usr/local/include"
123
+ - "/usr/lib/gcc/x86_64-redhat-linux/4.4.7/include"
124
+ - "/usr/include"
125
+
126
+ #
127
+ # Compiler specific standard type section
128
+ #
129
+ standard_types:
130
+
131
+ # Bit size of the `char' type family.
132
+ char_size: 8
133
+ # Bit size of the alignment of the `char' type family.
134
+ char_alignment: 8
135
+
136
+ # Bit size of the `short' type family.
137
+ short_size: 16
138
+ # Bit size of the alignment of the `short' type family.
139
+ short_alignment: 16
140
+
141
+ # Bit size of the `int' type family.
142
+ int_size: 32
143
+ # Bit size of the alignment of the `int' type family.
144
+ int_alignment: 32
145
+
146
+ # Bit size of the `long int' type family.
147
+ long_size: 64
148
+ # Bit size of the alignment of the `long int' type family.
149
+ long_alignment: 64
150
+
151
+ # Bit size of the `long long int' type family.
152
+ long_long_size: 64
153
+ # Bit size of the alignment of the `long long int' type family.
154
+ long_long_alignment: 64
155
+
156
+ # Bit size of the `float' type.
157
+ float_size: 32
158
+ # Bit size of the alignment of the `float' type.
159
+ float_alignment: 32
160
+
161
+ # Bit size of the `double' type.
162
+ double_size: 64
163
+ # Bit size of the alignment of the `double' type.
164
+ double_alignment: 64
165
+
166
+ # Bit size of the `long double' type.
167
+ long_double_size: 128
168
+ # Bit size of the alignment of the `long double' type.
169
+ long_double_alignment: 128
170
+
171
+ # Bit size of the pointer to functions.
172
+ code_ptr_size: 64
173
+ # Bit size of the alignment of the pointer to functions.
174
+ code_ptr_alignment: 64
175
+
176
+ # Bit size of the pointer to data.
177
+ data_ptr_size: 64
178
+ # Bit size of the alignment of the pointer to data.
179
+ data_ptr_alignment: 64
180
+
181
+ # Treat the `char' type as same as the `unsigned char' type?
182
+ char_as_unsigned_char: true
183
+
184
+ # Treat the `>>' operator as a logical shift, not an arithmetic shift?
185
+ arithmetic:
186
+ logical_right_shift: true
187
+
188
+ # Max length of all symbols can be identified by the compiler.
189
+ identifier_max: 128
190
+
191
+ # Token substitution setting to warn the use of compiler specific extensions.
192
+ #
193
+ # If your compiler supports `__attribute__(...)' extension and you want to
194
+ # know the use of this extension, specify as below.
195
+ # extension_substitutions:
196
+ # "__attribute__(__adlint__any)": ""
197
+ # The token sequence consists of `__attribute__', `(', any kind of tokens,
198
+ # `)' will be replaced with nothing (erased) after the preprocessing phase.
199
+ # And this substitution will be warned by the message W0061.
200
+ extension_substitutions:
201
+ "__extension__": ""
202
+ "__attribute__(__adlint__any)": ""
203
+ "__asm__ __adlint__any(__adlint__any)": ""
204
+ "__signed__": "signed"
205
+ "__const": "const"
206
+ "__volatile": "volatile"
207
+ "__restrict": "restrict"
208
+ "__inline__": "inline"
209
+ "__inline": "inline"
210
+
211
+ # Token substitution setting to silently ignore the use of compiler specific
212
+ # extensions.
213
+ #
214
+ # If your compiler supports `__asm__ volatile (...)' extension and you do not
215
+ # mind the use of this extension, specify as below.
216
+ # arbitrary_substitutions:
217
+ # "__asm__ __adlint__any(__adlint__any)": ""
218
+ # The token sequence consists of `__asm__', any kind of tokens, `(', any kind
219
+ # of tokens, `)' will be replaced with nothing (erased) silently after the
220
+ # preprocessing phase.
221
+ arbitrary_substitutions:
222
+ "typeof": "__typeof__"
223
+ "__typeof": "__typeof__"
224
+ "alignof": "__alignof__"
225
+ "__alignof": "__alignof__"
226
+
227
+ #
228
+ # Linker specific traits section
229
+ #
230
+ linker_traits:
231
+
232
+ # Max length of external symbols can be identified by the linker.
233
+ identifier_max: 128
234
+
235
+ # Are external symbols identified without case by the linker?
236
+ identifier_ignore_case: false
237
+
238
+ #
239
+ # Message traits section
240
+ #
241
+ message_traits:
242
+
243
+ # Language of the message text.
244
+ # Currently, "en_US" and "ja_JP" are supported.
245
+ # Please help to translate the message catalog into your language.
246
+ language: "<%= lang %>"
247
+
248
+ # Enable inline annotation based message suppression?
249
+ individual_suppression: true
250
+
251
+ # Project-wide code check exclusion settings.
252
+ # Ex.
253
+ # exclusion:
254
+ # categories:
255
+ # - "REL"
256
+ # - "PRT"
257
+ # severities: "[ABC][5-9][0-9]"
258
+ # messages:
259
+ # W0001: "c_builtin"
260
+ # W0002: "c_ansi"
261
+ exclusion:
262
+
263
+ # Project-wide code check inclusion settings.
264
+ # Ex.
265
+ # inclusion:
266
+ # messages:
267
+ # W0001: "c_builtin"
268
+ # W0002: "c_ansi"
269
+ inclusion:
270
+
271
+ # Message text replacement.
272
+ # Ex.
273
+ # change_list:
274
+ # W9999:
275
+ # package: "c_builtin"
276
+ # classes:
277
+ # - "REL:A10"
278
+ # - "PRT:B20"
279
+ # format: "Your custom message for the warning of W9999."
280
+ # X9999:
281
+ # package: "core"
282
+ # classes:
283
+ # - "ERR:X99"
284
+ # format: "Your custom message for the warning of X9999."
285
+ # E9999:
286
+ # package: "core"
287
+ # classes:
288
+ # - "ERR:X99"
289
+ # format: "Your custom message for the warning of E9999."
290
+ change_list:
@@ -2,7 +2,7 @@
2
2
  * / | / _ |/ / / / | / /__ __/ Source Code Static Analyzer
3
3
  * / /| | / / / / / / / |/ / / / AdLint - Advanced Lint
4
4
  * / __ |/ /_/ / /___/ / /| / / /
5
- * /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2013, OGIS-RI Co.,Ltd.
5
+ * /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2014, OGIS-RI Co.,Ltd.
6
6
  *
7
7
  * Initial header for GCC 4.6.3 on Ubuntu 12.04 LTS (64bit) generated by adlintize <%= AdLint::SHORT_VERSION %>
8
8
  */
@@ -2,7 +2,7 @@
2
2
  # / | / _ |/ / / / | / /__ __/ Source Code Static Analyzer
3
3
  # / /| | / / / / / / / |/ / / / AdLint - Advanced Lint
4
4
  # / __ |/ /_/ / /___/ / /| / / /
5
- # /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2013, OGIS-RI Co.,Ltd.
5
+ # /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2014, OGIS-RI Co.,Ltd.
6
6
  #
7
7
  # Traits file generated by adlintize <%= AdLint::SHORT_VERSION %> at <%= Time.now %>.
8
8
 
@@ -2,7 +2,7 @@
2
2
  # / | / _ |/ / / / | / /__ __/ Source Code Static Analyzer
3
3
  # / /| | / / / / / / / |/ / / / AdLint - Advanced Lint
4
4
  # / __ |/ /_/ / /___/ / /| / / /
5
- # /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2013, OGIS-RI Co.,Ltd.
5
+ # /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2014, OGIS-RI Co.,Ltd.
6
6
  #
7
7
  # This file is part of AdLint.
8
8
  #
@@ -49,7 +49,7 @@
49
49
  # - "ERR:X99"
50
50
  # format: "Your custom message for the error of E9999."
51
51
 
52
- version: "3.2.0"
52
+ version: "3.2.6"
53
53
 
54
54
  message_definition:
55
55
  W0001:
@@ -2,7 +2,7 @@
2
2
  # / | / _ |/ / / / | / /__ __/ Source Code Static Analyzer
3
3
  # / /| | / / / / / / / |/ / / / AdLint - Advanced Lint
4
4
  # / __ |/ /_/ / /___/ / /| / / /
5
- # /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2013, OGIS-RI Co.,Ltd.
5
+ # /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2014, OGIS-RI Co.,Ltd.
6
6
  #
7
7
  # This file is part of AdLint.
8
8
  #
@@ -49,7 +49,7 @@
49
49
  # - "ERR:X99"
50
50
  # format: "Your custom message for the error of E9999."
51
51
 
52
- version: "3.2.0"
52
+ version: "3.2.6"
53
53
 
54
54
  message_definition:
55
55
  W0001:
@@ -2995,7 +2995,7 @@ message_definition:
2995
2995
  C0001:
2996
2996
  classes:
2997
2997
  - "INF:X99"
2998
- format: "この識別名 `%s' で警告を検知しました。"
2998
+ format: "この識別子 `%s' で警告を検知しました。"
2999
2999
  C1000:
3000
3000
  classes:
3001
3001
  - "INF:X99"
@@ -2,7 +2,7 @@
2
2
  # / | / _ |/ / / / | / /__ __/ Source Code Static Analyzer
3
3
  # / /| | / / / / / / / |/ / / / AdLint - Advanced Lint
4
4
  # / __ |/ /_/ / /___/ / /| / / /
5
- # /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2013, OGIS-RI Co.,Ltd.
5
+ # /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2014, OGIS-RI Co.,Ltd.
6
6
  #
7
7
  # This file is part of AdLint.
8
8
  #
@@ -49,7 +49,7 @@
49
49
  # - "ERR:X99"
50
50
  # format: "Your custom message for the error of E9999."
51
51
 
52
- version: "3.2.0"
52
+ version: "3.2.6"
53
53
 
54
54
  message_definition:
55
55
  X0001:
@@ -136,3 +136,7 @@ message_definition:
136
136
  classes:
137
137
  - "ERR:X99"
138
138
  format: "#include expects \"filename\" or <filename>."
139
+ E0018:
140
+ classes:
141
+ - "ERR:X99"
142
+ format: "Extra semicolon appears in the global scope."
@@ -2,7 +2,7 @@
2
2
  # / | / _ |/ / / / | / /__ __/ Source Code Static Analyzer
3
3
  # / /| | / / / / / / / |/ / / / AdLint - Advanced Lint
4
4
  # / __ |/ /_/ / /___/ / /| / / /
5
- # /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2013, OGIS-RI Co.,Ltd.
5
+ # /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2014, OGIS-RI Co.,Ltd.
6
6
  #
7
7
  # This file is part of AdLint.
8
8
  #
@@ -49,7 +49,7 @@
49
49
  # - "ERR:X99"
50
50
  # format: "Your custom message for the error of E9999."
51
51
 
52
- version: "3.2.0"
52
+ version: "3.2.6"
53
53
 
54
54
  message_definition:
55
55
  X0001:
@@ -136,3 +136,7 @@ message_definition:
136
136
  classes:
137
137
  - "ERR:X99"
138
138
  format: "#include ディレクティブに \"ファイル名\" または <ファイル名> が見つかりません。"
139
+ E0018:
140
+ classes:
141
+ - "ERR:X99"
142
+ format: "大域スコープに余分なセミコロンが見つかりました。"
@@ -18,3 +18,125 @@ Feature: E0008
18
18
  Then the output should exactly match with:
19
19
  | mesg | line | column |
20
20
  | W0118 | 5 | 6 |
21
+
22
+ Scenario: repeated multiple typedefs in a typedef declaration
23
+ Given a target source named "fixture.c" with:
24
+ """
25
+ typedef int foo;
26
+ typedef struct bar { foo f; } baz, *qux;
27
+ typedef struct bar baz, *qux;
28
+ """
29
+ When I successfully run `adlint fixture.c` on noarch
30
+ Then the output should exactly match with:
31
+ | mesg | line | column |
32
+ | W0425 | 2 | 37 |
33
+ | W0425 | 3 | 26 |
34
+ | W0586 | 2 | 31 |
35
+ | W0586 | 3 | 20 |
36
+ | W0586 | 2 | 37 |
37
+ | W0586 | 3 | 26 |
38
+
39
+ Scenario: repeated multiple typedefs in a typedef declaration
40
+ Given a target source named "fixture.c" with:
41
+ """
42
+ typedef enum foo { FOO } bar, *baz;
43
+ typedef enum foo bar, *baz;
44
+ """
45
+ When I successfully run `adlint fixture.c` on noarch
46
+ Then the output should exactly match with:
47
+ | mesg | line | column |
48
+ | W0425 | 1 | 32 |
49
+ | W0425 | 2 | 24 |
50
+ | W0586 | 1 | 26 |
51
+ | W0586 | 2 | 18 |
52
+ | W0586 | 1 | 32 |
53
+ | W0586 | 2 | 24 |
54
+
55
+ Scenario: repeated multiple typedefs in a typedef declaration
56
+ Given a target source named "fixture.c" with:
57
+ """
58
+ typedef struct foo { int i; } bar, *baz;
59
+ typedef struct foo bar, *baz;
60
+ """
61
+ When I successfully run `adlint fixture.c` on noarch
62
+ Then the output should exactly match with:
63
+ | mesg | line | column |
64
+ | W0425 | 1 | 37 |
65
+ | W0425 | 2 | 26 |
66
+ | W0586 | 1 | 31 |
67
+ | W0586 | 2 | 20 |
68
+ | W0586 | 1 | 37 |
69
+ | W0586 | 2 | 26 |
70
+
71
+ Scenario: repeated multiple typedefs in a typedef declaration
72
+ Given a target source named "fixture.c" with:
73
+ """
74
+ typedef struct foo { int i; } bar, *baz;
75
+ typedef struct foo {} bar, *baz;
76
+ """
77
+ When I successfully run `adlint fixture.c` on noarch
78
+ Then the output should exactly match with:
79
+ | mesg | line | column |
80
+ | W0703 | 2 | 16 |
81
+ | C0001 | 1 | 16 |
82
+ | W0785 | 2 | 16 |
83
+ | W0801 | 1 | 16 |
84
+ | W0801 | 2 | 16 |
85
+ | W0425 | 1 | 37 |
86
+ | W0425 | 2 | 29 |
87
+ | W0586 | 1 | 31 |
88
+ | W0586 | 2 | 23 |
89
+ | W0586 | 1 | 37 |
90
+ | W0586 | 2 | 29 |
91
+
92
+ Scenario: repeated multiple typedefs in a typedef declaration
93
+ Given a target source named "fixture.c" with:
94
+ """
95
+ typedef struct foo { int i; } bar, *baz;
96
+ typedef struct foo bar;
97
+ typedef struct foo *baz;
98
+ """
99
+ When I successfully run `adlint fixture.c` on noarch
100
+ Then the output should exactly match with:
101
+ | mesg | line | column |
102
+ | W0425 | 1 | 37 |
103
+ | W0586 | 1 | 31 |
104
+ | W0586 | 2 | 20 |
105
+ | W0586 | 1 | 37 |
106
+ | W0586 | 3 | 21 |
107
+
108
+ Scenario: repeated multiple typedefs in a typedef declaration
109
+ Given a target source named "fixture.c" with:
110
+ """
111
+ typedef int foo, *bar;
112
+ typedef int foo, *bar;
113
+ """
114
+ When I successfully run `adlint fixture.c` on noarch
115
+ Then the output should exactly match with:
116
+ | mesg | line | column |
117
+ | W0425 | 1 | 19 |
118
+ | W0425 | 2 | 19 |
119
+ | W0586 | 1 | 13 |
120
+ | W0586 | 2 | 13 |
121
+ | W0586 | 1 | 19 |
122
+ | W0586 | 2 | 19 |
123
+
124
+ Scenario: repeated multiple typedefs in a typedef declaration
125
+ Given a target source named "fixture.c" with:
126
+ """
127
+ typedef int foo, *bar, **baz;
128
+ typedef int foo, *bar, **baz;
129
+ """
130
+ When I successfully run `adlint fixture.c` on noarch
131
+ Then the output should exactly match with:
132
+ | mesg | line | column |
133
+ | W0425 | 1 | 19 |
134
+ | W0425 | 1 | 26 |
135
+ | W0425 | 2 | 19 |
136
+ | W0425 | 2 | 26 |
137
+ | W0586 | 1 | 13 |
138
+ | W0586 | 2 | 13 |
139
+ | W0586 | 1 | 19 |
140
+ | W0586 | 2 | 19 |
141
+ | W0586 | 1 | 26 |
142
+ | W0586 | 2 | 26 |