adlint 2.6.14 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/AUTHORS +1 -3
- data/ChangeLog +511 -0
- data/INSTALL +1 -1
- data/MANIFEST +57 -37
- data/NEWS +36 -7
- data/README +2 -2
- data/Rakefile +6 -6
- data/TODO +1 -1
- data/bin/adlint +25 -16
- data/bin/adlint_chk +22 -12
- data/bin/adlint_cma +17 -12
- data/bin/adlint_sma +22 -12
- data/bin/adlintize +98 -17
- data/etc/conf.d/fallback/cinit.erb +1 -1
- data/etc/conf.d/fallback/traits.erb +37 -37
- data/etc/conf.d/i686-cygwin/cinit-gcc_4.3.4.erb +1 -1
- data/etc/conf.d/i686-cygwin/traits-gcc_4.3.4.erb +41 -41
- data/etc/conf.d/i686-devkit/cinit-gcc_4.5.2.erb +1 -1
- data/etc/conf.d/i686-devkit/traits-gcc_4.5.2.erb +40 -40
- data/etc/conf.d/i686-linux/cinit-gcc_4.5.1.erb +1 -1
- data/etc/conf.d/i686-linux/traits-gcc_4.5.1.erb +40 -40
- data/etc/conf.d/i686-mingw/cinit-gcc_4.6.1.erb +1 -1
- data/etc/conf.d/i686-mingw/traits-gcc_4.6.1.erb +40 -40
- data/etc/conf.d/noarch/GNUmakefile.erb +1 -1
- data/etc/conf.d/noarch/adlint_all_bat.erb +1 -1
- data/etc/conf.d/noarch/adlint_all_sh.erb +1 -1
- data/etc/conf.d/noarch/pinit.erb +1 -1
- data/etc/conf.d/x86_64-ubuntu_12.04/cinit-gcc_4.6.3.erb +1 -1
- data/etc/conf.d/x86_64-ubuntu_12.04/traits-gcc_4.6.3.erb +42 -42
- data/etc/mesg.d/c_builtin/en_US/messages.yml +33 -33
- data/etc/mesg.d/c_builtin/ja_JP/messages.yml +5 -5
- data/etc/mesg.d/core/en_US/messages.yml +2 -2
- data/etc/mesg.d/core/ja_JP/messages.yml +2 -2
- data/features/code_check/W0018.feature +197 -0
- data/features/code_check/W0019.feature +79 -0
- data/features/code_check/W0021.feature +81 -0
- data/features/code_check/W0023.feature +203 -0
- data/features/code_check/W0024.feature +226 -0
- data/features/code_check/W0025.feature +5 -0
- data/features/code_check/W0088.feature +2 -2
- data/features/code_check/W0109.feature +2 -2
- data/features/code_check/W0477.feature +0 -3
- data/features/code_check/W0478.feature +0 -1
- data/features/code_check/W0582.feature +3 -3
- data/features/code_check/W0583.feature +4 -7
- data/features/code_check/W0646.feature +0 -1
- data/features/code_check/W0695.feature +0 -1
- data/features/code_check/W0705.feature +8 -0
- data/features/code_check/W0723.feature +0 -1
- data/features/code_check/W0745.feature +1 -0
- data/features/code_check/W0781.feature +1 -0
- data/features/code_check/W1057.feature +141 -0
- data/features/code_check/W1058.feature +93 -0
- data/features/code_check/W1059.feature +86 -0
- data/features/code_check/W1060.feature +77 -0
- data/features/code_check/W1061.feature +143 -0
- data/features/code_check/W1062.feature +162 -0
- data/features/code_check/W1063.feature +123 -0
- data/features/code_check/W1064.feature +83 -0
- data/features/code_check/W1065.feature +82 -0
- data/features/code_check/W9003.feature +2 -0
- data/features/step_definitions/code_check_steps.rb +1 -0
- data/features/support/env.rb +16 -13
- data/lib/adlint.rb +7 -4
- data/lib/adlint/analyzer.rb +131 -157
- data/lib/adlint/annot.rb +149 -0
- data/lib/adlint/cc1.rb +57 -0
- data/lib/adlint/{c → cc1}/branch.rb +74 -62
- data/lib/adlint/{c → cc1}/builtin.rb +21 -21
- data/lib/adlint/{c → cc1}/const.rb +119 -117
- data/lib/adlint/{c → cc1}/conv.rb +76 -78
- data/lib/adlint/{c → cc1}/ctrlexpr.rb +69 -86
- data/lib/adlint/cc1/domain.rb +8103 -0
- data/lib/adlint/{c → cc1}/enum.rb +3 -3
- data/lib/adlint/{c → cc1}/environ.rb +21 -21
- data/lib/adlint/{c → cc1}/expr.rb +232 -218
- data/lib/adlint/{c → cc1}/format.rb +305 -342
- data/lib/adlint/{c → cc1}/interp.rb +269 -220
- data/lib/adlint/cc1/lexer.rb +246 -0
- data/lib/adlint/{c → cc1}/mediator.rb +78 -84
- data/lib/adlint/{c → cc1}/object.rb +261 -264
- data/lib/adlint/{c → cc1}/operator.rb +7 -7
- data/lib/adlint/{c → cc1}/option.rb +4 -3
- data/lib/adlint/{c → cc1}/parser.rb +274 -506
- data/lib/adlint/{c → cc1}/parser.y +69 -301
- data/lib/adlint/cc1/phase.rb +138 -0
- data/lib/adlint/{c → cc1}/resolver.rb +66 -78
- data/lib/adlint/{c → cc1}/scanner.rb +57 -49
- data/lib/adlint/{c → cc1}/scope.rb +3 -3
- data/lib/adlint/{c → cc1}/seqp.rb +13 -5
- data/lib/adlint/{c → cc1}/syntax.rb +819 -1122
- data/lib/adlint/{c → cc1}/type.rb +1498 -1479
- data/lib/adlint/{c → cc1}/util.rb +20 -12
- data/lib/adlint/{c → cc1}/value.rb +699 -642
- data/lib/adlint/code.rb +163 -164
- data/lib/adlint/cpp.rb +2 -2
- data/lib/adlint/cpp/asm.rb +13 -14
- data/lib/adlint/cpp/constexpr.rb +42 -38
- data/lib/adlint/cpp/constexpr.y +44 -40
- data/lib/adlint/cpp/eval.rb +435 -435
- data/lib/adlint/cpp/lexer.rb +343 -340
- data/lib/adlint/cpp/macro.rb +188 -190
- data/lib/adlint/cpp/phase.rb +66 -45
- data/lib/adlint/cpp/scanner.rb +14 -17
- data/lib/adlint/cpp/source.rb +49 -55
- data/lib/adlint/cpp/subst.rb +65 -65
- data/lib/adlint/cpp/syntax.rb +155 -275
- data/lib/adlint/cpp/util.rb +22 -19
- data/lib/adlint/driver.rb +86 -93
- data/lib/adlint/error.rb +33 -52
- data/lib/adlint/exam.rb +158 -24
- data/lib/adlint/exam/c_builtin.rb +7 -7
- data/lib/adlint/exam/c_builtin/cc1_check.rb +20522 -0
- data/lib/adlint/exam/c_builtin/cc1_check_shima.rb +957 -0
- data/lib/adlint/exam/c_builtin/cc1_code.rb +459 -0
- data/lib/adlint/exam/c_builtin/cc1_metric.rb +794 -0
- data/lib/adlint/exam/c_builtin/cpp_check.rb +486 -441
- data/lib/adlint/exam/c_builtin/cpp_check_shima.rb +36 -39
- data/lib/adlint/exam/c_builtin/cpp_code.rb +63 -65
- data/lib/adlint/exam/c_builtin/ld_check.rb +136 -129
- data/lib/adlint/exam/c_builtin/ld_metric.rb +11 -11
- data/lib/adlint/lang.rb +25 -25
- data/lib/adlint/ld.rb +2 -2
- data/lib/adlint/ld/object.rb +220 -188
- data/lib/adlint/ld/phase.rb +94 -63
- data/lib/adlint/ld/typedef.rb +22 -11
- data/lib/adlint/ld/util.rb +43 -35
- data/lib/adlint/lexer.rb +59 -56
- data/lib/adlint/location.rb +140 -0
- data/lib/adlint/memo.rb +157 -0
- data/lib/adlint/message.rb +207 -156
- data/lib/adlint/metric.rb +139 -217
- data/lib/adlint/monitor.rb +45 -43
- data/lib/adlint/phase.rb +56 -29
- data/lib/adlint/prelude.rb +66 -54
- data/lib/adlint/report.rb +253 -332
- data/lib/adlint/source.rb +26 -27
- data/lib/adlint/supp.rb +131 -0
- data/lib/adlint/symbol.rb +14 -16
- data/lib/adlint/token.rb +19 -91
- data/lib/adlint/traits.rb +242 -226
- data/lib/adlint/util.rb +116 -205
- data/lib/adlint/version.rb +8 -8
- data/share/HEADER +2 -2
- data/share/doc/developers_guide_ja.html +148 -19
- data/share/doc/developers_guide_ja.texi +141 -11
- data/share/doc/samples/GNUmakefile +1 -1
- data/share/doc/samples/adlint_traits.yml +45 -36
- data/share/doc/users_guide_en.html +1321 -1252
- data/share/doc/users_guide_en.texi +475 -408
- data/share/doc/users_guide_ja.html +1932 -1878
- data/share/doc/users_guide_ja.texi +324 -273
- data/share/sample/bison-2.5/adlint/GNUmakefile +5 -1
- data/share/sample/bison-2.5/adlint/adlint_traits.yml +38 -38
- data/share/sample/bison-2.5/adlint/lib/GNUmakefile +1 -1
- data/share/sample/bison-2.5/adlint/lib/adlint_cinit.h +1 -1
- data/share/sample/bison-2.5/adlint/lib/adlint_pinit.h +1 -1
- data/share/sample/bison-2.5/adlint/lib/adlint_traits.yml +50 -42
- data/share/sample/bison-2.5/adlint/src/GNUmakefile +1 -1
- data/share/sample/bison-2.5/adlint/src/adlint_cinit.h +1 -1
- data/share/sample/bison-2.5/adlint/src/adlint_pinit.h +1 -1
- data/share/sample/bison-2.5/adlint/src/adlint_traits.yml +50 -42
- data/share/sample/ctags-5.8/adlint/GNUmakefile +1 -1
- data/share/sample/ctags-5.8/adlint/adlint_cinit.h +1 -1
- data/share/sample/ctags-5.8/adlint/adlint_pinit.h +1 -1
- data/share/sample/ctags-5.8/adlint/adlint_traits.yml +50 -42
- data/share/sample/flex-2.5.35/adlint/GNUmakefile +1 -1
- data/share/sample/flex-2.5.35/adlint/adlint_cinit.h +1 -1
- data/share/sample/flex-2.5.35/adlint/adlint_pinit.h +1 -1
- data/share/sample/flex-2.5.35/adlint/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/adlint_traits.yml +46 -38
- data/share/sample/ruby-1.9.3-p0/adlint/core/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/core/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/core/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/core/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/enc-trans/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/enc-trans/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/enc-trans/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/enc-trans/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/enc/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/enc/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/enc/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/enc/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-bigdecimal/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-bigdecimal/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-bigdecimal/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-bigdecimal/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-continuation/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-continuation/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-continuation/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-continuation/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-coverage/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-coverage/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-coverage/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-coverage/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-curses/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-curses/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-curses/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-curses/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-date/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-date/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-date/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-date/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-dbm/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-dbm/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-dbm/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-dbm/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-bubblebabble/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-bubblebabble/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-bubblebabble/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-bubblebabble/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-md5/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-md5/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-md5/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-md5/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-rmd160/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-rmd160/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-rmd160/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-rmd160/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha1/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha1/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha1/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha1/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha2/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha2/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha2/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha2/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-dl-callback/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-dl-callback/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-dl-callback/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-dl-callback/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-dl/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-dl/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-dl/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-dl/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-etc/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-etc/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-etc/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-etc/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-fcntl/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-fcntl/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-fcntl/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-fcntl/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-fiber/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-fiber/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-fiber/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-fiber/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-fiddle/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-fiddle/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-fiddle/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-fiddle/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-gdbm/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-gdbm/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-gdbm/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-gdbm/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-iconv/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-iconv/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-iconv/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-iconv/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-io-console/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-io-console/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-io-console/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-io-console/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-io-nonblock/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-io-nonblock/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-io-nonblock/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-io-nonblock/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-io-wait/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-io-wait/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-io-wait/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-io-wait/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-json-generator/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-json-generator/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-json-generator/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-json-generator/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-json-parser/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-json-parser/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-json-parser/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-json-parser/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-complex/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-complex/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-complex/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-complex/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-rational/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-rational/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-rational/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-rational/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-nkf/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-nkf/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-nkf/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-nkf/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-openssl/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-openssl/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-openssl/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-openssl/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-pathname/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-pathname/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-pathname/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-pathname/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-psych/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-psych/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-psych/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-psych/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-pty/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-pty/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-pty/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-pty/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-racc-cparse/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-racc-cparse/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-racc-cparse/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-racc-cparse/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-readline/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-readline/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-readline/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-readline/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-ripper/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-ripper/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-ripper/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-ripper/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-sdbm/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-sdbm/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-sdbm/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-sdbm/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-socket/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-socket/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-socket/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-socket/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-stringio/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-stringio/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-stringio/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-stringio/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-strscan/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-strscan/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-strscan/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-strscan/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-syck/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-syck/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-syck/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-syck/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-syslog/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-syslog/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-syslog/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-syslog/adlint_traits.yml +50 -42
- data/share/sample/ruby-1.9.3-p0/adlint/ext-zlib/GNUmakefile +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-zlib/adlint_cinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-zlib/adlint_pinit.h +1 -1
- data/share/sample/ruby-1.9.3-p0/adlint/ext-zlib/adlint_traits.yml +50 -42
- data/share/sample/screen-4.0.3/adlint/GNUmakefile +1 -1
- data/share/sample/screen-4.0.3/adlint/adlint_cinit.h +1 -1
- data/share/sample/screen-4.0.3/adlint/adlint_pinit.h +1 -1
- data/share/sample/screen-4.0.3/adlint/adlint_traits.yml +50 -42
- data/share/sample/vim-7.3/adlint/vim/GNUmakefile +1 -1
- data/share/sample/vim-7.3/adlint/vim/adlint_cinit.h +1 -1
- data/share/sample/vim-7.3/adlint/vim/adlint_pinit.h +1 -1
- data/share/sample/vim-7.3/adlint/vim/adlint_traits.yml +50 -42
- data/share/sample/vim-7.3/adlint/xxd/GNUmakefile +1 -1
- data/share/sample/vim-7.3/adlint/xxd/adlint_cinit.h +1 -1
- data/share/sample/vim-7.3/adlint/xxd/adlint_pinit.h +1 -1
- data/share/sample/vim-7.3/adlint/xxd/adlint_traits.yml +49 -41
- data/share/sample/zsh-4.3.15/adlint/GNUmakefile +1 -1
- data/share/sample/zsh-4.3.15/adlint/adlint_traits.yml +46 -38
- data/share/sample/zsh-4.3.15/adlint/builtins/GNUmakefile +1 -1
- data/share/sample/zsh-4.3.15/adlint/builtins/adlint_cinit.h +1 -1
- data/share/sample/zsh-4.3.15/adlint/builtins/adlint_pinit.h +1 -1
- data/share/sample/zsh-4.3.15/adlint/builtins/adlint_traits.yml +50 -42
- data/share/sample/zsh-4.3.15/adlint/core/GNUmakefile +1 -1
- data/share/sample/zsh-4.3.15/adlint/core/adlint_cinit.h +1 -1
- data/share/sample/zsh-4.3.15/adlint/core/adlint_pinit.h +1 -1
- data/share/sample/zsh-4.3.15/adlint/core/adlint_traits.yml +50 -42
- data/share/sample/zsh-4.3.15/adlint/modules/GNUmakefile +1 -1
- data/share/sample/zsh-4.3.15/adlint/modules/adlint_cinit.h +1 -1
- data/share/sample/zsh-4.3.15/adlint/modules/adlint_pinit.h +1 -1
- data/share/sample/zsh-4.3.15/adlint/modules/adlint_traits.yml +50 -42
- data/share/sample/zsh-4.3.15/adlint/zle/GNUmakefile +1 -1
- data/share/sample/zsh-4.3.15/adlint/zle/adlint_cinit.h +1 -1
- data/share/sample/zsh-4.3.15/adlint/zle/adlint_pinit.h +1 -1
- data/share/sample/zsh-4.3.15/adlint/zle/adlint_traits.yml +50 -42
- data/spec/adlint/{c → cc1}/ctrlexpr_spec.rb +51 -49
- data/spec/adlint/{c → cc1}/domain_spec.rb +210 -179
- data/spec/adlint/{c → cc1}/operator_spec.rb +3 -3
- data/spec/adlint/{c → cc1}/syntax_spec.rb +10 -12
- data/spec/adlint/{c → cc1}/type_spec.rb +61 -68
- data/{lib/adlint/c.rb → spec/adlint/location_spec.rb} +24 -29
- data/spec/conf.d/default_traits.yml +38 -37
- data/spec/conf.d/empty_cinit.h +1 -1
- data/spec/conf.d/empty_pinit.h +1 -1
- data/spec/conf.d/project/foo.c +0 -0
- data/spec/spec_helper.rb +2 -2
- metadata +60 -40
- data/lib/adlint/c/domain.rb +0 -7931
- data/lib/adlint/c/lexer.rb +0 -252
- data/lib/adlint/c/phase.rb +0 -135
- data/lib/adlint/exam/c_builtin/c_check.rb +0 -20745
- data/lib/adlint/exam/c_builtin/c_check_shima.rb +0 -983
- data/lib/adlint/exam/c_builtin/c_code.rb +0 -477
- 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
|
5
|
+
@settitle AdLint 3.0.0 利用者ガイド
|
6
6
|
|
7
7
|
@copying
|
8
|
-
Copyright (C) 2010-
|
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-
|
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:
|
1027
|
-
@anchor{project_traits:
|
1027
|
+
@cindex project_traits:target_files:inclusion_paths
|
1028
|
+
@anchor{project_traits:target_files:inclusion_paths}
|
1028
1029
|
@tab
|
1029
|
-
@code{
|
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
|
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
|
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
|
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
|
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:
|
1147
|
-
@anchor{compiler_traits:
|
1172
|
+
@cindex compiler_traits:file_search_paths
|
1173
|
+
@anchor{compiler_traits:file_search_paths}
|
1148
1174
|
@tab
|
1149
|
-
@code{
|
1175
|
+
@code{file_search_paths}
|
1150
1176
|
@tab
|
1151
|
-
|
1177
|
+
文字列の配列
|
1152
1178
|
@tab
|
1153
|
-
|
1179
|
+
コンパイラ固有のインクルードファイルの探索パスを設定します。
|
1180
|
+
各エントリの文字列は、@code{`:'} (Windows 環境では @code{`;'}) を区切り文字とし
|
1181
|
+
て複数のパス名を設定できます。
|
1154
1182
|
@item 3
|
1155
|
-
@cindex compiler_traits:
|
1156
|
-
@anchor{compiler_traits:
|
1183
|
+
@cindex compiler_traits:standard_types:char_size
|
1184
|
+
@anchor{compiler_traits:standard_types:char_size}
|
1157
1185
|
@tab
|
1158
|
-
@code{
|
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:
|
1165
|
-
@anchor{compiler_traits:
|
1192
|
+
@cindex compiler_traits:standard_types:char_alignment
|
1193
|
+
@anchor{compiler_traits:standard_types:char_alignment}
|
1166
1194
|
@tab
|
1167
|
-
@code{
|
1195
|
+
@code{standard_types:char_alignment}
|
1168
1196
|
@tab
|
1169
1197
|
整数値
|
1170
1198
|
@tab
|
1171
|
-
@code{
|
1199
|
+
@code{char} 型ファミリのメモリアライメントをビット単位で設定します。
|
1172
1200
|
@item 5
|
1173
|
-
@cindex compiler_traits:
|
1174
|
-
@anchor{compiler_traits:
|
1201
|
+
@cindex compiler_traits:standard_types:short_size
|
1202
|
+
@anchor{compiler_traits:standard_types:short_size}
|
1175
1203
|
@tab
|
1176
|
-
@code{
|
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:
|
1183
|
-
@anchor{compiler_traits:
|
1210
|
+
@cindex compiler_traits:standard_types:short_alignment
|
1211
|
+
@anchor{compiler_traits:standard_types:short_alignment}
|
1184
1212
|
@tab
|
1185
|
-
@code{
|
1213
|
+
@code{standard_types:short_alignment}
|
1186
1214
|
@tab
|
1187
1215
|
整数値
|
1188
1216
|
@tab
|
1189
|
-
@code{
|
1217
|
+
@code{short} 型ファミリのメモリアライメントをビット単位で設定します。
|
1190
1218
|
@item 7
|
1191
|
-
@cindex compiler_traits:
|
1192
|
-
@anchor{compiler_traits:
|
1219
|
+
@cindex compiler_traits:standard_types:int_size
|
1220
|
+
@anchor{compiler_traits:standard_types:int_size}
|
1193
1221
|
@tab
|
1194
|
-
@code{
|
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:
|
1201
|
-
@anchor{compiler_traits:
|
1228
|
+
@cindex compiler_traits:standard_types:int_alignment
|
1229
|
+
@anchor{compiler_traits:standard_types:int_alignment}
|
1202
1230
|
@tab
|
1203
|
-
@code{
|
1231
|
+
@code{standard_types:int_alignment}
|
1204
1232
|
@tab
|
1205
1233
|
整数値
|
1206
1234
|
@tab
|
1207
|
-
@code{
|
1235
|
+
@code{int} 型ファミリのメモリアライメントをビット単位で設定します。
|
1208
1236
|
@item 9
|
1209
|
-
@cindex compiler_traits:
|
1210
|
-
@anchor{compiler_traits:
|
1237
|
+
@cindex compiler_traits:standard_types:long_size
|
1238
|
+
@anchor{compiler_traits:standard_types:long_size}
|
1211
1239
|
@tab
|
1212
|
-
@code{
|
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:
|
1219
|
-
@anchor{compiler_traits:
|
1246
|
+
@cindex compiler_traits:standard_types:long_alignment
|
1247
|
+
@anchor{compiler_traits:standard_types:long_alignment}
|
1220
1248
|
@tab
|
1221
|
-
@code{
|
1249
|
+
@code{standard_types:long_alignment}
|
1222
1250
|
@tab
|
1223
1251
|
整数値
|
1224
1252
|
@tab
|
1225
|
-
@code{long
|
1253
|
+
@code{long int} 型ファミリのメモリアライメントをビット単位で設定します。
|
1226
1254
|
@item 11
|
1227
|
-
@cindex compiler_traits:
|
1228
|
-
@anchor{compiler_traits:
|
1255
|
+
@cindex compiler_traits:standard_types:long_long_size
|
1256
|
+
@anchor{compiler_traits:standard_types:long_long_size}
|
1229
1257
|
@tab
|
1230
|
-
@code{
|
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:
|
1237
|
-
@anchor{compiler_traits:
|
1264
|
+
@cindex compiler_traits:standard_types:long_long_alignment
|
1265
|
+
@anchor{compiler_traits:standard_types:long_long_alignment}
|
1238
1266
|
@tab
|
1239
|
-
@code{
|
1267
|
+
@code{standard_types:long_long_alignment}
|
1240
1268
|
@tab
|
1241
1269
|
整数値
|
1242
1270
|
@tab
|
1243
|
-
@code{
|
1271
|
+
@code{long long int} 型ファミリのメモリアライメントをビット単位で設定します。
|
1244
1272
|
@item 13
|
1245
|
-
@cindex compiler_traits:
|
1246
|
-
@anchor{compiler_traits:
|
1273
|
+
@cindex compiler_traits:standard_types:float_size
|
1274
|
+
@anchor{compiler_traits:standard_types:float_size}
|
1247
1275
|
@tab
|
1248
|
-
@code{
|
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:
|
1255
|
-
@anchor{compiler_traits:
|
1282
|
+
@cindex compiler_traits:standard_types:float_alignment
|
1283
|
+
@anchor{compiler_traits:standard_types:float_alignment}
|
1256
1284
|
@tab
|
1257
|
-
@code{
|
1285
|
+
@code{standard_types:float_alignment}
|
1258
1286
|
@tab
|
1259
1287
|
整数値
|
1260
1288
|
@tab
|
1261
|
-
@code{
|
1289
|
+
@code{float} 型のメモリアライメントをビット単位で設定します。
|
1262
1290
|
@item 15
|
1263
|
-
@cindex compiler_traits:
|
1264
|
-
@anchor{compiler_traits:
|
1291
|
+
@cindex compiler_traits:standard_types:double_size
|
1292
|
+
@anchor{compiler_traits:standard_types:double_size}
|
1265
1293
|
@tab
|
1266
|
-
@code{
|
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:
|
1273
|
-
@anchor{compiler_traits:
|
1300
|
+
@cindex compiler_traits:standard_types:double_alignment
|
1301
|
+
@anchor{compiler_traits:standard_types:double_alignment}
|
1274
1302
|
@tab
|
1275
|
-
@code{
|
1303
|
+
@code{standard_types:double_alignment}
|
1276
1304
|
@tab
|
1277
1305
|
整数値
|
1278
1306
|
@tab
|
1279
|
-
@code{
|
1307
|
+
@code{double} 型のメモリアライメントをビット単位で設定します。
|
1280
1308
|
@item 17
|
1281
|
-
@cindex compiler_traits:
|
1282
|
-
@anchor{compiler_traits:
|
1309
|
+
@cindex compiler_traits:standard_types:long_double_size
|
1310
|
+
@anchor{compiler_traits:standard_types:long_double_size}
|
1283
1311
|
@tab
|
1284
|
-
@code{
|
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:
|
1291
|
-
@anchor{compiler_traits:
|
1318
|
+
@cindex compiler_traits:standard_types:long_double_alignment
|
1319
|
+
@anchor{compiler_traits:standard_types:long_double_alignment}
|
1292
1320
|
@tab
|
1293
|
-
@code{
|
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:
|
1300
|
-
@anchor{compiler_traits:
|
1327
|
+
@cindex compiler_traits:standard_types:code_ptr_size
|
1328
|
+
@anchor{compiler_traits:standard_types:code_ptr_size}
|
1301
1329
|
@tab
|
1302
|
-
@code{
|
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:
|
1309
|
-
@anchor{compiler_traits:
|
1336
|
+
@cindex compiler_traits:standard_types:code_ptr_alignment
|
1337
|
+
@anchor{compiler_traits:standard_types:code_ptr_alignment}
|
1310
1338
|
@tab
|
1311
|
-
@code{
|
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:
|
1318
|
-
@anchor{compiler_traits:
|
1345
|
+
@cindex compiler_traits:standard_types:data_ptr_size
|
1346
|
+
@anchor{compiler_traits:standard_types:data_ptr_size}
|
1319
1347
|
@tab
|
1320
|
-
@code{
|
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:
|
1327
|
-
@anchor{compiler_traits:
|
1354
|
+
@cindex compiler_traits:standard_types:data_ptr_alignment
|
1355
|
+
@anchor{compiler_traits:standard_types:data_ptr_alignment}
|
1328
1356
|
@tab
|
1329
|
-
@code{
|
1357
|
+
@code{standard_types:data_ptr_alignment}
|
1330
1358
|
@tab
|
1331
|
-
|
1359
|
+
整数値
|
1332
1360
|
@tab
|
1333
|
-
|
1361
|
+
データへのポインタ型のメモリアライメントをビット単位で設定します。
|
1334
1362
|
@item 23
|
1335
|
-
@cindex compiler_traits:
|
1336
|
-
@anchor{compiler_traits:
|
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{
|
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:
|
1356
|
-
@anchor{compiler_traits:
|
1382
|
+
@cindex compiler_traits:identifier_max
|
1383
|
+
@anchor{compiler_traits:identifier_max}
|
1357
1384
|
@tab
|
1358
|
-
@code{
|
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
|
-
|
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
|
-
|
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:
|
1393
|
-
@anchor{compiler_traits:
|
1417
|
+
@cindex compiler_traits:arbitrary_substitutions
|
1418
|
+
@anchor{compiler_traits:arbitrary_substitutions}
|
1394
1419
|
@tab
|
1395
|
-
@code{
|
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:
|
1450
|
-
@anchor{message_traits:
|
1476
|
+
@cindex message_traits:individual_suppression
|
1477
|
+
@anchor{message_traits:individual_suppression}
|
1451
1478
|
@tab
|
1452
|
-
@code{
|
1479
|
+
@code{individual_suppression}
|
1453
1480
|
@tab
|
1454
1481
|
真偽値
|
1455
1482
|
@tab
|
1456
|
-
@
|
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
|
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
|
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
|
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
|
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{
|
1964
|
+
: 'V' ',' @ref{variable_linkage_type} ',' @ref{variable_scope_type} ',' @ref{storage_class_type} ',' @ref{variable_name} ',' @ref{type_rep}
|
1905
1965
|
|
1906
|
-
@anchor{
|
1907
|
-
|
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{
|
1913
|
-
|
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
|
-
| '
|
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
|
-
| '
|
2198
|
-
| '
|
2199
|
-
| '
|
2200
|
-
| 'll'
|
2201
|
-
| '
|
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
|
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
|
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
|
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
|
|