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
@@ -2,10 +2,10 @@
2
2
  @setfilename users_guide_ja.info
3
3
  @documentlanguage ja
4
4
  @documentencoding utf-8
5
- @settitle AdLint 2.6.14 利用者ガイド
5
+ @settitle AdLint 3.0.0 利用者ガイド
6
6
 
7
7
  @copying
8
- Copyright (C) 2010-2012, OGIS-RI Co.,Ltd.
8
+ Copyright (C) 2010-2013, OGIS-RI Co.,Ltd.
9
9
  @end copying
10
10
 
11
11
  @titlepage
@@ -37,7 +37,7 @@ Mac OS X、GNU/Linux、FreeBSD など Ruby がサポートする全てのプラ
37
37
  用することができます。
38
38
 
39
39
  @unnumberedsec ライセンス
40
- Copyright (C) 2010-2012, OGIS-RI Co.,Ltd.
40
+ Copyright (C) 2010-2013, OGIS-RI Co.,Ltd.
41
41
 
42
42
  AdLint is free software: you can redistribute it and/or modify
43
43
  it under the terms of the GNU General Public License as published by
@@ -860,6 +860,7 @@ Options:
860
860
  * 入力ファイル:Input Files.
861
861
  * 特性ファイル:Traits.
862
862
  * メッセージ定義ファイル:Message Definition.
863
+ * ソースコード注釈:Source Code Annotation.
863
864
  @end menu
864
865
 
865
866
 
@@ -1023,16 +1024,30 @@ exam_packages:
1023
1024
  @tab
1024
1025
  解析対象プロジェクトのルートディレクトリを設定します。
1025
1026
  @item 3
1026
- @cindex project_traits:include_path
1027
- @anchor{project_traits:include_path}
1027
+ @cindex project_traits:target_files:inclusion_paths
1028
+ @anchor{project_traits:target_files:inclusion_paths}
1028
1029
  @tab
1029
- @code{include_path}
1030
+ @code{target_files:inclusion_paths}
1030
1031
  @tab
1031
1032
  文字列の配列
1032
1033
  @tab
1033
- プロジェクト固有のインクルードパスを設定します。
1034
- 各エントリの文字列は、@code{`:'} を区切り文字として複数のパス名を設定できます。
1034
+ 解析対象ソースファイルが存在する上位ディレクトリのパス名を設定します。
1035
+ 各エントリの文字列は、@code{`:'} (Windows 環境では @code{`;'}) を区切り文字とし
1036
+ て複数のパス名を設定できます。
1035
1037
  @item 4
1038
+ @cindex project_traits:target_files:exclusion_paths
1039
+ @anchor{project_traits:target_files:exclusion_paths}
1040
+ @tab
1041
+ @code{target_files:exclusion_paths}
1042
+ @tab
1043
+ 文字列の配列
1044
+ @tab
1045
+ @ref{project_traits:target_files:inclusion_paths, @code{target_files:inclusion_paths}} で指定したディレクトリ配下のファイルで、解析対象から除外するソースファイルが存在するディレクトリを設定します。
1046
+ 解析対象プロジェクト中にサードパーティ製ライブラリのソースコードを含み、それら
1047
+ のソースファイルに関するコードチェックを行いたくない場合などに指定します。
1048
+ 各エントリの文字列は、@code{`:'} (Windows 環境では @code{`;'}) を区切り文字とし
1049
+ て複数のパス名を設定できます。
1050
+ @item 5
1036
1051
  @cindex project_traits:initial_header
1037
1052
  @anchor{project_traits:initial_header}
1038
1053
  @tab
@@ -1042,7 +1057,18 @@ exam_packages:
1042
1057
  @tab
1043
1058
  解析対象ソースファイルの先頭に自動でインクルードされるヘッダファイルを指定しま
1044
1059
  す。このファイルには、プロジェクト固有のマクロ定義などを記述します。
1045
- @item 5
1060
+ @item 6
1061
+ @cindex project_traits:file_search_paths
1062
+ @anchor{project_traits:file_search_paths}
1063
+ @tab
1064
+ @code{file_search_paths}
1065
+ @tab
1066
+ 文字列の配列
1067
+ @tab
1068
+ プロジェクト固有のインクルードファイルの探索パスを設定します。
1069
+ 各エントリの文字列は、@code{`:'} (Windows 環境では @code{`;'}) を区切り文字とし
1070
+ て複数のパス名を設定できます。
1071
+ @item 7
1046
1072
  @cindex project_traits:coding_style:indent_style
1047
1073
  @anchor{project_traits:coding_style:indent_style}
1048
1074
  @tab
@@ -1091,7 +1117,7 @@ foo(int i)
1091
1117
  @}
1092
1118
  @end example
1093
1119
  となります。
1094
- @item 6
1120
+ @item 8
1095
1121
  @cindex project_traits:coding_style:tab_width
1096
1122
  @anchor{project_traits:coding_style:tab_width}
1097
1123
  @tab
@@ -1100,7 +1126,7 @@ foo(int i)
1100
1126
  整数値
1101
1127
  @tab
1102
1128
  タブ文字の見た目上の桁数を設定します。
1103
- @item 7
1129
+ @item 9
1104
1130
  @cindex project_traits:coding_style:indent_width
1105
1131
  @anchor{project_traits:coding_style:indent_width}
1106
1132
  @tab
@@ -1109,7 +1135,7 @@ foo(int i)
1109
1135
  整数値
1110
1136
  @tab
1111
1137
  インデントの見た目上の桁数を設定します。
1112
- @item 8
1138
+ @item 10
1113
1139
  @cindex project_traits:file_encoding
1114
1140
  @anchor{project_traits:file_encoding}
1115
1141
  @tab
@@ -1143,204 +1169,205 @@ foo(int i)
1143
1169
  イルを指定します。このファイルには、コンパイラ固有の定義済みマクロや型定義など
1144
1170
  を記述します。
1145
1171
  @item 2
1146
- @cindex compiler_traits:standard_type:char_size
1147
- @anchor{compiler_traits:standard_type:char_size}
1172
+ @cindex compiler_traits:file_search_paths
1173
+ @anchor{compiler_traits:file_search_paths}
1148
1174
  @tab
1149
- @code{standard_type:char_size}
1175
+ @code{file_search_paths}
1150
1176
  @tab
1151
- 整数値
1177
+ 文字列の配列
1152
1178
  @tab
1153
- @code{char} 型ファミリのサイズをビット単位で設定します。
1179
+ コンパイラ固有のインクルードファイルの探索パスを設定します。
1180
+ 各エントリの文字列は、@code{`:'} (Windows 環境では @code{`;'}) を区切り文字とし
1181
+ て複数のパス名を設定できます。
1154
1182
  @item 3
1155
- @cindex compiler_traits:standard_type:char_alignment
1156
- @anchor{compiler_traits:standard_type:char_alignment}
1183
+ @cindex compiler_traits:standard_types:char_size
1184
+ @anchor{compiler_traits:standard_types:char_size}
1157
1185
  @tab
1158
- @code{standard_type:char_alignment}
1186
+ @code{standard_types:char_size}
1159
1187
  @tab
1160
1188
  整数値
1161
1189
  @tab
1162
- @code{char} 型ファミリのメモリアライメントをビット単位で設定します。
1190
+ @code{char} 型ファミリのサイズをビット単位で設定します。
1163
1191
  @item 4
1164
- @cindex compiler_traits:standard_type:short_size
1165
- @anchor{compiler_traits:standard_type:short_size}
1192
+ @cindex compiler_traits:standard_types:char_alignment
1193
+ @anchor{compiler_traits:standard_types:char_alignment}
1166
1194
  @tab
1167
- @code{standard_type:short_size}
1195
+ @code{standard_types:char_alignment}
1168
1196
  @tab
1169
1197
  整数値
1170
1198
  @tab
1171
- @code{short} 型ファミリのサイズをビット単位で設定します。
1199
+ @code{char} 型ファミリのメモリアライメントをビット単位で設定します。
1172
1200
  @item 5
1173
- @cindex compiler_traits:standard_type:short_alignment
1174
- @anchor{compiler_traits:standard_type:short_alignment}
1201
+ @cindex compiler_traits:standard_types:short_size
1202
+ @anchor{compiler_traits:standard_types:short_size}
1175
1203
  @tab
1176
- @code{standard_type:short_alignment}
1204
+ @code{standard_types:short_size}
1177
1205
  @tab
1178
1206
  整数値
1179
1207
  @tab
1180
- @code{short} 型ファミリのメモリアライメントをビット単位で設定します。
1208
+ @code{short} 型ファミリのサイズをビット単位で設定します。
1181
1209
  @item 6
1182
- @cindex compiler_traits:standard_type:int_size
1183
- @anchor{compiler_traits:standard_type:int_size}
1210
+ @cindex compiler_traits:standard_types:short_alignment
1211
+ @anchor{compiler_traits:standard_types:short_alignment}
1184
1212
  @tab
1185
- @code{standard_type:int_size}
1213
+ @code{standard_types:short_alignment}
1186
1214
  @tab
1187
1215
  整数値
1188
1216
  @tab
1189
- @code{int} 型ファミリのサイズをビット単位で設定します。
1217
+ @code{short} 型ファミリのメモリアライメントをビット単位で設定します。
1190
1218
  @item 7
1191
- @cindex compiler_traits:standard_type:int_alignment
1192
- @anchor{compiler_traits:standard_type:int_alignment}
1219
+ @cindex compiler_traits:standard_types:int_size
1220
+ @anchor{compiler_traits:standard_types:int_size}
1193
1221
  @tab
1194
- @code{standard_type:int_alignment}
1222
+ @code{standard_types:int_size}
1195
1223
  @tab
1196
1224
  整数値
1197
1225
  @tab
1198
- @code{int} 型ファミリのメモリアライメントをビット単位で設定します。
1226
+ @code{int} 型ファミリのサイズをビット単位で設定します。
1199
1227
  @item 8
1200
- @cindex compiler_traits:standard_type:long_size
1201
- @anchor{compiler_traits:standard_type:long_size}
1228
+ @cindex compiler_traits:standard_types:int_alignment
1229
+ @anchor{compiler_traits:standard_types:int_alignment}
1202
1230
  @tab
1203
- @code{standard_type:long_size}
1231
+ @code{standard_types:int_alignment}
1204
1232
  @tab
1205
1233
  整数値
1206
1234
  @tab
1207
- @code{long int} 型ファミリのサイズをビット単位で設定します。
1235
+ @code{int} 型ファミリのメモリアライメントをビット単位で設定します。
1208
1236
  @item 9
1209
- @cindex compiler_traits:standard_type:long_alignment
1210
- @anchor{compiler_traits:standard_type:long_alignment}
1237
+ @cindex compiler_traits:standard_types:long_size
1238
+ @anchor{compiler_traits:standard_types:long_size}
1211
1239
  @tab
1212
- @code{standard_type:long_alignment}
1240
+ @code{standard_types:long_size}
1213
1241
  @tab
1214
1242
  整数値
1215
1243
  @tab
1216
- @code{long int} 型ファミリのメモリアライメントをビット単位で設定します。
1244
+ @code{long int} 型ファミリのサイズをビット単位で設定します。
1217
1245
  @item 10
1218
- @cindex compiler_traits:standard_type:long_long_size
1219
- @anchor{compiler_traits:standard_type:long_long_size}
1246
+ @cindex compiler_traits:standard_types:long_alignment
1247
+ @anchor{compiler_traits:standard_types:long_alignment}
1220
1248
  @tab
1221
- @code{standard_type:long_long_size}
1249
+ @code{standard_types:long_alignment}
1222
1250
  @tab
1223
1251
  整数値
1224
1252
  @tab
1225
- @code{long long int} 型ファミリのサイズをビット単位で設定します。
1253
+ @code{long int} 型ファミリのメモリアライメントをビット単位で設定します。
1226
1254
  @item 11
1227
- @cindex compiler_traits:standard_type:long_long_alignment
1228
- @anchor{compiler_traits:standard_type:long_long_alignment}
1255
+ @cindex compiler_traits:standard_types:long_long_size
1256
+ @anchor{compiler_traits:standard_types:long_long_size}
1229
1257
  @tab
1230
- @code{standard_type:long_long_alignment}
1258
+ @code{standard_types:long_long_size}
1231
1259
  @tab
1232
1260
  整数値
1233
1261
  @tab
1234
- @code{long long int} 型ファミリのメモリアライメントをビット単位で設定します。
1262
+ @code{long long int} 型ファミリのサイズをビット単位で設定します。
1235
1263
  @item 12
1236
- @cindex compiler_traits:standard_type:float_size
1237
- @anchor{compiler_traits:standard_type:float_size}
1264
+ @cindex compiler_traits:standard_types:long_long_alignment
1265
+ @anchor{compiler_traits:standard_types:long_long_alignment}
1238
1266
  @tab
1239
- @code{standard_type:float_size}
1267
+ @code{standard_types:long_long_alignment}
1240
1268
  @tab
1241
1269
  整数値
1242
1270
  @tab
1243
- @code{float} 型のサイズをビット単位で設定します。
1271
+ @code{long long int} 型ファミリのメモリアライメントをビット単位で設定します。
1244
1272
  @item 13
1245
- @cindex compiler_traits:standard_type:float_alignment
1246
- @anchor{compiler_traits:standard_type:float_alignment}
1273
+ @cindex compiler_traits:standard_types:float_size
1274
+ @anchor{compiler_traits:standard_types:float_size}
1247
1275
  @tab
1248
- @code{standard_type:float_alignment}
1276
+ @code{standard_types:float_size}
1249
1277
  @tab
1250
1278
  整数値
1251
1279
  @tab
1252
- @code{float} 型のメモリアライメントをビット単位で設定します。
1280
+ @code{float} 型のサイズをビット単位で設定します。
1253
1281
  @item 14
1254
- @cindex compiler_traits:standard_type:double_size
1255
- @anchor{compiler_traits:standard_type:double_size}
1282
+ @cindex compiler_traits:standard_types:float_alignment
1283
+ @anchor{compiler_traits:standard_types:float_alignment}
1256
1284
  @tab
1257
- @code{standard_type:double_size}
1285
+ @code{standard_types:float_alignment}
1258
1286
  @tab
1259
1287
  整数値
1260
1288
  @tab
1261
- @code{double} 型のサイズをビット単位で設定します。
1289
+ @code{float} 型のメモリアライメントをビット単位で設定します。
1262
1290
  @item 15
1263
- @cindex compiler_traits:standard_type:double_alignment
1264
- @anchor{compiler_traits:standard_type:double_alignment}
1291
+ @cindex compiler_traits:standard_types:double_size
1292
+ @anchor{compiler_traits:standard_types:double_size}
1265
1293
  @tab
1266
- @code{standard_type:double_alignment}
1294
+ @code{standard_types:double_size}
1267
1295
  @tab
1268
1296
  整数値
1269
1297
  @tab
1270
- @code{double} 型のメモリアライメントをビット単位で設定します。
1298
+ @code{double} 型のサイズをビット単位で設定します。
1271
1299
  @item 16
1272
- @cindex compiler_traits:standard_type:long_double_size
1273
- @anchor{compiler_traits:standard_type:long_double_size}
1300
+ @cindex compiler_traits:standard_types:double_alignment
1301
+ @anchor{compiler_traits:standard_types:double_alignment}
1274
1302
  @tab
1275
- @code{standard_type:long_double_size}
1303
+ @code{standard_types:double_alignment}
1276
1304
  @tab
1277
1305
  整数値
1278
1306
  @tab
1279
- @code{long double} 型のサイズをビット単位で設定します。
1307
+ @code{double} 型のメモリアライメントをビット単位で設定します。
1280
1308
  @item 17
1281
- @cindex compiler_traits:standard_type:long_double_alignment
1282
- @anchor{compiler_traits:standard_type:long_double_alignment}
1309
+ @cindex compiler_traits:standard_types:long_double_size
1310
+ @anchor{compiler_traits:standard_types:long_double_size}
1283
1311
  @tab
1284
- @code{standard_type:long_double_alignment}
1312
+ @code{standard_types:long_double_size}
1285
1313
  @tab
1286
1314
  整数値
1287
1315
  @tab
1288
- @code{long double} 型のメモリアライメントをビット単位で設定します。
1316
+ @code{long double} 型のサイズをビット単位で設定します。
1289
1317
  @item 18
1290
- @cindex compiler_traits:standard_type:code_ptr_size
1291
- @anchor{compiler_traits:standard_type:code_ptr_size}
1318
+ @cindex compiler_traits:standard_types:long_double_alignment
1319
+ @anchor{compiler_traits:standard_types:long_double_alignment}
1292
1320
  @tab
1293
- @code{standard_type:code_ptr_size}
1321
+ @code{standard_types:long_double_alignment}
1294
1322
  @tab
1295
1323
  整数値
1296
1324
  @tab
1297
- 関数へのポインタ型のサイズをビット単位で設定します。
1325
+ @code{long double} 型のメモリアライメントをビット単位で設定します。
1298
1326
  @item 19
1299
- @cindex compiler_traits:standard_type:code_ptr_alignment
1300
- @anchor{compiler_traits:standard_type:code_ptr_alignment}
1327
+ @cindex compiler_traits:standard_types:code_ptr_size
1328
+ @anchor{compiler_traits:standard_types:code_ptr_size}
1301
1329
  @tab
1302
- @code{standard_type:code_ptr_alignment}
1330
+ @code{standard_types:code_ptr_size}
1303
1331
  @tab
1304
1332
  整数値
1305
1333
  @tab
1306
- 関数へのポインタ型のメモリアライメントをビット単位で設定します。
1334
+ 関数へのポインタ型のサイズをビット単位で設定します。
1307
1335
  @item 20
1308
- @cindex compiler_traits:standard_type:data_ptr_size
1309
- @anchor{compiler_traits:standard_type:data_ptr_size}
1336
+ @cindex compiler_traits:standard_types:code_ptr_alignment
1337
+ @anchor{compiler_traits:standard_types:code_ptr_alignment}
1310
1338
  @tab
1311
- @code{standard_type:data_ptr_size}
1339
+ @code{standard_types:code_ptr_alignment}
1312
1340
  @tab
1313
1341
  整数値
1314
1342
  @tab
1315
- データへのポインタ型のサイズをビット単位で設定します。
1343
+ 関数へのポインタ型のメモリアライメントをビット単位で設定します。
1316
1344
  @item 21
1317
- @cindex compiler_traits:standard_type:data_ptr_alignment
1318
- @anchor{compiler_traits:standard_type:data_ptr_alignment}
1345
+ @cindex compiler_traits:standard_types:data_ptr_size
1346
+ @anchor{compiler_traits:standard_types:data_ptr_size}
1319
1347
  @tab
1320
- @code{standard_type:data_ptr_alignment}
1348
+ @code{standard_types:data_ptr_size}
1321
1349
  @tab
1322
1350
  整数値
1323
1351
  @tab
1324
- データへのポインタ型のメモリアライメントをビット単位で設定します。
1352
+ データへのポインタ型のサイズをビット単位で設定します。
1325
1353
  @item 22
1326
- @cindex compiler_traits:standard_type:char_as_unsigned_char
1327
- @anchor{compiler_traits:standard_type:char_as_unsigned_char}
1354
+ @cindex compiler_traits:standard_types:data_ptr_alignment
1355
+ @anchor{compiler_traits:standard_types:data_ptr_alignment}
1328
1356
  @tab
1329
- @code{standard_type:char_as_unsigned_char}
1357
+ @code{standard_types:data_ptr_alignment}
1330
1358
  @tab
1331
- 真偽値
1359
+ 整数値
1332
1360
  @tab
1333
- @code{`char'} 型を @code{`unsigned char'} 型として扱う場合 true を指定します。
1361
+ データへのポインタ型のメモリアライメントをビット単位で設定します。
1334
1362
  @item 23
1335
- @cindex compiler_traits:include_path
1336
- @anchor{compiler_traits:include_path}
1363
+ @cindex compiler_traits:standard_types:char_as_unsigned_char
1364
+ @anchor{compiler_traits:standard_types:char_as_unsigned_char}
1337
1365
  @tab
1338
- @code{include_path}
1366
+ @code{standard_types:char_as_unsigned_char}
1339
1367
  @tab
1340
- 文字列の配列
1368
+ 真偽値
1341
1369
  @tab
1342
- コンパイラ固有のインクルードパスを設定します。
1343
- 各エントリの文字列は、@code{`:'} を区切り文字として複数のパス名を設定できます。
1370
+ @code{`char'} 型を @code{`unsigned char'} 型として扱う場合 true を指定します。
1344
1371
  @item 24
1345
1372
  @cindex compiler_traits:arithmetic:logical_right_shift
1346
1373
  @anchor{compiler_traits:arithmetic:logical_right_shift}
@@ -1352,10 +1379,19 @@ foo(int i)
1352
1379
  右シフト式 @code{`>>'} を算術シフトではなく、論理シフトとして扱う場合 true を指
1353
1380
  定します。
1354
1381
  @item 25
1355
- @cindex compiler_traits:extension_substitution
1356
- @anchor{compiler_traits:extension_substitution}
1382
+ @cindex compiler_traits:identifier_max
1383
+ @anchor{compiler_traits:identifier_max}
1357
1384
  @tab
1358
- @code{extension_substitution}
1385
+ @code{identifier_max}
1386
+ @tab
1387
+ 整数値
1388
+ @tab
1389
+ コンパイラにより識別可能なシンボルの最大長を指定します。
1390
+ @item 26
1391
+ @cindex compiler_traits:extension_substitutions
1392
+ @anchor{compiler_traits:extension_substitutions}
1393
+ @tab
1394
+ @code{extension_substitutions}
1359
1395
  @tab
1360
1396
  文字列のマップ
1361
1397
  @tab
@@ -1367,36 +1403,27 @@ AdLint は、ここで指定した拡張機能の使用箇所を @ref{W0061} メ
1367
1403
  削除しつつ @ref{W0061} メッセージによる警告を出力する場合は、下記のように指定し
1368
1404
  ます。
1369
1405
  @example
1370
- extension_substitution:
1406
+ extension_substitutions:
1371
1407
  "__attribute__(__adlint__any)": ""
1372
1408
  @end example
1373
1409
 
1374
1410
  また、@code{`__restrict'} というトークンを @code{`restrict'} に置換しつつ
1375
1411
  @ref{W0061} メッセージによる警告を出力する場合は、下記のように指定します。
1376
1412
  @example
1377
- extension_substitution:
1413
+ extension_substitutions:
1378
1414
  "__restrict": "restrict"
1379
1415
  @end example
1380
- @item 26
1381
- @cindex compiler_traits:arbitrary_substitution
1382
- @anchor{compiler_traits:arbitrary_substitution}
1383
- @tab
1384
- @code{arbitrary_substitution}
1385
- @tab
1386
- 文字列のマップ
1387
- @tab
1388
- @ref{compiler_traits:extension_substitution, @code{extension_substitution}} と
1389
- 同様に、プリプロセス後にトークン列を置換するための項目ですが、@ref{W0061} メッ
1390
- セージを出力しない点が異なります。
1391
1416
  @item 27
1392
- @cindex compiler_traits:identifier_max
1393
- @anchor{compiler_traits:identifier_max}
1417
+ @cindex compiler_traits:arbitrary_substitutions
1418
+ @anchor{compiler_traits:arbitrary_substitutions}
1394
1419
  @tab
1395
- @code{identifier_max}
1420
+ @code{arbitrary_substitutions}
1396
1421
  @tab
1397
- 整数値
1422
+ 文字列のマップ
1398
1423
  @tab
1399
- コンパイラにより識別可能なシンボルの最大長を指定します。
1424
+ @ref{compiler_traits:extension_substitutions, @code{extension_substitutions}}
1425
+ と同様に、プリプロセス後にトークン列を置換するための項目ですが、@ref{W0061} メ
1426
+ ッセージを出力しない点が異なります。
1400
1427
  @end multitable
1401
1428
 
1402
1429
 
@@ -1446,57 +1473,17 @@ extension_substitution:
1446
1473
  メッセージ本文の言語を指定します。(現時点では) @code{"en_US"} か @code{"ja_JP"}
1447
1474
  が指定可能です。
1448
1475
  @item 2
1449
- @cindex message_traits:message_with_class
1450
- @anchor{message_traits:message_with_class}
1476
+ @cindex message_traits:individual_suppression
1477
+ @anchor{message_traits:individual_suppression}
1451
1478
  @tab
1452
- @code{message_with_class}
1479
+ @code{individual_suppression}
1453
1480
  @tab
1454
1481
  真偽値
1455
1482
  @tab
1456
- @code{true} の場合、@ref{Message File, メッセージファイル}に出力するメッセージ
1457
- レコードに、ソースコード検査パッケージ名、カテゴリ、深刻度のフィールドを追加し
1458
- ます。
1459
- @item 3
1460
- @cindex message_traits:
1461
- @anchor{message_traits:warn_files_in}
1462
- @tab
1463
- @code{warn_files_in}
1464
- @tab
1465
- 文字列の配列
1466
- @tab
1467
- @b{AdLint 2.6.14 では、この項目による設定は未サポートです。}
1483
+ 解析対象ファイル内の @ref{Source Code Annotation, ソースコード注釈} による警告メッセージの抑止機能を有効化します。
1468
1484
 
1469
- ディレクトリパス名を指定した場合は、そのディレクトリ配下のソースコードについて
1470
- のみ、警告メッセージを出力します。
1471
- 省略した場合は、システムヘッダやサードパーティーライブラリのヘッダなど、解析対
1472
- 象ソースコードがインクルードする全てのファイルについて、警告メッセージを出力し
1473
- ます。
1474
- @item 4
1475
- @cindex message_traits:
1476
- @anchor{message_traits:warn_files_not_in}
1477
- @tab
1478
- @code{warn_files_not_in}
1479
- @tab
1480
- 文字列の配列
1481
- @tab
1482
- @b{AdLint 2.6.14 では、この項目による設定は未サポートです。}
1483
-
1484
- ディレクトリパス名を指定した場合は、そのディレクトリ配下のソースコードについて
1485
- は、警告メッセージを抑止します。
1486
- @item 5
1487
- @cindex message_traits:individual_selection
1488
- @anchor{message_traits:individual_selection}
1489
- @tab
1490
- @code{individual_selection}
1491
- @tab
1492
- 真偽値
1493
- @tab
1494
- @b{AdLint 2.6.14 では、この項目による設定は未サポートです。}
1495
-
1496
- 解析対象ソースコード内の注釈によるコードチェックの選択機能を有効化します。
1497
-
1498
- @code{true} の場合、注釈によるコードチェックの選択が可能になります。
1499
- @item 6
1485
+ @code{true} の場合、注釈によるメッセージ抑止が可能になります。
1486
+ @item 3
1500
1487
  @cindex message_traits:exclusion:categories
1501
1488
  @anchor{message_traits:exclusion:categories}
1502
1489
  @tab
@@ -1504,12 +1491,10 @@ extension_substitution:
1504
1491
  @tab
1505
1492
  文字列の配列
1506
1493
  @tab
1507
- @b{AdLint 2.6.14 では、この項目による設定は未サポートです。}
1508
-
1509
1494
  @ref{global_traits:exam_packages, exam_packages} で指定したソースコード検査パッ
1510
1495
  ケージ中のコードチェック機能で、実行を除外するものをメッセージのカテゴリにより
1511
1496
  指定します。
1512
- @item 7
1497
+ @item 4
1513
1498
  @cindex message_traits:exclusion:severities
1514
1499
  @anchor{message_traits:exclusion:severities}
1515
1500
  @tab
@@ -1517,12 +1502,10 @@ extension_substitution:
1517
1502
  @tab
1518
1503
  正規表現を表す文字列
1519
1504
  @tab
1520
- @b{AdLint 2.6.14 では、この項目による設定は未サポートです。}
1521
-
1522
1505
  @ref{global_traits:exam_packages, exam_packages} で指定したソースコード検査パッ
1523
1506
  ケージ中のコードチェック機能で、実行を除外するものをメッセージの深刻度により指
1524
1507
  定します。
1525
- @item 8
1508
+ @item 5
1526
1509
  @cindex message_traits:exclusion:messages
1527
1510
  @anchor{message_traits:exclusion:messages}
1528
1511
  @tab
@@ -1530,8 +1513,6 @@ extension_substitution:
1530
1513
  @tab
1531
1514
  メッセージ ID と文字列のマップ
1532
1515
  @tab
1533
- @b{AdLint 2.6.14 では、この項目による設定は未サポートです。}
1534
-
1535
1516
  @ref{global_traits:exam_packages, exam_packages} で指定したソースコード検査パッ
1536
1517
  ケージ中のコードチェック機能で、実行を除外するものをメッセージ ID により指定し
1537
1518
  ます。
@@ -1539,7 +1520,7 @@ extension_substitution:
1539
1520
  メッセージ ID は、ソースコード検査パッケージをまたいでユニークではない場合があ
1540
1521
  るため、文字列として該当するメッセージ ID が含まれるソースコード検査パッケージ
1541
1522
  名も指定してください。
1542
- @item 9
1523
+ @item 6
1543
1524
  @cindex message_traits:inclusion:messages
1544
1525
  @anchor{message_traits:inclusion:messages}
1545
1526
  @tab
@@ -1547,15 +1528,13 @@ extension_substitution:
1547
1528
  @tab
1548
1529
  メッセージ ID と文字列のマップ
1549
1530
  @tab
1550
- @b{AdLint 2.6.14 では、この項目による設定は未サポートです。}
1551
-
1552
1531
  @code{exclusion} セクションの設定内容により除外しましたが、メッセージ ID 指定で
1553
1532
  特定のコードチェック機能を含める場合に指定します。
1554
1533
 
1555
1534
  例えば、@ref{message_traits:exclusion:categories, exclusion:categories} でカテ
1556
1535
  ゴリ指定により除外したコードチェック機能群のうち、特定のもののみを実行したい場
1557
1536
  合を想定した項目です。
1558
- @item 10
1537
+ @item 7
1559
1538
  @cindex message_traits:change_list
1560
1539
  @anchor{message_traits:change_list}
1561
1540
  @tab
@@ -1582,6 +1561,7 @@ change_list:
1582
1561
 
1583
1562
  @node Message Definition
1584
1563
  @section メッセージ定義ファイル
1564
+
1585
1565
  AdLint が出力する全てのエラー、警告メッセージを @uref{http://yaml.org/, YAML 形
1586
1566
  式}の設定ファイルに記述します。
1587
1567
  通常、このファイルは直接編集することはありません。
@@ -1589,6 +1569,81 @@ AdLint が出力する全てのエラー、警告メッセージを @uref{http:/
1589
1569
  @code{change_list}} 項目で変更内容を指定してください。
1590
1570
 
1591
1571
 
1572
+ @node Source Code Annotation
1573
+ @section ソースコード注釈
1574
+
1575
+ 解析対象のソースコード中にコメントとして、AdLint の解析動作を制御するための注釈
1576
+ を記述することができます。
1577
+
1578
+ @subsection 警告メッセージ抑止注釈
1579
+
1580
+ 通常のコメントに @code{ADLINT:SF} で始まる注釈を含めることで、該当ファイルの解
1581
+ 析時に指定した警告メッセージを抑止することができます。
1582
+ また、@code{ADLINT:SL} で始まる注釈を含めると、該当行の解析時に指定した警告メッ
1583
+ セージを抑止することができます。
1584
+
1585
+ 注釈の書式、および、使用例を下記に示します。
1586
+
1587
+ @subheading @bullet{ 共通定義}
1588
+ @example
1589
+ @anchor{message_specifier_list}
1590
+ message_specifier_list : @ref{qualified_message_specifier}
1591
+ | @ref{unqualified_message_specifier}
1592
+ | @ref{message_specifier_list} @ref{qualified_message_specifier}
1593
+ | @ref{message_specifier_list} @ref{unqualified_message_specifier}
1594
+
1595
+ @anchor{qualified_message_specifier}
1596
+ qualified_message_specifier : ':' @ref{package_name} @ref{unqualified_message_specifier}
1597
+
1598
+ @anchor{unqualified_message_specifier}
1599
+ unqualified_message_specifier : ':' '[' @ref{message_name_list} ']'
1600
+
1601
+ @anchor{message_name_list}
1602
+ message_name_list : @ref{message_name}
1603
+ | @ref{message_name_list} ',' @ref{message_name}
1604
+
1605
+ @anchor{message_name}
1606
+ message_name : 'W' [0-9]@{4@}
1607
+
1608
+ @anchor{package_name}
1609
+ package_name : 特性ファイルの @ref{global_traits:exam_packages, @code{exam_packages}} に指定した文字列
1610
+ @end example
1611
+
1612
+ @subheading @bullet{ ファイル毎の警告メッセージ抑止注釈}
1613
+ @example
1614
+ @anchor{file_wise_suppressor_annotation}
1615
+ file_wise_suppressor_annotation : "/*" @ref{file_wise_suppressor_head} @ref{message_specifier_list} "*/"
1616
+ | "//" @ref{file_wise_suppressor_head} @ref{message_specifier_list}
1617
+
1618
+ @anchor{file_wise_suppressor_head}
1619
+ file_wise_suppressor_head : "ADLINT:SF"
1620
+ @end example
1621
+
1622
+ @subheading @bullet{ 行毎の警告メッセージ抑止注釈}
1623
+ @example
1624
+ @anchor{line_wise_suppressor_annotation}
1625
+ line_wise_suppressor_annotation : "/*" @ref{line_wise_suppressor_head} @ref{message_specifier_list} "*/"
1626
+ | "//" @ref{line_wise_suppressor_head} @ref{message_specifier_list}
1627
+
1628
+ @anchor{line_wise_suppressor_head}
1629
+ line_wise_suppressor_head : "ADLINT:SL"
1630
+ @end example
1631
+
1632
+ @subheading @bullet{ サンプルコード}
1633
+ @verbatim
1634
+ /* ADLINT:SF:[W0001,W0002] (to suppress W0001 and W0002 of all exam-packages in this file.) */
1635
+ #include <stdio.h>
1636
+
1637
+ extern int i; /* ADLINT:SL:[W0003] (to suppress W0003 of all exam-packages only at this line.) */
1638
+ extern int j; /* ADLINT:SL:c_staging:[W2001] (to suppress W2001 of `c_staging' exam-package only at this line.) */
1639
+
1640
+ void foo(void)
1641
+ {
1642
+ printf("%d\n", i + j);
1643
+ }
1644
+ @end verbatim
1645
+
1646
+
1592
1647
  @node Output
1593
1648
  @chapter 出力仕様
1594
1649
 
@@ -1726,6 +1781,11 @@ function_scope_type
1726
1781
  : 'F' <- File
1727
1782
  | 'B' <- Block
1728
1783
 
1784
+ @anchor{function_declaration_type}
1785
+ function_declaration_type
1786
+ : 'E' <- Explicit
1787
+ | 'I' <- Implicit
1788
+
1729
1789
  @anchor{type_name}
1730
1790
  type_name : c_identifier
1731
1791
 
@@ -1800,7 +1860,7 @@ metrics_version_head : "VER"
1800
1860
  @end example
1801
1861
 
1802
1862
  @anchor{Output_Metrics_Ver_Sample}
1803
- @subheading @bullet{} 出力例
1863
+ @subheading @bullet{ 出力例}
1804
1864
  @example
1805
1865
  VER,0.6.4,2012-02-16 14:10:59 +0900,/home/yanoh/intro_demo
1806
1866
  @end example
@@ -1819,7 +1879,7 @@ declaration_record
1819
1879
  declaration_head : "DCL"
1820
1880
  @end example
1821
1881
 
1822
- @subheading @bullet{} 型宣言レコード
1882
+ @subheading @bullet{ 型宣言レコード}
1823
1883
  @example
1824
1884
  @anchor{typedcl_record_body}
1825
1885
  typedcl_record_body
@@ -1833,22 +1893,22 @@ typedcl_type
1833
1893
  | 'E' <- enum
1834
1894
  @end example
1835
1895
 
1836
- @subheading @bullet{} 外部変数宣言レコード
1896
+ @subheading @bullet{ 外部変数宣言レコード}
1837
1897
  @example
1838
1898
  @anchor{gvardcl_record_body}
1839
1899
  gvardcl_record_body
1840
1900
  : 'V' ',' @ref{variable_name} ',' @ref{type_rep}
1841
1901
  @end example
1842
1902
 
1843
- @subheading @bullet{} 関数宣言レコード
1903
+ @subheading @bullet{ 関数宣言レコード}
1844
1904
  @example
1845
1905
  @anchor{funcdcl_record_body}
1846
1906
  funcdcl_record_body
1847
- : 'F' ',' @ref{function_linkage_type} ',' @ref{function_scope_type} ',' @ref{function_identifier}
1907
+ : 'F' ',' @ref{function_linkage_type} ',' @ref{function_scope_type} ',' @ref{function_declaration_type} ',' @ref{function_identifier}
1848
1908
  @end example
1849
1909
 
1850
1910
  @anchor{Output_Metrics_Dcl_Sample}
1851
- @subheading @bullet{} 出力例
1911
+ @subheading @bullet{ 出力例}
1852
1912
  @verbatim
1853
1913
  1: typedef int *int_ptr;
1854
1914
  2:
@@ -1879,7 +1939,7 @@ DCL,test.c,3,8,T,S,Foo,struct Foo @{ int i; long l; @}
1879
1939
  DCL,test.c,8,7,T,U,Bar,union Bar @{ int i; char c; @}
1880
1940
  DCL,test.c,13,6,T,E,Color,"enum Color @{ RED = 1, GREEN, BLUE @}"
1881
1941
  DCL,test.c,19,12,V,global_1,int
1882
- DCL,test.c,21,12,F,X,F,foo,int foo(long)
1942
+ DCL,test.c,21,12,F,X,F,E,foo,int foo(long)
1883
1943
  @end example
1884
1944
 
1885
1945
  @anchor{Output_Metrics_Def}
@@ -1897,20 +1957,20 @@ definition_record
1897
1957
  definition_head : "DEF"
1898
1958
  @end example
1899
1959
 
1900
- @subheading @bullet{} 変数定義レコード
1960
+ @subheading @bullet{ 変数定義レコード}
1901
1961
  @example
1902
1962
  @anchor{vardef_record_body}
1903
1963
  vardef_record_body
1904
- : 'V' ',' @ref{var_linkage_type} ',' @ref{var_scope_type} ',' @ref{storage_class_type} ',' @ref{variable_name} ',' @ref{type_rep}
1964
+ : 'V' ',' @ref{variable_linkage_type} ',' @ref{variable_scope_type} ',' @ref{storage_class_type} ',' @ref{variable_name} ',' @ref{type_rep}
1905
1965
 
1906
- @anchor{var_linkage_type}
1907
- var_linkage_type
1966
+ @anchor{variable_linkage_type}
1967
+ variable_linkage_type
1908
1968
  : 'I' <- Internal
1909
1969
  | 'X' <- eXternal
1910
1970
  | 'N' <- None
1911
1971
 
1912
- @anchor{var_scope_type}
1913
- var_scope_type
1972
+ @anchor{variable_scope_type}
1973
+ variable_scope_type
1914
1974
  : 'F' <- File
1915
1975
  | 'B' <- Block
1916
1976
  | 'P' <- Parameter
@@ -1923,14 +1983,14 @@ storage_class_type
1923
1983
  | 'N' <- None
1924
1984
  @end example
1925
1985
 
1926
- @subheading @bullet{} 関数定義レコード
1986
+ @subheading @bullet{ 関数定義レコード}
1927
1987
  @example
1928
1988
  @anchor{fundef_record_body}
1929
1989
  fundef_record_body
1930
1990
  : 'F' ',' @ref{function_linkage_type} ',' @ref{function_scope_type} ',' @ref{function_identifier} ',' @ref{lines}
1931
1991
  @end example
1932
1992
 
1933
- @subheading @bullet{} マクロ定義レコード
1993
+ @subheading @bullet{ マクロ定義レコード}
1934
1994
  @example
1935
1995
  @anchor{macrodef_record_body}
1936
1996
  macrodef_record_body
@@ -1942,7 +2002,7 @@ macro_form_type
1942
2002
  | 'F' <- Function
1943
2003
  @end example
1944
2004
 
1945
- @subheading @bullet{} ラベル定義レコード
2005
+ @subheading @bullet{ ラベル定義レコード}
1946
2006
  @example
1947
2007
  @anchor{labeldef_record_body}
1948
2008
  labeldef_record_body
@@ -1953,7 +2013,7 @@ label_name : c_identifier
1953
2013
  @end example
1954
2014
 
1955
2015
  @anchor{Output_Metrics_Def_Sample}
1956
- @subheading @bullet{} 出力例
2016
+ @subheading @bullet{ 出力例}
1957
2017
  @verbatim
1958
2018
  1: int global_1;
1959
2019
  2: struct { int i; long l; } global_2;
@@ -2009,7 +2069,7 @@ initialization_head : "INI"
2009
2069
  @end example
2010
2070
 
2011
2071
  @anchor{Output_Metrics_Ini_Sample}
2012
- @subheading @bullet{} 出力例
2072
+ @subheading @bullet{ 出力例}
2013
2073
  @verbatim
2014
2074
  1: int global_1 = 1;
2015
2075
  2:
@@ -2041,7 +2101,7 @@ assignment_head : "ASN"
2041
2101
  @end example
2042
2102
 
2043
2103
  @anchor{Output_Metrics_Asn_Sample}
2044
- @subheading @bullet{} 出力例
2104
+ @subheading @bullet{ 出力例}
2045
2105
  @verbatim
2046
2106
  1: int main(void)
2047
2107
  2: {
@@ -2076,7 +2136,7 @@ dependency_record
2076
2136
  dependency_head : "DEP"
2077
2137
  @end example
2078
2138
 
2079
- @subheading @bullet{} インクルードレコード
2139
+ @subheading @bullet{ インクルードレコード}
2080
2140
  @example
2081
2141
  @anchor{include_record_body}
2082
2142
  include_record_body
@@ -2086,7 +2146,7 @@ include_record_body
2086
2146
  included_fpath : '<' @ref{file_path} '>' | '"' @ref{file_path} '"'
2087
2147
  @end example
2088
2148
 
2089
- @subheading @bullet{} 呼び出しレコード
2149
+ @subheading @bullet{ 呼び出しレコード}
2090
2150
  @example
2091
2151
  @anchor{call_record_body}
2092
2152
  call_record_body
@@ -2099,7 +2159,7 @@ caller_function : @ref{function_identifier}
2099
2159
  callee_function : @ref{function_identifier}
2100
2160
  @end example
2101
2161
 
2102
- @subheading @bullet{} 外部参照レコード
2162
+ @subheading @bullet{ 外部参照レコード}
2103
2163
  @example
2104
2164
  @anchor{xref_record_body}
2105
2165
  xref_record_body
@@ -2128,7 +2188,7 @@ accessee_function : @ref{function_identifier}
2128
2188
  @end example
2129
2189
 
2130
2190
  @anchor{Output_Metrics_Dep_Sample}
2131
- @subheading @bullet{} 出力例
2191
+ @subheading @bullet{ 出力例}
2132
2192
  @verbatim
2133
2193
  1: #include <stdio.h>
2134
2194
  2: #include "test.h"
@@ -2187,20 +2247,20 @@ literal_type
2187
2247
  @anchor{literal_prefix}
2188
2248
  literal_prefix
2189
2249
  :
2190
- | 'l'
2191
- | 'L'
2250
+ | 'l' | 'L'
2251
+ | '0'
2252
+ | '0x' | '0X'
2253
+ | '0b' | '0B'
2192
2254
 
2193
2255
  @anchor{literal_suffix}
2194
2256
  literal_suffix
2195
2257
  :
2196
- | 'u'
2197
- | 'U'
2198
- | 'l'
2199
- | 'L'
2200
- | 'll'
2201
- | 'LL'
2202
- | 'f'
2203
- | 'F'
2258
+ | 'u' | 'U'
2259
+ | 'l' | 'L'
2260
+ | 'ul' | 'Ul' | 'uL' | 'UL'
2261
+ | 'ull' | 'Ull' | 'uLL' | 'ULL'
2262
+ | 'll' | 'LL'
2263
+ | 'f' | 'F'
2204
2264
 
2205
2265
  @anchor{literal_value}
2206
2266
  literal_value
@@ -2209,7 +2269,7 @@ literal_value
2209
2269
  @end example
2210
2270
 
2211
2271
  @anchor{Output_Metrics_Lit_Sample}
2212
- @subheading @bullet{} 出力例
2272
+ @subheading @bullet{ 出力例}
2213
2273
  @verbatim
2214
2274
  1: unsigned int i = 0xFFU;
2215
2275
  2:
@@ -2255,7 +2315,7 @@ pp_directive
2255
2315
  @end example
2256
2316
 
2257
2317
  @anchor{Output_Metrics_Pre_Sample}
2258
- @subheading @bullet{} 出力例
2318
+ @subheading @bullet{ 出力例}
2259
2319
  @verbatim
2260
2320
  1: #pragma once
2261
2321
  2:
@@ -2331,7 +2391,7 @@ metric_value : 整数値
2331
2391
  @anchor{message_file}
2332
2392
  message_file
2333
2393
  : @ref{message_version_record}
2334
- | @ref{message_version_record} @ref{message_list}
2394
+ | @ref{message_version_record} @ref{new_line} @ref{message_list}
2335
2395
 
2336
2396
  @anchor{message_version_record}
2337
2397
  message_version_record
@@ -2349,34 +2409,25 @@ error_record
2349
2409
  : @ref{error_line} @ref{new_line} @ref{context_line_list}
2350
2410
 
2351
2411
  @anchor{error_line}
2352
- error_line (in case of @ref{message_traits:message_with_class, message_with_class} == true)
2412
+ error_line
2353
2413
  : 'E' ',' @ref{file_path} ',' @ref{line_no} ',' @ref{column_no} ',' @ref{exam_package_name} ',' @ref{message_id} ',' @ref{message_category} ',' @ref{message_severity} ',' @ref{message_text}
2354
2414
 
2355
- error_line (in case of @ref{message_traits:message_with_class, message_with_class} != true)
2356
- : 'E' ',' @ref{file_path} ',' @ref{line_no} ',' @ref{column_no} ',' @ref{message_id} ',' @ref{message_text}
2357
-
2358
2415
  @anchor{warning_record}
2359
2416
  warning_record
2360
2417
  : @ref{warning_line} @ref{new_line} @ref{context_line_list}
2361
2418
 
2362
2419
  @anchor{warning_line}
2363
- warning_line (in case of @ref{message_traits:message_with_class, message_with_class} == true)
2420
+ warning_line
2364
2421
  : 'W' ',' @ref{file_path} ',' @ref{line_no} ',' @ref{column_no} ',' @ref{exam_package_name} ',' @ref{message_id} ',' @ref{message_category} ',' @ref{message_severity} ',' @ref{message_text}
2365
2422
 
2366
- warning_line (in case of @ref{message_traits:message_with_class, message_with_class} != true)
2367
- : 'W' ',' @ref{file_path} ',' @ref{line_no} ',' @ref{column_no} ',' @ref{message_id} ',' @ref{message_text}
2368
-
2369
2423
  @anchor{context_line_list}
2370
2424
  context_line_list
2371
2425
  :
2372
2426
  | @ref{context_line} @ref{new_line} @ref{context_line_list}
2373
2427
 
2374
2428
  @anchor{context_line}
2375
- context_line (in case of @ref{message_traits:message_with_class, message_with_class} == true)
2429
+ context_line
2376
2430
  : 'C' ',' @ref{file_path} ',' @ref{line_no} ',' @ref{column_no} ',' @ref{exam_package_name} ',' @ref{message_id} ',' @ref{message_category} ',' @ref{message_severity} ',' @ref{message_text}
2377
-
2378
- context_line (in case of @ref{message_traits:message_with_class, message_with_class} != true)
2379
- : 'C' ',' @ref{file_path} ',' @ref{line_no} ',' @ref{column_no} ',' @ref{message_id} ',' @ref{message_text}
2380
2431
  @end example
2381
2432
 
2382
2433
 
@@ -3108,9 +3159,9 @@ context_line (in case of @ref{message_traits:message_with_class, message_with_cl
3108
3159
  * W1058::戻り値が列挙型の関数から、異なる列挙型のオブジェクトが返されています。
3109
3160
  * W1059::仮引数が列挙型でない関数の実引数に列挙型が渡されています。
3110
3161
  * W1060::戻り値が列挙型でない関数から、列挙型が返されています。
3111
- * W1061::仮引数が列挙型である関数の実引数に列挙型でない非定数式が渡されています。
3112
- * W1062::非定数式が列挙型オブジェクトに代入されています。
3113
- * W1063::戻り値が列挙型の関数から、非定数式が返されています。
3162
+ * W1061::仮引数が列挙型である関数の実引数に異なる型の非定数式の値が渡されています。
3163
+ * W1062::異なる型の非定数式の値が列挙型オブジェクトに代入されています。
3164
+ * W1063::戻り値が列挙型の関数から、異なる型の非定数式の値が返されています。
3114
3165
  * W1064::列挙型の制御式が使われている switch 文で、整数定数が case ラベルに使われています。
3115
3166
  * W1065::列挙型の制御式が使われている switch 文で、異なる列挙型の値が case ラベルに使われています。
3116
3167
  * W1066::明示的に float 型の複合式の値を double 型に変換しています。
@@ -34621,9 +34672,9 @@ void func2(void)
34621
34672
  @item @ref{W1058} 戻り値が列挙型の関数から、異なる列挙型のオブジェクトが返されています。
34622
34673
  @item @ref{W1059} 仮引数が列挙型でない関数の実引数に列挙型が渡されています。
34623
34674
  @item @ref{W1060} 戻り値が列挙型でない関数から、列挙型が返されています。
34624
- @item @ref{W1061} 仮引数が列挙型である関数の実引数に列挙型でない非定数式が渡されています。
34625
- @item @ref{W1062} 非定数式が列挙型オブジェクトに代入されています。
34626
- @item @ref{W1063} 戻り値が列挙型の関数から、非定数式が返されています。
34675
+ @item @ref{W1061} 仮引数が列挙型である関数の実引数に異なる型の非定数式の値が渡されています。
34676
+ @item @ref{W1062} 異なる型の非定数式の値が列挙型オブジェクトに代入されています。
34677
+ @item @ref{W1063} 戻り値が列挙型の関数から、異なる型の非定数式の値が返されています。
34627
34678
  @item @ref{W1064} 列挙型の制御式が使われている switch 文で、整数定数が case ラベルに使われています。
34628
34679
  @item @ref{W1065} 列挙型の制御式が使われている switch 文で、異なる列挙型の値が case ラベルに使われています。
34629
34680
  @end itemize
@@ -34667,9 +34718,9 @@ void func2(void)
34667
34718
  @item @ref{W1058} 戻り値が列挙型の関数から、異なる列挙型のオブジェクトが返されています。
34668
34719
  @item @ref{W1059} 仮引数が列挙型でない関数の実引数に列挙型が渡されています。
34669
34720
  @item @ref{W1060} 戻り値が列挙型でない関数から、列挙型が返されています。
34670
- @item @ref{W1061} 仮引数が列挙型である関数の実引数に列挙型でない非定数式が渡されています。
34671
- @item @ref{W1062} 非定数式が列挙型オブジェクトに代入されています。
34672
- @item @ref{W1063} 戻り値が列挙型の関数から、非定数式が返されています。
34721
+ @item @ref{W1061} 仮引数が列挙型である関数の実引数に異なる型の非定数式の値が渡されています。
34722
+ @item @ref{W1062} 異なる型の非定数式の値が列挙型オブジェクトに代入されています。
34723
+ @item @ref{W1063} 戻り値が列挙型の関数から、異なる型の非定数式の値が返されています。
34673
34724
  @item @ref{W1064} 列挙型の制御式が使われている switch 文で、整数定数が case ラベルに使われています。
34674
34725
  @item @ref{W1065} 列挙型の制御式が使われている switch 文で、異なる列挙型の値が case ラベルに使われています。
34675
34726
  @end itemize
@@ -34711,9 +34762,9 @@ enum Color func(void)
34711
34762
  @item @ref{W1058} 戻り値が列挙型の関数から、異なる列挙型のオブジェクトが返されています。
34712
34763
  @item @ref{W1059} 仮引数が列挙型でない関数の実引数に列挙型が渡されています。
34713
34764
  @item @ref{W1060} 戻り値が列挙型でない関数から、列挙型が返されています。
34714
- @item @ref{W1061} 仮引数が列挙型である関数の実引数に列挙型でない非定数式が渡されています。
34715
- @item @ref{W1062} 非定数式が列挙型オブジェクトに代入されています。
34716
- @item @ref{W1063} 戻り値が列挙型の関数から、非定数式が返されています。
34765
+ @item @ref{W1061} 仮引数が列挙型である関数の実引数に異なる型の非定数式の値が渡されています。
34766
+ @item @ref{W1062} 異なる型の非定数式の値が列挙型オブジェクトに代入されています。
34767
+ @item @ref{W1063} 戻り値が列挙型の関数から、異なる型の非定数式の値が返されています。
34717
34768
  @item @ref{W1064} 列挙型の制御式が使われている switch 文で、整数定数が case ラベルに使われています。
34718
34769
  @item @ref{W1065} 列挙型の制御式が使われている switch 文で、異なる列挙型の値が case ラベルに使われています。
34719
34770
  @end itemize
@@ -34758,9 +34809,9 @@ void func2(enum Season ssn)
34758
34809
  @item @ref{W1058} 戻り値が列挙型の関数から、異なる列挙型のオブジェクトが返されています。
34759
34810
  @item @ref{W1059} 仮引数が列挙型でない関数の実引数に列挙型が渡されています。
34760
34811
  @item @ref{W1060} 戻り値が列挙型でない関数から、列挙型が返されています。
34761
- @item @ref{W1061} 仮引数が列挙型である関数の実引数に列挙型でない非定数式が渡されています。
34762
- @item @ref{W1062} 非定数式が列挙型オブジェクトに代入されています。
34763
- @item @ref{W1063} 戻り値が列挙型の関数から、非定数式が返されています。
34812
+ @item @ref{W1061} 仮引数が列挙型である関数の実引数に異なる型の非定数式の値が渡されています。
34813
+ @item @ref{W1062} 異なる型の非定数式の値が列挙型オブジェクトに代入されています。
34814
+ @item @ref{W1063} 戻り値が列挙型の関数から、異なる型の非定数式の値が返されています。
34764
34815
  @item @ref{W1064} 列挙型の制御式が使われている switch 文で、整数定数が case ラベルに使われています。
34765
34816
  @item @ref{W1065} 列挙型の制御式が使われている switch 文で、異なる列挙型の値が case ラベルに使われています。
34766
34817
  @end itemize
@@ -34805,9 +34856,9 @@ void func(enum Season ssn)
34805
34856
  @item @ref{W1058} 戻り値が列挙型の関数から、異なる列挙型のオブジェクトが返されています。
34806
34857
  @item @ref{W1059} 仮引数が列挙型でない関数の実引数に列挙型が渡されています。
34807
34858
  @item @ref{W1060} 戻り値が列挙型でない関数から、列挙型が返されています。
34808
- @item @ref{W1061} 仮引数が列挙型である関数の実引数に列挙型でない非定数式が渡されています。
34809
- @item @ref{W1062} 非定数式が列挙型オブジェクトに代入されています。
34810
- @item @ref{W1063} 戻り値が列挙型の関数から、非定数式が返されています。
34859
+ @item @ref{W1061} 仮引数が列挙型である関数の実引数に異なる型の非定数式の値が渡されています。
34860
+ @item @ref{W1062} 異なる型の非定数式の値が列挙型オブジェクトに代入されています。
34861
+ @item @ref{W1063} 戻り値が列挙型の関数から、異なる型の非定数式の値が返されています。
34811
34862
  @item @ref{W1064} 列挙型の制御式が使われている switch 文で、整数定数が case ラベルに使われています。
34812
34863
  @item @ref{W1065} 列挙型の制御式が使われている switch 文で、異なる列挙型の値が case ラベルに使われています。
34813
34864
  @end itemize
@@ -34850,9 +34901,9 @@ enum Color func(enum Season ssn)
34850
34901
  @item @ref{W1057} 列挙型に、異なる列挙型のオブジェクトが代入されています。
34851
34902
  @item @ref{W1059} 仮引数が列挙型でない関数の実引数に列挙型が渡されています。
34852
34903
  @item @ref{W1060} 戻り値が列挙型でない関数から、列挙型が返されています。
34853
- @item @ref{W1061} 仮引数が列挙型である関数の実引数に列挙型でない非定数式が渡されています。
34854
- @item @ref{W1062} 非定数式が列挙型オブジェクトに代入されています。
34855
- @item @ref{W1063} 戻り値が列挙型の関数から、非定数式が返されています。
34904
+ @item @ref{W1061} 仮引数が列挙型である関数の実引数に異なる型の非定数式の値が渡されています。
34905
+ @item @ref{W1062} 異なる型の非定数式の値が列挙型オブジェクトに代入されています。
34906
+ @item @ref{W1063} 戻り値が列挙型の関数から、異なる型の非定数式の値が返されています。
34856
34907
  @item @ref{W1064} 列挙型の制御式が使われている switch 文で、整数定数が case ラベルに使われています。
34857
34908
  @item @ref{W1065} 列挙型の制御式が使われている switch 文で、異なる列挙型の値が case ラベルに使われています。
34858
34909
  @end itemize
@@ -34896,9 +34947,9 @@ void func2(enum Color col)
34896
34947
  @item @ref{W1057} 列挙型に、異なる列挙型のオブジェクトが代入されています。
34897
34948
  @item @ref{W1058} 戻り値が列挙型の関数から、異なる列挙型のオブジェクトが返されています。
34898
34949
  @item @ref{W1060} 戻り値が列挙型でない関数から、列挙型が返されています。
34899
- @item @ref{W1061} 仮引数が列挙型である関数の実引数に列挙型でない非定数式が渡されています。
34900
- @item @ref{W1062} 非定数式が列挙型オブジェクトに代入されています。
34901
- @item @ref{W1063} 戻り値が列挙型の関数から、非定数式が返されています。
34950
+ @item @ref{W1061} 仮引数が列挙型である関数の実引数に異なる型の非定数式の値が渡されています。
34951
+ @item @ref{W1062} 異なる型の非定数式の値が列挙型オブジェクトに代入されています。
34952
+ @item @ref{W1063} 戻り値が列挙型の関数から、異なる型の非定数式の値が返されています。
34902
34953
  @item @ref{W1064} 列挙型の制御式が使われている switch 文で、整数定数が case ラベルに使われています。
34903
34954
  @item @ref{W1065} 列挙型の制御式が使われている switch 文で、異なる列挙型の値が case ラベルに使われています。
34904
34955
  @end itemize
@@ -34940,9 +34991,9 @@ int func2(enum Color col)
34940
34991
  @item @ref{W1057} 列挙型に、異なる列挙型のオブジェクトが代入されています。
34941
34992
  @item @ref{W1058} 戻り値が列挙型の関数から、異なる列挙型のオブジェクトが返されています。
34942
34993
  @item @ref{W1059} 仮引数が列挙型でない関数の実引数に列挙型が渡されています。
34943
- @item @ref{W1061} 仮引数が列挙型である関数の実引数に列挙型でない非定数式が渡されています。
34944
- @item @ref{W1062} 非定数式が列挙型オブジェクトに代入されています。
34945
- @item @ref{W1063} 戻り値が列挙型の関数から、非定数式が返されています。
34994
+ @item @ref{W1061} 仮引数が列挙型である関数の実引数に異なる型の非定数式の値が渡されています。
34995
+ @item @ref{W1062} 異なる型の非定数式の値が列挙型オブジェクトに代入されています。
34996
+ @item @ref{W1063} 戻り値が列挙型の関数から、異なる型の非定数式の値が返されています。
34946
34997
  @item @ref{W1064} 列挙型の制御式が使われている switch 文で、整数定数が case ラベルに使われています。
34947
34998
  @item @ref{W1065} 列挙型の制御式が使われている switch 文で、異なる列挙型の値が case ラベルに使われています。
34948
34999
  @end itemize
@@ -34957,7 +35008,7 @@ int func2(enum Color col)
34957
35008
 
34958
35009
  @subsection メッセージ本文
34959
35010
 
34960
- 仮引数が列挙型である関数の実引数に列挙型でない非定数式が渡されています。
35011
+ 仮引数が列挙型である関数の実引数に異なる型の非定数式の値が渡されています。
34961
35012
 
34962
35013
  @subsection 内容
34963
35014
 
@@ -34987,8 +35038,8 @@ void func2(int num)
34987
35038
  @item @ref{W1058} 戻り値が列挙型の関数から、異なる列挙型のオブジェクトが返されています。
34988
35039
  @item @ref{W1059} 仮引数が列挙型でない関数の実引数に列挙型が渡されています。
34989
35040
  @item @ref{W1060} 戻り値が列挙型でない関数から、列挙型が返されています。
34990
- @item @ref{W1062} 非定数式が列挙型オブジェクトに代入されています。
34991
- @item @ref{W1063} 戻り値が列挙型の関数から、非定数式が返されています。
35041
+ @item @ref{W1062} 異なる型の非定数式の値が列挙型オブジェクトに代入されています。
35042
+ @item @ref{W1063} 戻り値が列挙型の関数から、異なる型の非定数式の値が返されています。
34992
35043
  @item @ref{W1064} 列挙型の制御式が使われている switch 文で、整数定数が case ラベルに使われています。
34993
35044
  @item @ref{W1065} 列挙型の制御式が使われている switch 文で、異なる列挙型の値が case ラベルに使われています。
34994
35045
  @end itemize
@@ -35003,7 +35054,7 @@ void func2(int num)
35003
35054
 
35004
35055
  @subsection メッセージ本文
35005
35056
 
35006
- 非定数式が列挙型オブジェクトに代入されています。
35057
+ 異なる型の非定数式の値が列挙型オブジェクトに代入されています。
35007
35058
 
35008
35059
  @subsection 内容
35009
35060
 
@@ -35033,8 +35084,8 @@ void func(int num)
35033
35084
  @item @ref{W1058} 戻り値が列挙型の関数から、異なる列挙型のオブジェクトが返されています。
35034
35085
  @item @ref{W1059} 仮引数が列挙型でない関数の実引数に列挙型が渡されています。
35035
35086
  @item @ref{W1060} 戻り値が列挙型でない関数から、列挙型が返されています。
35036
- @item @ref{W1061} 仮引数が列挙型である関数の実引数に列挙型でない非定数式が渡されています。
35037
- @item @ref{W1063} 戻り値が列挙型の関数から、非定数式が返されています。
35087
+ @item @ref{W1061} 仮引数が列挙型である関数の実引数に異なる型の非定数式の値が渡されています。
35088
+ @item @ref{W1063} 戻り値が列挙型の関数から、異なる型の非定数式の値が返されています。
35038
35089
  @item @ref{W1064} 列挙型の制御式が使われている switch 文で、整数定数が case ラベルに使われています。
35039
35090
  @item @ref{W1065} 列挙型の制御式が使われている switch 文で、異なる列挙型の値が case ラベルに使われています。
35040
35091
  @end itemize
@@ -35049,7 +35100,7 @@ void func(int num)
35049
35100
 
35050
35101
  @subsection メッセージ本文
35051
35102
 
35052
- 戻り値が列挙型の関数から、非定数式が返されています。
35103
+ 戻り値が列挙型の関数から、異なる型の非定数式の値が返されています。
35053
35104
 
35054
35105
  @subsection 内容
35055
35106
 
@@ -35077,8 +35128,8 @@ enum Color func(int num)
35077
35128
  @item @ref{W1058} 戻り値が列挙型の関数から、異なる列挙型のオブジェクトが返されています。
35078
35129
  @item @ref{W1059} 仮引数が列挙型でない関数の実引数に列挙型が渡されています。
35079
35130
  @item @ref{W1060} 戻り値が列挙型でない関数から、列挙型が返されています。
35080
- @item @ref{W1061} 仮引数が列挙型である関数の実引数に列挙型でない非定数式が渡されています。
35081
- @item @ref{W1062} 非定数式が列挙型オブジェクトに代入されています。
35131
+ @item @ref{W1061} 仮引数が列挙型である関数の実引数に異なる型の非定数式の値が渡されています。
35132
+ @item @ref{W1062} 異なる型の非定数式の値が列挙型オブジェクトに代入されています。
35082
35133
  @item @ref{W1064} 列挙型の制御式が使われている switch 文で、整数定数が case ラベルに使われています。
35083
35134
  @item @ref{W1065} 列挙型の制御式が使われている switch 文で、異なる列挙型の値が case ラベルに使われています。
35084
35135
  @end itemize
@@ -35128,9 +35179,9 @@ int func(enum Color c)
35128
35179
  @item @ref{W1058} 戻り値が列挙型の関数から、異なる列挙型のオブジェクトが返されています。
35129
35180
  @item @ref{W1059} 仮引数が列挙型でない関数の実引数に列挙型が渡されています。
35130
35181
  @item @ref{W1060} 戻り値が列挙型でない関数から、列挙型が返されています。
35131
- @item @ref{W1061} 仮引数が列挙型である関数の実引数に列挙型でない非定数式が渡されています。
35132
- @item @ref{W1062} 非定数式が列挙型オブジェクトに代入されています。
35133
- @item @ref{W1063} 戻り値が列挙型の関数から、非定数式が返されています。
35182
+ @item @ref{W1061} 仮引数が列挙型である関数の実引数に異なる型の非定数式の値が渡されています。
35183
+ @item @ref{W1062} 異なる型の非定数式の値が列挙型オブジェクトに代入されています。
35184
+ @item @ref{W1063} 戻り値が列挙型の関数から、異なる型の非定数式の値が返されています。
35134
35185
  @item @ref{W1065} 列挙型の制御式が使われている switch 文で、異なる列挙型の値が case ラベルに使われています。
35135
35186
  @end itemize
35136
35187
 
@@ -35180,9 +35231,9 @@ int func(enum Color c)
35180
35231
  @item @ref{W1058} 戻り値が列挙型の関数から、異なる列挙型のオブジェクトが返されています。
35181
35232
  @item @ref{W1059} 仮引数が列挙型でない関数の実引数に列挙型が渡されています。
35182
35233
  @item @ref{W1060} 戻り値が列挙型でない関数から、列挙型が返されています。
35183
- @item @ref{W1061} 仮引数が列挙型である関数の実引数に列挙型でない非定数式が渡されています。
35184
- @item @ref{W1062} 非定数式が列挙型オブジェクトに代入されています。
35185
- @item @ref{W1063} 戻り値が列挙型の関数から、非定数式が返されています。
35234
+ @item @ref{W1061} 仮引数が列挙型である関数の実引数に異なる型の非定数式の値が渡されています。
35235
+ @item @ref{W1062} 異なる型の非定数式の値が列挙型オブジェクトに代入されています。
35236
+ @item @ref{W1063} 戻り値が列挙型の関数から、異なる型の非定数式の値が返されています。
35186
35237
  @item @ref{W1064} 列挙型の制御式が使われている switch 文で、整数定数が case ラベルに使われています。
35187
35238
  @end itemize
35188
35239