adlint 2.6.14 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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_en.info
|
|
3
3
|
@documentlanguage en
|
|
4
4
|
@documentencoding utf-8
|
|
5
|
-
@settitle AdLint
|
|
5
|
+
@settitle AdLint 3.0.0 User's Guide
|
|
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
|
|
@@ -36,7 +36,7 @@ available for Windows, Mac OS X, GNU/Linux, FreeBSD and any other platforms
|
|
|
36
36
|
supported by Ruby.
|
|
37
37
|
|
|
38
38
|
@unnumberedsec License
|
|
39
|
-
Copyright (C) 2010-
|
|
39
|
+
Copyright (C) 2010-2013, OGIS-RI Co.,Ltd.
|
|
40
40
|
|
|
41
41
|
AdLint is free software: you can redistribute it and/or modify
|
|
42
42
|
it under the terms of the GNU General Public License as published by
|
|
@@ -625,10 +625,10 @@ by not specifying the @option{-v,--verbose} option.
|
|
|
625
625
|
% adlint -t adlint_traits.yml -o . -p 1 -l adlint_files.txt
|
|
626
626
|
../intro_demo.c:6:9:warning:c_builtin:W0492:UNC:X99:The same identifier name `i' is also used in the member of structure/union, label, tag or normal identifier.
|
|
627
627
|
../intro_demo.c:12:13:warning:c_builtin:W0027:UNC:X99:Comparison operation is being made by pointer variable.
|
|
628
|
-
../intro_demo.c:16:14:warning:c_builtin:W0422:UNC:X99:
|
|
629
|
-
../intro_demo.c:31:13:warning:c_builtin:W0613:UNC:X99:
|
|
628
|
+
../intro_demo.c:16:14:warning:c_builtin:W0422:UNC:X99:Value of the dereferencing pointer may be NULL.
|
|
629
|
+
../intro_demo.c:31:13:warning:c_builtin:W0613:UNC:X99:This controlling expression always makes false.
|
|
630
630
|
...snip...
|
|
631
|
-
../intro_demo.c:55:9:warning:c_builtin:W9001:UNC:X99:
|
|
631
|
+
../intro_demo.c:55:9:warning:c_builtin:W9001:UNC:X99:Control never reaches to this statement.
|
|
632
632
|
../intro_demo.c:2:1:warning:c_builtin:W0071:UNC:X99:Included "../useless_header.h" is not referenced in the translation unit. It can be removed.
|
|
633
633
|
../intro_demo.c:61:19:warning:c_builtin:W0628:UNC:X99:A function `int bar(void)' is defined, but this is not used in this project.
|
|
634
634
|
@end verbatim
|
|
@@ -683,10 +683,10 @@ the message can output to stderr without display the progress by not specifying
|
|
|
683
683
|
% adlint_sma -t adlint_traits.yml -o . -p 1 ../intro_demo.c
|
|
684
684
|
../intro_demo.c:6:9:warning:c_builtin:W0492:UNC:X99:The same identifier name `i' is also used in the member of structure/union, label, tag or normal identifier.
|
|
685
685
|
../intro_demo.c:12:13:warning:c_builtin:W0027:UNC:X99:Comparison operation is being made by pointer variable.
|
|
686
|
-
../intro_demo.c:16:14:warning:c_builtin:W0422:UNC:X99:
|
|
687
|
-
../intro_demo.c:31:13:warning:c_builtin:W0613:UNC:X99:
|
|
686
|
+
../intro_demo.c:16:14:warning:c_builtin:W0422:UNC:X99:Value of the dereferencing pointer may be NULL.
|
|
687
|
+
../intro_demo.c:31:13:warning:c_builtin:W0613:UNC:X99:This controlling expression always makes false.
|
|
688
688
|
...snip...
|
|
689
|
-
../intro_demo.c:55:9:warning:c_builtin:W9001:UNC:X99:
|
|
689
|
+
../intro_demo.c:55:9:warning:c_builtin:W9001:UNC:X99:Control never reaches to this statement.
|
|
690
690
|
../intro_demo.c:2:1:warning:c_builtin:W0071:UNC:X99:Included "../useless_header.h" is not referenced in the translation unit. It can be removed.
|
|
691
691
|
../intro_demo.c:61:19:warning:c_builtin:W0628:UNC:X99:A function `int bar(void)' is defined, but this is not used in this project.
|
|
692
692
|
@end verbatim
|
|
@@ -817,6 +817,7 @@ Options:
|
|
|
817
817
|
* Input file:Input Files.
|
|
818
818
|
* Traits file:Traits.
|
|
819
819
|
* Message definition file:Message Definition.
|
|
820
|
+
* Source code annotation:Source Code Annotation.
|
|
820
821
|
@end menu
|
|
821
822
|
|
|
822
823
|
|
|
@@ -858,7 +859,6 @@ Describe @ref{Project Traits, Project Traits} , @ref{Compiler Traits, Compiler T
|
|
|
858
859
|
When it run a @command{adlintize} command at the root directory of analyzed project,
|
|
859
860
|
generate the template of traits file for the project, @file{GNUmakefile} and shell script.
|
|
860
861
|
|
|
861
|
-
|
|
862
862
|
@verbatim
|
|
863
863
|
% cd project
|
|
864
864
|
% adlintize -o adlint
|
|
@@ -976,16 +976,31 @@ string
|
|
|
976
976
|
@tab
|
|
977
977
|
Set pathname of the project root directory.
|
|
978
978
|
@item 3
|
|
979
|
-
@cindex project_traits:
|
|
980
|
-
@anchor{project_traits:
|
|
979
|
+
@cindex project_traits:target_files:inclusion_paths
|
|
980
|
+
@anchor{project_traits:target_files:inclusion_paths}
|
|
981
981
|
@tab
|
|
982
|
-
@code{
|
|
982
|
+
@code{target_files:inclusion_paths}
|
|
983
983
|
@tab
|
|
984
984
|
array of string
|
|
985
985
|
@tab
|
|
986
|
-
|
|
987
|
-
An entry can have multiple pathnames with @code{`:'}
|
|
986
|
+
Specify directory paths which contain analysis target source files.
|
|
987
|
+
An entry can have multiple pathnames with @code{`:'} (or @code{`;'} on windows)
|
|
988
|
+
separators.
|
|
988
989
|
@item 4
|
|
990
|
+
@cindex project_traits:target_files:exclusion_paths
|
|
991
|
+
@anchor{project_traits:target_files:exclusion_paths}
|
|
992
|
+
@tab
|
|
993
|
+
@code{target_files:exclusion_paths}
|
|
994
|
+
@tab
|
|
995
|
+
array of string
|
|
996
|
+
@tab
|
|
997
|
+
Specify directory paths to eliminate analysis target source files under the
|
|
998
|
+
directory.
|
|
999
|
+
If omitted, AdLint will check all the files included by the target source files
|
|
1000
|
+
such as 3rd-party library headers under @ref{project_traits:target_files:inclusion_paths, @code{target_files:inclusion_paths}}.
|
|
1001
|
+
An entry can have multiple pathnames with @code{`:'} (or @code{`;'} on windows)
|
|
1002
|
+
separators.
|
|
1003
|
+
@item 5
|
|
989
1004
|
@cindex project_traits:initial_header
|
|
990
1005
|
@anchor{project_traits:initial_header}
|
|
991
1006
|
@tab
|
|
@@ -995,8 +1010,18 @@ string
|
|
|
995
1010
|
@tab
|
|
996
1011
|
Set the header files which is included at the top of specified source files.
|
|
997
1012
|
For example, project specific macro definition will be described in this file.
|
|
998
|
-
|
|
999
|
-
@
|
|
1013
|
+
@item 6
|
|
1014
|
+
@cindex project_traits:file_search_paths
|
|
1015
|
+
@anchor{project_traits:file_search_paths}
|
|
1016
|
+
@tab
|
|
1017
|
+
@code{file_search_paths}
|
|
1018
|
+
@tab
|
|
1019
|
+
array of string
|
|
1020
|
+
@tab
|
|
1021
|
+
Set project specific include-file search paths.
|
|
1022
|
+
An entry can have multiple pathnames with @code{`:'} (or @code{`;'} on windows)
|
|
1023
|
+
separators.
|
|
1024
|
+
@item 7
|
|
1000
1025
|
@cindex project_traits:coding_style:indent_style
|
|
1001
1026
|
@anchor{project_traits:coding_style:indent_style}
|
|
1002
1027
|
@tab
|
|
@@ -1043,7 +1068,7 @@ foo(int i)
|
|
|
1043
1068
|
@}
|
|
1044
1069
|
@end example
|
|
1045
1070
|
|
|
1046
|
-
@item
|
|
1071
|
+
@item 8
|
|
1047
1072
|
@cindex project_traits:coding_style:tab_width
|
|
1048
1073
|
@anchor{project_traits:coding_style:tab_width}
|
|
1049
1074
|
@tab
|
|
@@ -1052,7 +1077,7 @@ foo(int i)
|
|
|
1052
1077
|
integer value
|
|
1053
1078
|
@tab
|
|
1054
1079
|
Set the appearance number of digits of tab character
|
|
1055
|
-
@item
|
|
1080
|
+
@item 9
|
|
1056
1081
|
@cindex project_traits:coding_style:indent_width
|
|
1057
1082
|
@anchor{project_traits:coding_style:indent_width}
|
|
1058
1083
|
@tab
|
|
@@ -1061,7 +1086,7 @@ Set the appearance number of digits of tab character
|
|
|
1061
1086
|
integer value
|
|
1062
1087
|
@tab
|
|
1063
1088
|
Set the appearance number of digits of indent
|
|
1064
|
-
@item
|
|
1089
|
+
@item 10
|
|
1065
1090
|
@cindex project_traits:file_encoding
|
|
1066
1091
|
@anchor{project_traits:file_encoding}
|
|
1067
1092
|
@tab
|
|
@@ -1093,204 +1118,205 @@ string
|
|
|
1093
1118
|
Set the header files which is included at the top of specified source files and automatically included before project specific @code{initial_header}.
|
|
1094
1119
|
This file describes compiler specific macro, type definition and others.
|
|
1095
1120
|
@item 2
|
|
1096
|
-
@cindex compiler_traits:
|
|
1097
|
-
@anchor{compiler_traits:
|
|
1121
|
+
@cindex compiler_traits:file_search_paths
|
|
1122
|
+
@anchor{compiler_traits:file_search_paths}
|
|
1098
1123
|
@tab
|
|
1099
|
-
@code{
|
|
1124
|
+
@code{file_search_paths}
|
|
1100
1125
|
@tab
|
|
1101
|
-
|
|
1126
|
+
array of string
|
|
1102
1127
|
@tab
|
|
1103
|
-
Set the
|
|
1128
|
+
Set the compiler specific include-file search paths.
|
|
1129
|
+
An entry can have multiple pathnames with @code{`:'} (or @code{`;'} on windows)
|
|
1130
|
+
separators.
|
|
1104
1131
|
@item 3
|
|
1105
|
-
@cindex compiler_traits:
|
|
1106
|
-
@anchor{compiler_traits:
|
|
1132
|
+
@cindex compiler_traits:standard_types:char_size
|
|
1133
|
+
@anchor{compiler_traits:standard_types:char_size}
|
|
1107
1134
|
@tab
|
|
1108
|
-
@code{
|
|
1135
|
+
@code{standard_types:char_size}
|
|
1109
1136
|
@tab
|
|
1110
1137
|
integer value
|
|
1111
1138
|
@tab
|
|
1112
|
-
Set the
|
|
1139
|
+
Set the size of @code{char} type family by bit quantities.
|
|
1113
1140
|
@item 4
|
|
1114
|
-
@cindex compiler_traits:
|
|
1115
|
-
@anchor{compiler_traits:
|
|
1141
|
+
@cindex compiler_traits:standard_types:char_alignment
|
|
1142
|
+
@anchor{compiler_traits:standard_types:char_alignment}
|
|
1116
1143
|
@tab
|
|
1117
|
-
@code{
|
|
1144
|
+
@code{standard_types:char_alignment}
|
|
1118
1145
|
@tab
|
|
1119
1146
|
integer value
|
|
1120
1147
|
@tab
|
|
1121
|
-
Set the
|
|
1148
|
+
Set the memory alignment of @code{char} type family by bit quantities.
|
|
1122
1149
|
@item 5
|
|
1123
|
-
@cindex compiler_traits:
|
|
1124
|
-
@anchor{compiler_traits:
|
|
1150
|
+
@cindex compiler_traits:standard_types:short_size
|
|
1151
|
+
@anchor{compiler_traits:standard_types:short_size}
|
|
1125
1152
|
@tab
|
|
1126
|
-
@code{
|
|
1153
|
+
@code{standard_types:short_size}
|
|
1127
1154
|
@tab
|
|
1128
1155
|
integer value
|
|
1129
1156
|
@tab
|
|
1130
|
-
Set the
|
|
1157
|
+
Set the size of @code{short} type family by bit quantities.
|
|
1131
1158
|
@item 6
|
|
1132
|
-
@cindex compiler_traits:
|
|
1133
|
-
@anchor{compiler_traits:
|
|
1159
|
+
@cindex compiler_traits:standard_types:short_alignment
|
|
1160
|
+
@anchor{compiler_traits:standard_types:short_alignment}
|
|
1134
1161
|
@tab
|
|
1135
|
-
@code{
|
|
1162
|
+
@code{standard_types:short_alignment}
|
|
1136
1163
|
@tab
|
|
1137
1164
|
integer value
|
|
1138
1165
|
@tab
|
|
1139
|
-
Set the
|
|
1166
|
+
Set the memory alignment of @code{short} family by bit quantities.
|
|
1140
1167
|
@item 7
|
|
1141
|
-
@cindex compiler_traits:
|
|
1142
|
-
@anchor{compiler_traits:
|
|
1168
|
+
@cindex compiler_traits:standard_types:int_size
|
|
1169
|
+
@anchor{compiler_traits:standard_types:int_size}
|
|
1143
1170
|
@tab
|
|
1144
|
-
@code{
|
|
1171
|
+
@code{standard_types:int_size}
|
|
1145
1172
|
@tab
|
|
1146
1173
|
integer value
|
|
1147
1174
|
@tab
|
|
1148
|
-
Set the
|
|
1175
|
+
Set the size of @code{int} type family by bit quantities.
|
|
1149
1176
|
@item 8
|
|
1150
|
-
@cindex compiler_traits:
|
|
1151
|
-
@anchor{compiler_traits:
|
|
1177
|
+
@cindex compiler_traits:standard_types:int_alignment
|
|
1178
|
+
@anchor{compiler_traits:standard_types:int_alignment}
|
|
1152
1179
|
@tab
|
|
1153
|
-
@code{
|
|
1180
|
+
@code{standard_types:int_alignment}
|
|
1154
1181
|
@tab
|
|
1155
1182
|
integer value
|
|
1156
1183
|
@tab
|
|
1157
|
-
Set the
|
|
1184
|
+
Set the memory alignment of @code{int} type family by bit quantities.
|
|
1158
1185
|
@item 9
|
|
1159
|
-
@cindex compiler_traits:
|
|
1160
|
-
@anchor{compiler_traits:
|
|
1186
|
+
@cindex compiler_traits:standard_types:long_size
|
|
1187
|
+
@anchor{compiler_traits:standard_types:long_size}
|
|
1161
1188
|
@tab
|
|
1162
|
-
@code{
|
|
1189
|
+
@code{standard_types:long_size}
|
|
1163
1190
|
@tab
|
|
1164
1191
|
integer value
|
|
1165
1192
|
@tab
|
|
1166
|
-
Set the
|
|
1193
|
+
Set the size of @code{long int} type family by bit quantities.
|
|
1167
1194
|
@item 10
|
|
1168
|
-
@cindex compiler_traits:
|
|
1169
|
-
@anchor{compiler_traits:
|
|
1195
|
+
@cindex compiler_traits:standard_types:long_alignment
|
|
1196
|
+
@anchor{compiler_traits:standard_types:long_alignment}
|
|
1170
1197
|
@tab
|
|
1171
|
-
@code{
|
|
1198
|
+
@code{standard_types:long_alignment}
|
|
1172
1199
|
@tab
|
|
1173
1200
|
integer value
|
|
1174
1201
|
@tab
|
|
1175
|
-
Set the
|
|
1202
|
+
Set the memory alignment of @code{long int} type family by bit quantities.
|
|
1176
1203
|
@item 11
|
|
1177
|
-
@cindex compiler_traits:
|
|
1178
|
-
@anchor{compiler_traits:
|
|
1204
|
+
@cindex compiler_traits:standard_types:long_long_size
|
|
1205
|
+
@anchor{compiler_traits:standard_types:long_long_size}
|
|
1179
1206
|
@tab
|
|
1180
|
-
@code{
|
|
1207
|
+
@code{standard_types:long_long_size}
|
|
1181
1208
|
@tab
|
|
1182
1209
|
integer value
|
|
1183
1210
|
@tab
|
|
1184
|
-
Set the
|
|
1211
|
+
Set the size of @code{long long int} type family by bit quantities.
|
|
1185
1212
|
@item 12
|
|
1186
|
-
@cindex compiler_traits:
|
|
1187
|
-
@anchor{compiler_traits:
|
|
1213
|
+
@cindex compiler_traits:standard_types:long_long_alignment
|
|
1214
|
+
@anchor{compiler_traits:standard_types:long_long_alignment}
|
|
1188
1215
|
@tab
|
|
1189
|
-
@code{
|
|
1216
|
+
@code{standard_types:long_long_alignment}
|
|
1190
1217
|
@tab
|
|
1191
1218
|
integer value
|
|
1192
1219
|
@tab
|
|
1193
|
-
Set the
|
|
1220
|
+
Set the memory alignment of @code{long long int} type family by bit quantities.
|
|
1194
1221
|
@item 13
|
|
1195
|
-
@cindex compiler_traits:
|
|
1196
|
-
@anchor{compiler_traits:
|
|
1222
|
+
@cindex compiler_traits:standard_types:float_size
|
|
1223
|
+
@anchor{compiler_traits:standard_types:float_size}
|
|
1197
1224
|
@tab
|
|
1198
|
-
@code{
|
|
1225
|
+
@code{standard_types:float_size}
|
|
1199
1226
|
@tab
|
|
1200
1227
|
integer value
|
|
1201
1228
|
@tab
|
|
1202
|
-
Set the
|
|
1229
|
+
Set the size of @code{float} type family by bit quantities.
|
|
1203
1230
|
@item 14
|
|
1204
|
-
@cindex compiler_traits:
|
|
1205
|
-
@anchor{compiler_traits:
|
|
1231
|
+
@cindex compiler_traits:standard_types:float_alignment
|
|
1232
|
+
@anchor{compiler_traits:standard_types:float_alignment}
|
|
1206
1233
|
@tab
|
|
1207
|
-
@code{
|
|
1234
|
+
@code{standard_types:float_alignment}
|
|
1208
1235
|
@tab
|
|
1209
1236
|
integer value
|
|
1210
1237
|
@tab
|
|
1211
|
-
Set the
|
|
1238
|
+
Set the memory alignment of @code{float} type family by bit quantities.
|
|
1212
1239
|
@item 15
|
|
1213
|
-
@cindex compiler_traits:
|
|
1214
|
-
@anchor{compiler_traits:
|
|
1240
|
+
@cindex compiler_traits:standard_types:double_size
|
|
1241
|
+
@anchor{compiler_traits:standard_types:double_size}
|
|
1215
1242
|
@tab
|
|
1216
|
-
@code{
|
|
1243
|
+
@code{standard_types:double_size}
|
|
1217
1244
|
@tab
|
|
1218
1245
|
integer value
|
|
1219
1246
|
@tab
|
|
1220
|
-
Set the
|
|
1247
|
+
Set the size of @code{double} type family by bit quantities.
|
|
1221
1248
|
@item 16
|
|
1222
|
-
@cindex compiler_traits:
|
|
1223
|
-
@anchor{compiler_traits:
|
|
1249
|
+
@cindex compiler_traits:standard_types:double_alignment
|
|
1250
|
+
@anchor{compiler_traits:standard_types:double_alignment}
|
|
1224
1251
|
@tab
|
|
1225
|
-
@code{
|
|
1252
|
+
@code{standard_types:double_alignment}
|
|
1226
1253
|
@tab
|
|
1227
1254
|
integer value
|
|
1228
1255
|
@tab
|
|
1229
|
-
Set the
|
|
1256
|
+
Set the memory alignment of @code{double} type family by bit quantities.
|
|
1230
1257
|
@item 17
|
|
1231
|
-
@cindex compiler_traits:
|
|
1232
|
-
@anchor{compiler_traits:
|
|
1258
|
+
@cindex compiler_traits:standard_types:long_double_size
|
|
1259
|
+
@anchor{compiler_traits:standard_types:long_double_size}
|
|
1233
1260
|
@tab
|
|
1234
|
-
@code{
|
|
1261
|
+
@code{standard_types:long_double_size}
|
|
1235
1262
|
@tab
|
|
1236
1263
|
integer value
|
|
1237
1264
|
@tab
|
|
1238
|
-
Set the
|
|
1265
|
+
Set the size of @code{long double} type family by bit quantities.
|
|
1239
1266
|
@item 18
|
|
1240
|
-
@cindex compiler_traits:
|
|
1241
|
-
@anchor{compiler_traits:
|
|
1267
|
+
@cindex compiler_traits:standard_types:long_double_alignment
|
|
1268
|
+
@anchor{compiler_traits:standard_types:long_double_alignment}
|
|
1242
1269
|
@tab
|
|
1243
|
-
@code{
|
|
1270
|
+
@code{standard_types:long_double_alignment}
|
|
1244
1271
|
@tab
|
|
1245
1272
|
integer value
|
|
1246
1273
|
@tab
|
|
1247
|
-
Set the
|
|
1274
|
+
Set the memory alignment of @code{long double} type family by bit quantities.
|
|
1248
1275
|
@item 19
|
|
1249
|
-
@cindex compiler_traits:
|
|
1250
|
-
@anchor{compiler_traits:
|
|
1276
|
+
@cindex compiler_traits:standard_types:code_ptr_size
|
|
1277
|
+
@anchor{compiler_traits:standard_types:code_ptr_size}
|
|
1251
1278
|
@tab
|
|
1252
|
-
@code{
|
|
1279
|
+
@code{standard_types:code_ptr_size}
|
|
1253
1280
|
@tab
|
|
1254
1281
|
integer value
|
|
1255
1282
|
@tab
|
|
1256
|
-
Set the
|
|
1283
|
+
Set the size of function pointer by bit quantities.
|
|
1257
1284
|
@item 20
|
|
1258
|
-
@cindex compiler_traits:
|
|
1259
|
-
@anchor{compiler_traits:
|
|
1285
|
+
@cindex compiler_traits:standard_types:code_ptr_alignment
|
|
1286
|
+
@anchor{compiler_traits:standard_types:code_ptr_alignment}
|
|
1260
1287
|
@tab
|
|
1261
|
-
@code{
|
|
1288
|
+
@code{standard_types:code_ptr_alignment}
|
|
1262
1289
|
@tab
|
|
1263
1290
|
integer value
|
|
1264
1291
|
@tab
|
|
1265
|
-
Set the
|
|
1292
|
+
Set the memory alignment of function pointer by bit quantities.
|
|
1266
1293
|
@item 21
|
|
1267
|
-
@cindex compiler_traits:
|
|
1268
|
-
@anchor{compiler_traits:
|
|
1294
|
+
@cindex compiler_traits:standard_types:data_ptr_size
|
|
1295
|
+
@anchor{compiler_traits:standard_types:data_ptr_size}
|
|
1269
1296
|
@tab
|
|
1270
|
-
@code{
|
|
1297
|
+
@code{standard_types:data_ptr_size}
|
|
1271
1298
|
@tab
|
|
1272
1299
|
integer value
|
|
1273
1300
|
@tab
|
|
1274
|
-
Set the
|
|
1301
|
+
Set the size of data pointer by bit quantities.
|
|
1275
1302
|
@item 22
|
|
1276
|
-
@cindex compiler_traits:
|
|
1277
|
-
@anchor{compiler_traits:
|
|
1303
|
+
@cindex compiler_traits:standard_types:data_ptr_alignment
|
|
1304
|
+
@anchor{compiler_traits:standard_types:data_ptr_alignment}
|
|
1278
1305
|
@tab
|
|
1279
|
-
@code{
|
|
1306
|
+
@code{standard_types:data_ptr_alignment}
|
|
1280
1307
|
@tab
|
|
1281
|
-
|
|
1308
|
+
integer value
|
|
1282
1309
|
@tab
|
|
1283
|
-
|
|
1310
|
+
Set the memory alignment of data pointer by bit quantities.
|
|
1284
1311
|
@item 23
|
|
1285
|
-
@cindex compiler_traits:
|
|
1286
|
-
@anchor{compiler_traits:
|
|
1312
|
+
@cindex compiler_traits:standard_types:char_as_unsigned_char
|
|
1313
|
+
@anchor{compiler_traits:standard_types:char_as_unsigned_char}
|
|
1287
1314
|
@tab
|
|
1288
|
-
@code{
|
|
1315
|
+
@code{standard_types:char_as_unsigned_char}
|
|
1289
1316
|
@tab
|
|
1290
|
-
|
|
1317
|
+
boolean value
|
|
1291
1318
|
@tab
|
|
1292
|
-
|
|
1293
|
-
An entry can have multiple pathnames with @code{`:'} separators.
|
|
1319
|
+
If @code{`char'} type treat as @code{`unsigned char'}, set true.
|
|
1294
1320
|
@item 24
|
|
1295
1321
|
@cindex compiler_traits:arithmetic:logical_right_shift
|
|
1296
1322
|
@anchor{compiler_traits:arithmetic:logical_right_shift}
|
|
@@ -1302,10 +1328,19 @@ boolean value
|
|
|
1302
1328
|
If right shift expression @code{`>>'} treat as logical shift instead of arithmetic shift,
|
|
1303
1329
|
set true.
|
|
1304
1330
|
@item 25
|
|
1305
|
-
@cindex compiler_traits:
|
|
1306
|
-
@anchor{compiler_traits:
|
|
1331
|
+
@cindex compiler_traits:identifier_max
|
|
1332
|
+
@anchor{compiler_traits:identifier_max}
|
|
1333
|
+
@tab
|
|
1334
|
+
@code{identifier_max}
|
|
1335
|
+
@tab
|
|
1336
|
+
integer value
|
|
1337
|
+
@tab
|
|
1338
|
+
Set the maximum number of length which compiler can identifier.
|
|
1339
|
+
@item 26
|
|
1340
|
+
@cindex compiler_traits:extension_substitutions
|
|
1341
|
+
@anchor{compiler_traits:extension_substitutions}
|
|
1307
1342
|
@tab
|
|
1308
|
-
@code{
|
|
1343
|
+
@code{extension_substitutions}
|
|
1309
1344
|
@tab
|
|
1310
1345
|
map of string
|
|
1311
1346
|
@tab
|
|
@@ -1313,34 +1348,27 @@ Set the token replacement pattern to adjust compiler specific extension.
|
|
|
1313
1348
|
AdLint puts the warning message @ref{W0061} all uses of this extension.
|
|
1314
1349
|
If @code{`__attribute__ ( arbitrary token row )'} delete after pre-process and puts the warning @ref{W0061}, set as follows.
|
|
1315
1350
|
@example
|
|
1316
|
-
|
|
1351
|
+
extension_substitutions:
|
|
1317
1352
|
"__attribute__(__adlint__any)": ""
|
|
1318
1353
|
@end example
|
|
1319
1354
|
|
|
1320
1355
|
And if the token @code{`__restrict'} replaces @code{`restrict'} and put the warning @ref{W0061}, set as follows.
|
|
1321
1356
|
@example
|
|
1322
|
-
|
|
1357
|
+
extension_substitutions:
|
|
1323
1358
|
"__restrict": "restrict"
|
|
1324
1359
|
@end example
|
|
1325
|
-
@item 26
|
|
1326
|
-
@cindex compiler_traits:arbitrary_substitution
|
|
1327
|
-
@anchor{compiler_traits:arbitrary_substitution}
|
|
1328
|
-
@tab
|
|
1329
|
-
@code{arbitrary_substitution}
|
|
1330
|
-
@tab
|
|
1331
|
-
map of string
|
|
1332
|
-
@tab
|
|
1333
|
-
Same as @ref{compiler_traits:extension_substitution, @code{extension_substitution}},
|
|
1334
|
-
replace the token after pre-process, the difference is doesn't put the warning @ref{W0061}.
|
|
1335
1360
|
@item 27
|
|
1336
|
-
@cindex compiler_traits:
|
|
1337
|
-
@anchor{compiler_traits:
|
|
1361
|
+
@cindex compiler_traits:arbitrary_substitutions
|
|
1362
|
+
@anchor{compiler_traits:arbitrary_substitutions}
|
|
1338
1363
|
@tab
|
|
1339
|
-
@code{
|
|
1364
|
+
@code{arbitrary_substitutions}
|
|
1340
1365
|
@tab
|
|
1341
|
-
|
|
1366
|
+
map of string
|
|
1342
1367
|
@tab
|
|
1343
|
-
|
|
1368
|
+
Same as
|
|
1369
|
+
@ref{compiler_traits:extension_substitutions, @code{extension_substitutions}},
|
|
1370
|
+
replace the token after pre-process, the difference is doesn't put the warning
|
|
1371
|
+
@ref{W0061}.
|
|
1344
1372
|
@end multitable
|
|
1345
1373
|
|
|
1346
1374
|
|
|
@@ -1389,57 +1417,17 @@ string
|
|
|
1389
1417
|
@tab
|
|
1390
1418
|
Set the language of message body.(Currently) it available @code{"en_US"} or @code{"ja_JP"}.
|
|
1391
1419
|
@item 2
|
|
1392
|
-
@cindex message_traits:
|
|
1393
|
-
@anchor{message_traits:
|
|
1394
|
-
@tab
|
|
1395
|
-
@code{message_with_class}
|
|
1396
|
-
@tab
|
|
1397
|
-
boolean
|
|
1398
|
-
@tab
|
|
1399
|
-
In case of @code{true}, AdLint will output messages with name of the
|
|
1400
|
-
examination package, message category and message severity to the @ref{Message
|
|
1401
|
-
File, message file}.
|
|
1402
|
-
@item 3
|
|
1403
|
-
@cindex message_traits:warn_files_in
|
|
1404
|
-
@anchor{message_traits:warn_files_in}
|
|
1405
|
-
@tab
|
|
1406
|
-
@code{warn_files_in}
|
|
1407
|
-
@tab
|
|
1408
|
-
array of string
|
|
1409
|
-
@tab
|
|
1410
|
-
@b{This item has no effect on AdLint 2.6.14, yet.}
|
|
1411
|
-
|
|
1412
|
-
If a directory path is specified, AdLint will output warning messages about
|
|
1413
|
-
source files located under the specified directory.
|
|
1414
|
-
If omitted, AdLint will output warning messages about all the files included by
|
|
1415
|
-
the target source files such as system headers or 3rd-party library headers.
|
|
1416
|
-
@item 4
|
|
1417
|
-
@cindex message_traits:warn_files_not_in
|
|
1418
|
-
@anchor{message_traits:warn_files_not_in}
|
|
1419
|
-
@tab
|
|
1420
|
-
@code{warn_files_not_in}
|
|
1421
|
-
@tab
|
|
1422
|
-
array of string
|
|
1420
|
+
@cindex message_traits:individual_suppression
|
|
1421
|
+
@anchor{message_traits:individual_suppression}
|
|
1423
1422
|
@tab
|
|
1424
|
-
@
|
|
1425
|
-
|
|
1426
|
-
If a directory path is specified, AdLint will suppress warning messages about
|
|
1427
|
-
source files located under the specified directory.
|
|
1428
|
-
@item 5
|
|
1429
|
-
@cindex message_traits:individual_selection
|
|
1430
|
-
@anchor{message_traits:individual_selection}
|
|
1431
|
-
@tab
|
|
1432
|
-
@code{individual_selection}
|
|
1423
|
+
@code{individual_suppression}
|
|
1433
1424
|
@tab
|
|
1434
1425
|
boolean
|
|
1435
1426
|
@tab
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
This item enables code check selection by annotations in the target source
|
|
1439
|
-
files.
|
|
1427
|
+
This item enables message suppression by @ref{Source Code Annotation, source code annotations}.
|
|
1440
1428
|
|
|
1441
|
-
In case of @code{true},
|
|
1442
|
-
@item
|
|
1429
|
+
In case of @code{true}, message suppression by annotations will be enabled.
|
|
1430
|
+
@item 3
|
|
1443
1431
|
@cindex message_traits:exclusion:categories
|
|
1444
1432
|
@anchor{message_traits:exclusion:categories}
|
|
1445
1433
|
@tab
|
|
@@ -1447,10 +1435,8 @@ In case of @code{true}, code check selection by annotations will be enabled.
|
|
|
1447
1435
|
@tab
|
|
1448
1436
|
array of string
|
|
1449
1437
|
@tab
|
|
1450
|
-
@b{This item has no effect on AdLint 2.6.14, yet.}
|
|
1451
|
-
|
|
1452
1438
|
This item represents excluding code checks by its message categories.
|
|
1453
|
-
@item
|
|
1439
|
+
@item 4
|
|
1454
1440
|
@cindex message_traits:exclusion:severities
|
|
1455
1441
|
@anchor{message_traits:exclusion:severities}
|
|
1456
1442
|
@tab
|
|
@@ -1458,10 +1444,8 @@ This item represents excluding code checks by its message categories.
|
|
|
1458
1444
|
@tab
|
|
1459
1445
|
regexp string
|
|
1460
1446
|
@tab
|
|
1461
|
-
@b{This item has no effect on AdLint 2.6.14, yet.}
|
|
1462
|
-
|
|
1463
1447
|
This item represents excluding code checks by its message severities.
|
|
1464
|
-
@item
|
|
1448
|
+
@item 5
|
|
1465
1449
|
@cindex message_traits:exclusion:messages
|
|
1466
1450
|
@anchor{message_traits:exclusion:messages}
|
|
1467
1451
|
@tab
|
|
@@ -1469,13 +1453,11 @@ This item represents excluding code checks by its message severities.
|
|
|
1469
1453
|
@tab
|
|
1470
1454
|
map of Message ID and string
|
|
1471
1455
|
@tab
|
|
1472
|
-
@b{This item has no effect on AdLint 2.6.14, yet.}
|
|
1473
|
-
|
|
1474
1456
|
This item represents excluding code checks by its message ID.
|
|
1475
1457
|
|
|
1476
1458
|
Because a message ID is not unique in multiple examination packages, you should
|
|
1477
1459
|
also specify the name of the examination package including the message.
|
|
1478
|
-
@item
|
|
1460
|
+
@item 6
|
|
1479
1461
|
@cindex message_traits:inclusion:messages
|
|
1480
1462
|
@anchor{message_traits:inclusion:messages}
|
|
1481
1463
|
@tab
|
|
@@ -1483,14 +1465,12 @@ also specify the name of the examination package including the message.
|
|
|
1483
1465
|
@tab
|
|
1484
1466
|
map of Message ID and string
|
|
1485
1467
|
@tab
|
|
1486
|
-
@b{This item has no effect on AdLint 2.6.14, yet.}
|
|
1487
|
-
|
|
1488
1468
|
This item represents messages which is excluded by settings of @code{exclusion}
|
|
1489
1469
|
section but will be used by AdLint.
|
|
1490
1470
|
|
|
1491
1471
|
For example, you can bring back the specified code checks which is excluded by
|
|
1492
1472
|
@ref{message_traits:exclusion:categories, exclusion:categories}.
|
|
1493
|
-
@item
|
|
1473
|
+
@item 7
|
|
1494
1474
|
@cindex message_traits:change_list
|
|
1495
1475
|
@anchor{message_traits:change_list}
|
|
1496
1476
|
@tab
|
|
@@ -1519,10 +1499,91 @@ change_list:
|
|
|
1519
1499
|
|
|
1520
1500
|
@node Message Definition
|
|
1521
1501
|
@section Message Definition file.
|
|
1502
|
+
|
|
1522
1503
|
Describe all error and warning message to setting file by @uref{http://yaml.org/, format}.
|
|
1523
1504
|
Normally this file doesn't edit directly.
|
|
1524
1505
|
If it need to change the message body, set the changes to @ref{message_traits:change_list,
|
|
1525
1506
|
@code{change_list}} in traits file.
|
|
1507
|
+
|
|
1508
|
+
|
|
1509
|
+
@node Source Code Annotation
|
|
1510
|
+
@section Source Code Annotation
|
|
1511
|
+
|
|
1512
|
+
You can write an annotation which controls AdLint's analysis behavior as an
|
|
1513
|
+
ordinary comment of the programming language.
|
|
1514
|
+
|
|
1515
|
+
@subsection Warning message suppression annotation
|
|
1516
|
+
|
|
1517
|
+
An annotation starts with @code{ADLINT:SF} in an ordinary comment specifies
|
|
1518
|
+
that messages listed in the annotation of the annotated file will be
|
|
1519
|
+
suppressed.
|
|
1520
|
+
|
|
1521
|
+
An annotation starts with @code{ADLINT:SL} in an ordinary comment specifies
|
|
1522
|
+
that messages listed in the annotation of the annotated line will be
|
|
1523
|
+
suppressed.
|
|
1524
|
+
|
|
1525
|
+
The following describes format and usage of the annotation.
|
|
1526
|
+
|
|
1527
|
+
@subheading @bullet{ Common definitions}
|
|
1528
|
+
@example
|
|
1529
|
+
@anchor{message_specifier_list}
|
|
1530
|
+
message_specifier_list : @ref{qualified_message_specifier}
|
|
1531
|
+
| @ref{unqualified_message_specifier}
|
|
1532
|
+
| @ref{message_specifier_list} @ref{qualified_message_specifier}
|
|
1533
|
+
| @ref{message_specifier_list} @ref{unqualified_message_specifier}
|
|
1534
|
+
|
|
1535
|
+
@anchor{qualified_message_specifier}
|
|
1536
|
+
qualified_message_specifier : ':' @ref{package_name} @ref{unqualified_message_specifier}
|
|
1537
|
+
|
|
1538
|
+
@anchor{unqualified_message_specifier}
|
|
1539
|
+
unqualified_message_specifier : ':' '[' @ref{message_name_list} ']'
|
|
1540
|
+
|
|
1541
|
+
@anchor{message_name_list}
|
|
1542
|
+
message_name_list : @ref{message_name}
|
|
1543
|
+
| @ref{message_name_list} ',' @ref{message_name}
|
|
1544
|
+
|
|
1545
|
+
@anchor{message_name}
|
|
1546
|
+
message_name : 'W' [0-9]@{4@}
|
|
1547
|
+
|
|
1548
|
+
@anchor{package_name}
|
|
1549
|
+
package_name : any string specified in @ref{global_traits:exam_packages, @code{exam_packages}} of the traits file.
|
|
1550
|
+
@end example
|
|
1551
|
+
|
|
1552
|
+
@subheading @bullet{ File-wise message suppressor}
|
|
1553
|
+
@example
|
|
1554
|
+
@anchor{file_wise_suppressor_annotation}
|
|
1555
|
+
file_wise_suppressor_annotation : "/*" @ref{file_wise_suppressor_head} @ref{message_specifier_list} "*/"
|
|
1556
|
+
| "//" @ref{file_wise_suppressor_head} @ref{message_specifier_list}
|
|
1557
|
+
|
|
1558
|
+
@anchor{file_wise_suppressor_head}
|
|
1559
|
+
file_wise_suppressor_head : "ADLINT:SF"
|
|
1560
|
+
@end example
|
|
1561
|
+
|
|
1562
|
+
@subheading @bullet{ Line-wise message suppressor}
|
|
1563
|
+
@example
|
|
1564
|
+
@anchor{line_wise_suppressor_annotation}
|
|
1565
|
+
line_wise_suppressor_annotation : "/*" @ref{line_wise_suppressor_head} @ref{message_specifier_list} "*/"
|
|
1566
|
+
| "//" @ref{line_wise_suppressor_head} @ref{message_specifier_list}
|
|
1567
|
+
|
|
1568
|
+
@anchor{line_wise_suppressor_head}
|
|
1569
|
+
line_wise_suppressor_head : "ADLINT:SL"
|
|
1570
|
+
@end example
|
|
1571
|
+
|
|
1572
|
+
@subheading @bullet{ Sample code}
|
|
1573
|
+
@verbatim
|
|
1574
|
+
/* ADLINT:SF:[W0001,W0002] (to suppress W0001 and W0002 of all exam-packages in this file.) */
|
|
1575
|
+
#include <stdio.h>
|
|
1576
|
+
|
|
1577
|
+
extern int i; /* ADLINT:SL:[W0003] (to suppress W0003 of all exam-packages only at this line.) */
|
|
1578
|
+
extern int j; /* ADLINT:SL:c_staging:[W2001] (to suppress W2001 of `c_staging' exam-package only at this line.) */
|
|
1579
|
+
|
|
1580
|
+
void foo(void)
|
|
1581
|
+
{
|
|
1582
|
+
printf("%d\n", i + j);
|
|
1583
|
+
}
|
|
1584
|
+
@end verbatim
|
|
1585
|
+
|
|
1586
|
+
|
|
1526
1587
|
@node Output
|
|
1527
1588
|
@chapter Output specification
|
|
1528
1589
|
|
|
@@ -1660,6 +1721,11 @@ function_scope_type
|
|
|
1660
1721
|
: 'F' <- File
|
|
1661
1722
|
| 'B' <- Block
|
|
1662
1723
|
|
|
1724
|
+
@anchor{function_declaration_type}
|
|
1725
|
+
function_declaration_type
|
|
1726
|
+
: 'E' <- Explicit
|
|
1727
|
+
| 'I' <- Implicit
|
|
1728
|
+
|
|
1663
1729
|
@anchor{type_name}
|
|
1664
1730
|
type_name : c_identifier
|
|
1665
1731
|
|
|
@@ -1734,7 +1800,7 @@ metrics_version_head : "VER"
|
|
|
1734
1800
|
@end example
|
|
1735
1801
|
|
|
1736
1802
|
@anchor{Output_Metrics_Ver_Sample}
|
|
1737
|
-
@subheading @bullet{
|
|
1803
|
+
@subheading @bullet{ Output example}
|
|
1738
1804
|
@example
|
|
1739
1805
|
VER,0.6.4,2012-02-16 14:10:59 +0900,/home/yanoh/intro_demo
|
|
1740
1806
|
@end example
|
|
@@ -1753,7 +1819,7 @@ declaration_record
|
|
|
1753
1819
|
declaration_head : "DCL"
|
|
1754
1820
|
@end example
|
|
1755
1821
|
|
|
1756
|
-
@subheading @bullet{
|
|
1822
|
+
@subheading @bullet{ Type definition records}
|
|
1757
1823
|
@example
|
|
1758
1824
|
@anchor{typedcl_record_body}
|
|
1759
1825
|
typedcl_record_body
|
|
@@ -1767,22 +1833,22 @@ typedcl_type
|
|
|
1767
1833
|
| 'E' <- enum
|
|
1768
1834
|
@end example
|
|
1769
1835
|
|
|
1770
|
-
@subheading @bullet{
|
|
1836
|
+
@subheading @bullet{ Global variable declaration Record}
|
|
1771
1837
|
@example
|
|
1772
1838
|
@anchor{gvardcl_record_body}
|
|
1773
1839
|
gvardcl_record_body
|
|
1774
1840
|
: 'V' ',' @ref{variable_name} ',' @ref{type_rep}
|
|
1775
1841
|
@end example
|
|
1776
1842
|
|
|
1777
|
-
@subheading @bullet{
|
|
1843
|
+
@subheading @bullet{ Function declaration record}
|
|
1778
1844
|
@example
|
|
1779
1845
|
@anchor{funcdcl_record_body}
|
|
1780
1846
|
funcdcl_record_body
|
|
1781
|
-
: 'F' ',' @ref{function_linkage_type} ',' @ref{function_scope_type} ',' @ref{function_identifier}
|
|
1847
|
+
: 'F' ',' @ref{function_linkage_type} ',' @ref{function_scope_type} ',' @ref{function_declaration_type} ',' @ref{function_identifier}
|
|
1782
1848
|
@end example
|
|
1783
1849
|
|
|
1784
1850
|
@anchor{Output_Metrics_Dcl_Sample}
|
|
1785
|
-
@subheading @bullet{
|
|
1851
|
+
@subheading @bullet{ Output example}
|
|
1786
1852
|
@verbatim
|
|
1787
1853
|
1: typedef int *int_ptr;
|
|
1788
1854
|
2:
|
|
@@ -1813,7 +1879,7 @@ DCL,test.c,3,8,T,S,Foo,struct Foo @{ int i; long l; @}
|
|
|
1813
1879
|
DCL,test.c,8,7,T,U,Bar,union Bar @{ int i; char c; @}
|
|
1814
1880
|
DCL,test.c,13,6,T,E,Color,"enum Color @{ RED = 1, GREEN, BLUE @}"
|
|
1815
1881
|
DCL,test.c,19,12,V,global_1,int
|
|
1816
|
-
DCL,test.c,21,12,F,X,F,foo,int foo(long)
|
|
1882
|
+
DCL,test.c,21,12,F,X,F,E,foo,int foo(long)
|
|
1817
1883
|
@end example
|
|
1818
1884
|
|
|
1819
1885
|
@anchor{Output_Metrics_Def}
|
|
@@ -1831,20 +1897,20 @@ definition_record
|
|
|
1831
1897
|
definition_head : "DEF"
|
|
1832
1898
|
@end example
|
|
1833
1899
|
|
|
1834
|
-
@subheading @bullet{
|
|
1900
|
+
@subheading @bullet{ Variable declaration records}
|
|
1835
1901
|
@example
|
|
1836
1902
|
@anchor{vardef_record_body}
|
|
1837
1903
|
vardef_record_body
|
|
1838
|
-
: 'V' ',' @ref{
|
|
1904
|
+
: 'V' ',' @ref{variable_linkage_type} ',' @ref{variable_scope_type} ',' @ref{storage_class_type} ',' @ref{variable_name} ',' @ref{type_rep}
|
|
1839
1905
|
|
|
1840
|
-
@anchor{
|
|
1841
|
-
|
|
1906
|
+
@anchor{variable_linkage_type}
|
|
1907
|
+
variable_linkage_type
|
|
1842
1908
|
: 'I' <- Internal
|
|
1843
1909
|
| 'X' <- eXternal
|
|
1844
1910
|
| 'N' <- None
|
|
1845
1911
|
|
|
1846
|
-
@anchor{
|
|
1847
|
-
|
|
1912
|
+
@anchor{variable_scope_type}
|
|
1913
|
+
variable_scope_type
|
|
1848
1914
|
: 'F' <- File
|
|
1849
1915
|
| 'B' <- Block
|
|
1850
1916
|
| 'P' <- Parameter
|
|
@@ -1857,14 +1923,14 @@ storage_class_type
|
|
|
1857
1923
|
| 'N' <- None
|
|
1858
1924
|
@end example
|
|
1859
1925
|
|
|
1860
|
-
@subheading @bullet{
|
|
1926
|
+
@subheading @bullet{ Function definition records}
|
|
1861
1927
|
@example
|
|
1862
1928
|
@anchor{fundef_record_body}
|
|
1863
1929
|
fundef_record_body
|
|
1864
1930
|
: 'F' ',' @ref{function_linkage_type} ',' @ref{function_scope_type} ',' @ref{function_identifier} ',' @ref{lines}
|
|
1865
1931
|
@end example
|
|
1866
1932
|
|
|
1867
|
-
@subheading @bullet{
|
|
1933
|
+
@subheading @bullet{ Macro definition records}
|
|
1868
1934
|
@example
|
|
1869
1935
|
@anchor{macrodef_record_body}
|
|
1870
1936
|
macrodef_record_body
|
|
@@ -1876,7 +1942,7 @@ macro_form_type
|
|
|
1876
1942
|
| 'F' <- Function
|
|
1877
1943
|
@end example
|
|
1878
1944
|
|
|
1879
|
-
@subheading @bullet{
|
|
1945
|
+
@subheading @bullet{ Label definition record}
|
|
1880
1946
|
@example
|
|
1881
1947
|
@anchor{labeldef_record_body}
|
|
1882
1948
|
labeldef_record_body
|
|
@@ -1887,7 +1953,7 @@ label_name : c_identifier
|
|
|
1887
1953
|
@end example
|
|
1888
1954
|
|
|
1889
1955
|
@anchor{Output_Metrics_Def_Sample}
|
|
1890
|
-
@subheading @bullet{
|
|
1956
|
+
@subheading @bullet{ Output example}
|
|
1891
1957
|
@verbatim
|
|
1892
1958
|
1: int global_1;
|
|
1893
1959
|
2: struct { int i; long l; } global_2;
|
|
@@ -1943,7 +2009,7 @@ initialization_head : "INI"
|
|
|
1943
2009
|
@end example
|
|
1944
2010
|
|
|
1945
2011
|
@anchor{Output_Metrics_Ini_Sample}
|
|
1946
|
-
@subheading @bullet{
|
|
2012
|
+
@subheading @bullet{ Output example}
|
|
1947
2013
|
@verbatim
|
|
1948
2014
|
1: int global_1 = 1;
|
|
1949
2015
|
2:
|
|
@@ -1975,7 +2041,7 @@ assignment_head : "ASN"
|
|
|
1975
2041
|
@end example
|
|
1976
2042
|
|
|
1977
2043
|
@anchor{Output_Metrics_Asn_Sample}
|
|
1978
|
-
@subheading @bullet{
|
|
2044
|
+
@subheading @bullet{ Output example}
|
|
1979
2045
|
@verbatim
|
|
1980
2046
|
1: int main(void)
|
|
1981
2047
|
2: {
|
|
@@ -2010,7 +2076,7 @@ dependency_record
|
|
|
2010
2076
|
dependency_head : "DEP"
|
|
2011
2077
|
@end example
|
|
2012
2078
|
|
|
2013
|
-
@subheading @bullet{
|
|
2079
|
+
@subheading @bullet{ Include records}
|
|
2014
2080
|
@example
|
|
2015
2081
|
@anchor{include_record_body}
|
|
2016
2082
|
include_record_body
|
|
@@ -2020,7 +2086,7 @@ include_record_body
|
|
|
2020
2086
|
included_fpath : '<' @ref{file_path} '>' | '"' @ref{file_path} '"'
|
|
2021
2087
|
@end example
|
|
2022
2088
|
|
|
2023
|
-
@subheading @bullet{
|
|
2089
|
+
@subheading @bullet{ Caller function records}
|
|
2024
2090
|
@example
|
|
2025
2091
|
@anchor{call_record_body}
|
|
2026
2092
|
call_record_body
|
|
@@ -2033,7 +2099,7 @@ caller_function : @ref{function_identifier}
|
|
|
2033
2099
|
callee_function : @ref{function_identifier}
|
|
2034
2100
|
@end example
|
|
2035
2101
|
|
|
2036
|
-
@subheading @bullet{
|
|
2102
|
+
@subheading @bullet{ external reference records}
|
|
2037
2103
|
@example
|
|
2038
2104
|
@anchor{xref_record_body}
|
|
2039
2105
|
xref_record_body
|
|
@@ -2062,7 +2128,7 @@ accessee_function : @ref{function_identifier}
|
|
|
2062
2128
|
@end example
|
|
2063
2129
|
|
|
2064
2130
|
@anchor{Output_Metrics_Dep_Sample}
|
|
2065
|
-
@subheading @bullet{
|
|
2131
|
+
@subheading @bullet{ Output example}
|
|
2066
2132
|
@verbatim
|
|
2067
2133
|
1: #include <stdio.h>
|
|
2068
2134
|
2: #include "test.h"
|
|
@@ -2121,20 +2187,20 @@ literal_type
|
|
|
2121
2187
|
@anchor{literal_prefix}
|
|
2122
2188
|
literal_prefix
|
|
2123
2189
|
:
|
|
2124
|
-
| 'l'
|
|
2125
|
-
| '
|
|
2190
|
+
| 'l' | 'L'
|
|
2191
|
+
| '0'
|
|
2192
|
+
| '0x' | '0X'
|
|
2193
|
+
| '0b' | '0B'
|
|
2126
2194
|
|
|
2127
2195
|
@anchor{literal_suffix}
|
|
2128
2196
|
literal_suffix
|
|
2129
2197
|
:
|
|
2130
|
-
| 'u'
|
|
2131
|
-
| '
|
|
2132
|
-
| '
|
|
2133
|
-
| '
|
|
2134
|
-
| 'll'
|
|
2135
|
-
| '
|
|
2136
|
-
| 'f'
|
|
2137
|
-
| 'F'
|
|
2198
|
+
| 'u' | 'U'
|
|
2199
|
+
| 'l' | 'L'
|
|
2200
|
+
| 'ul' | 'Ul' | 'uL' | 'UL'
|
|
2201
|
+
| 'ull' | 'Ull' | 'uLL' | 'ULL'
|
|
2202
|
+
| 'll' | 'LL'
|
|
2203
|
+
| 'f' | 'F'
|
|
2138
2204
|
|
|
2139
2205
|
@anchor{literal_value}
|
|
2140
2206
|
literal_value
|
|
@@ -2143,7 +2209,7 @@ literal_value
|
|
|
2143
2209
|
@end example
|
|
2144
2210
|
|
|
2145
2211
|
@anchor{Output_Metrics_Lit_Sample}
|
|
2146
|
-
@subheading @bullet{
|
|
2212
|
+
@subheading @bullet{ Output example}
|
|
2147
2213
|
@verbatim
|
|
2148
2214
|
1: unsigned int i = 0xFFU;
|
|
2149
2215
|
2:
|
|
@@ -2189,7 +2255,7 @@ pp_directive
|
|
|
2189
2255
|
@end example
|
|
2190
2256
|
|
|
2191
2257
|
@anchor{Output_Metrics_Pre_Sample}
|
|
2192
|
-
@subheading @bullet{
|
|
2258
|
+
@subheading @bullet{ Output example}
|
|
2193
2259
|
@verbatim
|
|
2194
2260
|
1: #pragma once
|
|
2195
2261
|
2:
|
|
@@ -2265,7 +2331,7 @@ metric_value : integer value
|
|
|
2265
2331
|
@anchor{message_file}
|
|
2266
2332
|
message_file
|
|
2267
2333
|
: @ref{message_version_record}
|
|
2268
|
-
| @ref{message_version_record} @ref{message_list}
|
|
2334
|
+
| @ref{message_version_record} @ref{new_line} @ref{message_list}
|
|
2269
2335
|
|
|
2270
2336
|
@anchor{message_version_record}
|
|
2271
2337
|
message_version_record
|
|
@@ -2283,34 +2349,25 @@ error_record
|
|
|
2283
2349
|
: @ref{error_line} @ref{new_line} @ref{context_line_list}
|
|
2284
2350
|
|
|
2285
2351
|
@anchor{error_line}
|
|
2286
|
-
error_line
|
|
2352
|
+
error_line
|
|
2287
2353
|
: '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}
|
|
2288
2354
|
|
|
2289
|
-
error_line (in case of @ref{message_traits:message_with_class, message_with_class} != true)
|
|
2290
|
-
: 'E' ',' @ref{file_path} ',' @ref{line_no} ',' @ref{column_no} ',' @ref{message_id} ',' @ref{message_text}
|
|
2291
|
-
|
|
2292
2355
|
@anchor{warning_record}
|
|
2293
2356
|
warning_record
|
|
2294
2357
|
: @ref{warning_line} @ref{new_line} @ref{context_line_list}
|
|
2295
2358
|
|
|
2296
2359
|
@anchor{warning_line}
|
|
2297
|
-
warning_line
|
|
2360
|
+
warning_line
|
|
2298
2361
|
: '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}
|
|
2299
2362
|
|
|
2300
|
-
warning_line (in case of @ref{message_traits:message_with_class, message_with_class} != true)
|
|
2301
|
-
: 'W' ',' @ref{file_path} ',' @ref{line_no} ',' @ref{column_no} ',' @ref{message_id} ',' @ref{message_text}
|
|
2302
|
-
|
|
2303
2363
|
@anchor{context_line_list}
|
|
2304
2364
|
context_line_list
|
|
2305
2365
|
:
|
|
2306
2366
|
| @ref{context_line} @ref{new_line} @ref{context_line_list}
|
|
2307
2367
|
|
|
2308
2368
|
@anchor{context_line}
|
|
2309
|
-
context_line
|
|
2369
|
+
context_line
|
|
2310
2370
|
: '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}
|
|
2311
|
-
|
|
2312
|
-
context_line (in case of @ref{message_traits:message_with_class, message_with_class} != true)
|
|
2313
|
-
: 'C' ',' @ref{file_path} ',' @ref{line_no} ',' @ref{column_no} ',' @ref{message_id} ',' @ref{message_text}
|
|
2314
2371
|
@end example
|
|
2315
2372
|
|
|
2316
2373
|
|
|
@@ -2347,7 +2404,7 @@ context_line (in case of @ref{message_traits:message_with_class, message_with_cl
|
|
|
2347
2404
|
* W0025::`%s' is already included by this file directly.
|
|
2348
2405
|
* W0026::`%s' is already included by this file indirectly.
|
|
2349
2406
|
* W0027::Comparison operation is being made by pointer variable.
|
|
2350
|
-
* W0028::
|
|
2407
|
+
* W0028::Dereferencing a pointer constant of NULL.
|
|
2351
2408
|
* W0030::Arithmetic operation is being made by NULL pointer.
|
|
2352
2409
|
* W0031::A formal argument `%s' is not used in this function.
|
|
2353
2410
|
* W0033::A label of `%s:' is not used in this function. It might be removed.
|
|
@@ -2385,7 +2442,7 @@ context_line (in case of @ref{message_traits:message_with_class, message_with_cl
|
|
|
2385
2442
|
* W0071::Included "%s" is not referenced in the translation unit. It can be removed.
|
|
2386
2443
|
* W0072::A character except for basic source character is used in header file name.
|
|
2387
2444
|
* W0073::No include guard in this include file.
|
|
2388
|
-
* W0076::
|
|
2445
|
+
* W0076::Hexadecimal constant without `U' or `u' suffix.
|
|
2389
2446
|
* W0077::Lower case `l' is added to integer or floating-point number.
|
|
2390
2447
|
* W0078::A function is declared without list of formal argument.
|
|
2391
2448
|
* W0079::This array cannot keep final character `\0' which initial value of string literal.
|
|
@@ -2397,9 +2454,9 @@ context_line (in case of @ref{message_traits:message_with_class, message_with_cl
|
|
|
2397
2454
|
* W0086::Second or third operand is verbose statement which doesn't have side-effects in ternary operator (conditional operator).
|
|
2398
2455
|
* W0087::The right side statement of comma operator is verbose statement which doesn't have side-effects.
|
|
2399
2456
|
* W0088::The right side statement of logical operator is verbose statement which doesn't have side-effects.
|
|
2400
|
-
* W0093::
|
|
2457
|
+
* W0093::This expression may cause division-by-zero.
|
|
2401
2458
|
* W0096::It divided by a constant expression which definitely zero.
|
|
2402
|
-
* W0097::
|
|
2459
|
+
* W0097::This expression must cause division-by-zero.
|
|
2403
2460
|
* W0100::The value of variable `%s' is not change. It can be declarable with 'const'.
|
|
2404
2461
|
* W0101::An address of auto variable is substituted for a pointer which has a longer life. This program is danger.
|
|
2405
2462
|
* W0102::An address of auto variable is returned via formal argument to functions. This program is danger.
|
|
@@ -2407,15 +2464,15 @@ context_line (in case of @ref{message_traits:message_with_class, message_with_cl
|
|
|
2407
2464
|
* W0104::The value of formal argument `%s' is not change. It can be declarable with 'const'.
|
|
2408
2465
|
* W0105::The object which points the formal argument `%s' is not change. It can be declaring as pointer type which points const object.
|
|
2409
2466
|
* W0107::An address of auto variable is substituted for local pointer with 'static' option. This program is danger.
|
|
2410
|
-
* W0108::
|
|
2467
|
+
* W0108::An assignment-expression appears in the logical expression.
|
|
2411
2468
|
* W0109::The definition of this function doesn't found. It consider it was omitted, and insert `extern int %s()'.
|
|
2412
2469
|
* W0110::A variable number with floating-point type is used by loop counter in for statement.
|
|
2413
2470
|
* W0112::The statement of floating-point compares by equivalent operator.
|
|
2414
2471
|
* W0114::This control expression is not explicit logical operation.
|
|
2415
2472
|
* W0115::Unsigned left shift operator `<<' drop the high-order bit.
|
|
2416
2473
|
* W0116::Unsigned left shift operator `<<' can be drop high-order bit.
|
|
2417
|
-
* W0117
|
|
2418
|
-
* W0118
|
|
2474
|
+
* W0117::`%s' has external-linkage without any prototype declarations.
|
|
2475
|
+
* W0118::`%s' has external-linkage, but no prototype declaration is in header files.
|
|
2419
2476
|
* W0119::An implicit type conversion from char to signed char.
|
|
2420
2477
|
* W0120::An implicit type conversion from char to unsigned char.
|
|
2421
2478
|
* W0121::An implicit type conversion from char to signed short.
|
|
@@ -2462,9 +2519,9 @@ context_line (in case of @ref{message_traits:message_with_class, message_with_cl
|
|
|
2462
2519
|
* W0162::An implicit type conversion from signed short to unsigned short.
|
|
2463
2520
|
* W0163::An implicit type conversion from signed short to unsigned int.
|
|
2464
2521
|
* W0164::An implicit type conversion from signed short to unsigned long.
|
|
2465
|
-
* W0165::
|
|
2522
|
+
* W0165::Implicit conversion from `signed int' to `unsigned char'.
|
|
2466
2523
|
* W0166::An implicit type conversion from signed int to unsigned short.
|
|
2467
|
-
* W0167::
|
|
2524
|
+
* W0167::Implicit conversion from `signed int' to `unsigned int'.
|
|
2468
2525
|
* W0168::An implicit type conversion from signed int to unsigned long.
|
|
2469
2526
|
* W0169::An implicit type conversion from signed long to unsigned char.
|
|
2470
2527
|
* W0170::An implicit type conversion from signed long to unsigned short.
|
|
@@ -2543,7 +2600,7 @@ context_line (in case of @ref{message_traits:message_with_class, message_with_cl
|
|
|
2543
2600
|
* W0243::An implicit type conversion from long double to signed long long.
|
|
2544
2601
|
* W0244::An implicit type conversion from long double to unsigned long long.
|
|
2545
2602
|
* W0245::An implicit type conversion from unsigned char to signed short.
|
|
2546
|
-
* W0246::
|
|
2603
|
+
* W0246::Implicit conversion from `unsigned char' to `signed int'.
|
|
2547
2604
|
* W0247::An implicit type conversion from unsigned char to signed long.
|
|
2548
2605
|
* W0248::An implicit type conversion from unsigned short to signed int.
|
|
2549
2606
|
* W0249::An implicit type conversion from unsigned short to signed long.
|
|
@@ -2710,9 +2767,9 @@ context_line (in case of @ref{message_traits:message_with_class, message_with_cl
|
|
|
2710
2767
|
* W0410::A value of unsigned long type is returned from `signed long long %s()' function.
|
|
2711
2768
|
* W0411::The initialization of enumeration should be only the starting, whole or not at all.
|
|
2712
2769
|
* W0413::The body of control statement is unenclosed by curly brace `@{@}' block.
|
|
2713
|
-
* W0414::
|
|
2714
|
-
* W0421::
|
|
2715
|
-
* W0422::
|
|
2770
|
+
* W0414::Body of the controlling statement in a line is not enclosed by `@{@}'.
|
|
2771
|
+
* W0421::Value of the dereferencing pointer must be NULL.
|
|
2772
|
+
* W0422::Value of the dereferencing pointer may be NULL.
|
|
2716
2773
|
* W0423::Arithmetic operation is being made to the pointer which its value will be NULL.
|
|
2717
2774
|
* W0424::Arithmetic operation is being made to the pointer which its value might be NULL.
|
|
2718
2775
|
* W0425::There are several definitions or statements in a line.
|
|
@@ -2753,7 +2810,7 @@ context_line (in case of @ref{message_traits:message_with_class, message_with_cl
|
|
|
2753
2810
|
* W0499::The different operator of same priority in the binary operator except '+','-', '*','/' is used. It had better clear the coupling by using `()'.
|
|
2754
2811
|
* W0500::The operator of different priority in the binary operator '+','-','*','/' is used. It had better clear the coupling by using `()'.
|
|
2755
2812
|
* W0501::A ternary operator is used with binary operator. It had better clear the coupling by using `()'.
|
|
2756
|
-
* W0502::A binary operator
|
|
2813
|
+
* W0502::A binary operator other than `+', `-', `*', `/' and `%%' appears with binary operator which has different precedence without expression grouping.
|
|
2757
2814
|
* W0508::There's a side effect at the right operand of `&&' or `||'operator.
|
|
2758
2815
|
* W0511::C++ style comment of `//' is used.
|
|
2759
2816
|
* W0512::The result of `++' or `--' operator is used in the statement.
|
|
@@ -2789,9 +2846,9 @@ context_line (in case of @ref{message_traits:message_with_class, message_with_cl
|
|
|
2789
2846
|
* W0567::A volatile integer type cast to pointer to object and vice versa.
|
|
2790
2847
|
* W0568::The result of left shift operation against the signed constant expression value is undefined.
|
|
2791
2848
|
* W0569::The result of left shift operation against the signed expression value is undefined.
|
|
2792
|
-
* W0570::
|
|
2849
|
+
* W0570::This signed left shift operation may make undefined value.
|
|
2793
2850
|
* W0571::The result of right shift operation against the signed data is a possibility the both logical shift and arithmetic shift by implementation.
|
|
2794
|
-
* W0572::
|
|
2851
|
+
* W0572::Bitwise operation of signed value causes implementation-defined behavior.
|
|
2795
2852
|
* W0573::A `-' character in scanset in `[]' is implementation defined.
|
|
2796
2853
|
* W0574::The character except for basic source character is used in the character constant.
|
|
2797
2854
|
* W0575::The character except for basic source character is used in the string literal.
|
|
@@ -2813,15 +2870,15 @@ context_line (in case of @ref{message_traits:message_with_class, message_with_cl
|
|
|
2813
2870
|
* W0598::`%s' might be modified more than once between the side-effects completion point. The evaluation order is undefined.
|
|
2814
2871
|
* W0599::`%s' is modified and referenced between the side-effects completion point. The evaluation order is undefined.
|
|
2815
2872
|
* W0600::`%s' is modified and might be referenced between the side-effects completion point. The evaluation order is undefined.
|
|
2816
|
-
* W0605::
|
|
2873
|
+
* W0605::Multiple break-statements appear to break the same iteration.
|
|
2817
2874
|
* W0606::An union has a member which type is floating-point.
|
|
2818
2875
|
* W0607::An integer expression which the value which the value is minus converted to unsigned type.
|
|
2819
2876
|
* W0608::An integer expression which the value might be minus converted to unsigned type.
|
|
2820
|
-
* W0609::
|
|
2821
|
-
* W0610::
|
|
2877
|
+
* W0609::This logical expression always makes true.
|
|
2878
|
+
* W0610::This logical expression always makes false.
|
|
2822
2879
|
* W0611::The value of this 'for' control expression is always true.
|
|
2823
2880
|
* W0612::The value of this 'if' conditional expression is always true.
|
|
2824
|
-
* W0613::
|
|
2881
|
+
* W0613::This controlling expression always makes false.
|
|
2825
2882
|
* W0614::The value of this "do-while" control expression is always false. The body of repetition statement executed only once.
|
|
2826
2883
|
* W0622::A function is declared in the block scope.
|
|
2827
2884
|
* W0623::An external coupling object is declared in the block scope.
|
|
@@ -2830,7 +2887,7 @@ context_line (in case of @ref{message_traits:message_with_class, message_with_cl
|
|
|
2830
2887
|
* W0626::A wide character or wide string literal is used.
|
|
2831
2888
|
* W0627::There is a dead letter (only `;') in the following other code.
|
|
2832
2889
|
* W0628::A function `%s' is defined, but this is not used in this project.
|
|
2833
|
-
* W0629
|
|
2890
|
+
* W0629::`%s()' has internal-linkage, but it is never called in this translation-unit.
|
|
2834
2891
|
* W0632::Using ' or " characters in `#include <%s>' directive makes undefined behavior.
|
|
2835
2892
|
* W0633::Using ' character in `#include "%s"' directive makes undefined behavior.
|
|
2836
2893
|
* W0634::`\' is used in `#include' line. `/' is recommended for the path delimiter.
|
|
@@ -2898,8 +2955,8 @@ context_line (in case of @ref{message_traits:message_with_class, message_with_cl
|
|
|
2898
2955
|
* W0700::The return value of function `%s()' is unspecified. The return value is implicitly int. There is no 'return' statement to return value.
|
|
2899
2956
|
* W0703::The tag `%s' hides the declaration of same identifier which has wider scope.
|
|
2900
2957
|
* W0704::This `%s' declaration hides the declaration of same identifier which has wider scope.
|
|
2901
|
-
* W0705::
|
|
2902
|
-
* W0707::
|
|
2958
|
+
* W0705::This non-constant array subscript may cause out-of-range access.
|
|
2959
|
+
* W0707::This constant array subscript must cause out-of-range access.
|
|
2903
2960
|
* W0708::A value of control variable `%s' in 'for' statement is changed in the body of repetition.
|
|
2904
2961
|
* W0711::Right operand of relational operator is a substantive 'boolean' expression.
|
|
2905
2962
|
* W0712::Left operand of relational operator is a substantive 'boolean' expression.
|
|
@@ -2934,7 +2991,7 @@ context_line (in case of @ref{message_traits:message_with_class, message_with_cl
|
|
|
2934
2991
|
* W0742::A negative integer constant expression converted to unsigned type.
|
|
2935
2992
|
* W0743::The value of integer constant expression beyond the range of might be expressed with converted signed type.
|
|
2936
2993
|
* W0744::The value of this control expression is constant value to be false. This control statement is not run.
|
|
2937
|
-
* W0745::
|
|
2994
|
+
* W0745::This non-constant array subscript may cause out-of-range access.
|
|
2938
2995
|
* W0747::An implicit type conversion from signed short to signed char.
|
|
2939
2996
|
* W0748::An implicit type conversion from unsigned short to unsigned char.
|
|
2940
2997
|
* W0749::An implicit type conversion from signed int to signed char.
|
|
@@ -2979,7 +3036,7 @@ context_line (in case of @ref{message_traits:message_with_class, message_with_cl
|
|
|
2979
3036
|
* W0791::An global object or a function `%s' is declared in more than one file.
|
|
2980
3037
|
* W0792::A floating point type object cast to function pointer and vice versa.
|
|
2981
3038
|
* W0793::A function pointer cast to pointer to point an object and vice versa.
|
|
2982
|
-
* W0794::Left shift operation
|
|
3039
|
+
* W0794::Left shift operation of signed value causes implementation-defined behavior.
|
|
2983
3040
|
* W0795::The number of an actual argument in function call is smaller than the number of a formal argument in the function prototype declaration.
|
|
2984
3041
|
* W0796::The number of an actual argument in function call is bigger than the number of a formal argument in the function prototype declaration.
|
|
2985
3042
|
* W0797::The number of an actual argument in function call is different from the number of a formal argument in the function declaration.
|
|
@@ -3005,10 +3062,10 @@ context_line (in case of @ref{message_traits:message_with_class, message_with_cl
|
|
|
3005
3062
|
* W0833::A suffix 'LL' is using.
|
|
3006
3063
|
* W0834::A long long type is using.
|
|
3007
3064
|
* W0835::A macro which receives variable argument is defined.
|
|
3008
|
-
* W0947::
|
|
3009
|
-
* W0948::
|
|
3065
|
+
* W0947::String literal is specified directly.
|
|
3066
|
+
* W0948::Character constant %s is specified directly.
|
|
3010
3067
|
* W0949::A value `%s' is used directly for size definition of bit field.
|
|
3011
|
-
* W0950::
|
|
3068
|
+
* W0950::Integer constant `%s' is specified directly as an array size.
|
|
3012
3069
|
* W1026::%sth actual argument is not object type.
|
|
3013
3070
|
* W1027::A base type of array is function type. This is meaningless.
|
|
3014
3071
|
* W1028::A base type of array is an array with unknown size. Incomplete type of array will not build.
|
|
@@ -3054,12 +3111,12 @@ context_line (in case of @ref{message_traits:message_with_class, message_with_cl
|
|
|
3054
3111
|
* W1070::This `switch' statement can be translated into `if-else' statement because there are only 2 execution paths.
|
|
3055
3112
|
* W1071::Function `%s' has multiple termination points.
|
|
3056
3113
|
* W1072::`A `goto' statement is found.
|
|
3057
|
-
* W1073::
|
|
3114
|
+
* W1073::Return value of the function `%s' is discarded.
|
|
3058
3115
|
* W1074::Side-effects in `sizeof' operand will not be recorded because the operand will not be executed actually.
|
|
3059
3116
|
* W1075::This declaration has no `static' storage-class-specifier while the declaring object has internal-linkage.
|
|
3060
|
-
* W1076::`%s'
|
|
3117
|
+
* W1076::`%s' has internal-linkage without any prototype declarations.
|
|
3061
3118
|
* W1077::Declaring array object without a size.
|
|
3062
|
-
* W9001::
|
|
3119
|
+
* W9001::Control never reaches to this statement.
|
|
3063
3120
|
* W9002::There is no line feed character at the end of file.
|
|
3064
3121
|
* W9003::An object typed `%s' is implicitly converted into an object of type `%s'.
|
|
3065
3122
|
* C0001::A warning is detected as a pair of this identifier `%s'.
|
|
@@ -3916,7 +3973,7 @@ None.
|
|
|
3916
3973
|
|
|
3917
3974
|
@subsection Message body
|
|
3918
3975
|
|
|
3919
|
-
|
|
3976
|
+
Dereferencing a pointer constant of NULL.
|
|
3920
3977
|
|
|
3921
3978
|
@subsection Content
|
|
3922
3979
|
|
|
@@ -4484,6 +4541,8 @@ void func(void)
|
|
|
4484
4541
|
}
|
|
4485
4542
|
@end verbatim
|
|
4486
4543
|
|
|
4544
|
+
@subsection Related message
|
|
4545
|
+
|
|
4487
4546
|
@itemize
|
|
4488
4547
|
@item @ref{C0001} A warning is detected as a pair of this identifier `%s'.
|
|
4489
4548
|
@end itemize
|
|
@@ -5046,6 +5105,8 @@ Under construction.
|
|
|
5046
5105
|
|
|
5047
5106
|
None.
|
|
5048
5107
|
|
|
5108
|
+
@subsection Related message
|
|
5109
|
+
|
|
5049
5110
|
@itemize
|
|
5050
5111
|
@item @ref{W0071} Included "%s" is not referenced in the translation unit. It can be removed.
|
|
5051
5112
|
@end itemize
|
|
@@ -5070,6 +5131,8 @@ Under construction.
|
|
|
5070
5131
|
|
|
5071
5132
|
None.
|
|
5072
5133
|
|
|
5134
|
+
@subsection Related message
|
|
5135
|
+
|
|
5073
5136
|
@itemize
|
|
5074
5137
|
@item @ref{W0070} Included <%s> is not referenced in the translation unit. It can be removed.
|
|
5075
5138
|
@end itemize
|
|
@@ -5134,7 +5197,7 @@ None.
|
|
|
5134
5197
|
|
|
5135
5198
|
@subsection Message body
|
|
5136
5199
|
|
|
5137
|
-
|
|
5200
|
+
Hexadecimal constant without `U' or `u' suffix.
|
|
5138
5201
|
|
|
5139
5202
|
@subsection Content
|
|
5140
5203
|
|
|
@@ -5486,7 +5549,7 @@ Under construction.
|
|
|
5486
5549
|
|
|
5487
5550
|
@subsection Message body
|
|
5488
5551
|
|
|
5489
|
-
|
|
5552
|
+
This expression may cause division-by-zero.
|
|
5490
5553
|
|
|
5491
5554
|
@subsection Content
|
|
5492
5555
|
|
|
@@ -5546,7 +5609,7 @@ None.
|
|
|
5546
5609
|
|
|
5547
5610
|
@subsection Message body
|
|
5548
5611
|
|
|
5549
|
-
|
|
5612
|
+
This expression may cause division-by-zero.
|
|
5550
5613
|
|
|
5551
5614
|
@subsection Content
|
|
5552
5615
|
|
|
@@ -5724,6 +5787,8 @@ void func(int val) /* W0104 */
|
|
|
5724
5787
|
}
|
|
5725
5788
|
@end verbatim
|
|
5726
5789
|
|
|
5790
|
+
@subsection Related message
|
|
5791
|
+
|
|
5727
5792
|
@itemize
|
|
5728
5793
|
@item @ref{W0105} The object which points the formal argument `%s' is not change. It can be declaring as pointer type which points const object.
|
|
5729
5794
|
@end itemize
|
|
@@ -5801,7 +5866,7 @@ None.
|
|
|
5801
5866
|
|
|
5802
5867
|
@subsection Message body
|
|
5803
5868
|
|
|
5804
|
-
|
|
5869
|
+
An assignment-expression appears in the logical expression.
|
|
5805
5870
|
|
|
5806
5871
|
@subsection Content
|
|
5807
5872
|
|
|
@@ -6017,7 +6082,7 @@ unsigned int func(unsigned int a)
|
|
|
6017
6082
|
|
|
6018
6083
|
@subsection Message body
|
|
6019
6084
|
|
|
6020
|
-
|
|
6085
|
+
`%s' has external-linkage without any prototype declarations.
|
|
6021
6086
|
|
|
6022
6087
|
@subsection Content
|
|
6023
6088
|
|
|
@@ -6035,7 +6100,7 @@ void func(void) /* W0117 */
|
|
|
6035
6100
|
@subsection Related message
|
|
6036
6101
|
|
|
6037
6102
|
@itemize
|
|
6038
|
-
@item @ref{W0118}
|
|
6103
|
+
@item @ref{W0118} `%s' has external-linkage, but no prototype declaration is in header files.
|
|
6039
6104
|
@end itemize
|
|
6040
6105
|
|
|
6041
6106
|
@subsection Since
|
|
@@ -6048,7 +6113,7 @@ void func(void) /* W0117 */
|
|
|
6048
6113
|
|
|
6049
6114
|
@subsection Message body
|
|
6050
6115
|
|
|
6051
|
-
|
|
6116
|
+
`%s' has external-linkage, but no prototype declaration is in header files.
|
|
6052
6117
|
|
|
6053
6118
|
@subsection Content
|
|
6054
6119
|
|
|
@@ -6064,7 +6129,7 @@ extern int val; /* W0118 */
|
|
|
6064
6129
|
@subsection Related message
|
|
6065
6130
|
|
|
6066
6131
|
@itemize
|
|
6067
|
-
@item @ref{W0117}
|
|
6132
|
+
@item @ref{W0117} `%s' has external-linkage without any prototype declarations.
|
|
6068
6133
|
@end itemize
|
|
6069
6134
|
|
|
6070
6135
|
@subsection Since
|
|
@@ -6186,6 +6251,8 @@ void bar(char a)
|
|
|
6186
6251
|
}
|
|
6187
6252
|
@end verbatim
|
|
6188
6253
|
|
|
6254
|
+
@subsection Related message
|
|
6255
|
+
|
|
6189
6256
|
@itemize
|
|
6190
6257
|
@item @ref{W0119} An implicit type conversion from char to signed char.
|
|
6191
6258
|
@item @ref{W0120} An implicit type conversion from char to unsigned char.
|
|
@@ -6455,7 +6522,7 @@ void bar(char a)
|
|
|
6455
6522
|
}
|
|
6456
6523
|
@end verbatim
|
|
6457
6524
|
|
|
6458
|
-
@subsection Related
|
|
6525
|
+
@subsection Related message
|
|
6459
6526
|
|
|
6460
6527
|
@itemize
|
|
6461
6528
|
@item @ref{W0119} An implicit type conversion from char to signed char.
|
|
@@ -7820,9 +7887,9 @@ void bar(signed char a)
|
|
|
7820
7887
|
@item @ref{W0162} An implicit type conversion from signed short to unsigned short.
|
|
7821
7888
|
@item @ref{W0163} An implicit type conversion from signed short to unsigned int.
|
|
7822
7889
|
@item @ref{W0164} An implicit type conversion from signed short to unsigned long.
|
|
7823
|
-
@item @ref{W0165}
|
|
7890
|
+
@item @ref{W0165} Implicit conversion from `signed int' to `unsigned char'.
|
|
7824
7891
|
@item @ref{W0166} An implicit type conversion from signed int to unsigned short.
|
|
7825
|
-
@item @ref{W0167}
|
|
7892
|
+
@item @ref{W0167} Implicit conversion from `signed int' to `unsigned int'.
|
|
7826
7893
|
@item @ref{W0168} An implicit type conversion from signed int to unsigned long.
|
|
7827
7894
|
@item @ref{W0169} An implicit type conversion from signed long to unsigned char.
|
|
7828
7895
|
@item @ref{W0170} An implicit type conversion from signed long to unsigned short.
|
|
@@ -7877,9 +7944,9 @@ void bar(signed char a)
|
|
|
7877
7944
|
@item @ref{W0162} An implicit type conversion from signed short to unsigned short.
|
|
7878
7945
|
@item @ref{W0163} An implicit type conversion from signed short to unsigned int.
|
|
7879
7946
|
@item @ref{W0164} An implicit type conversion from signed short to unsigned long.
|
|
7880
|
-
@item @ref{W0165}
|
|
7947
|
+
@item @ref{W0165} Implicit conversion from `signed int' to `unsigned char'.
|
|
7881
7948
|
@item @ref{W0166} An implicit type conversion from signed int to unsigned short.
|
|
7882
|
-
@item @ref{W0167}
|
|
7949
|
+
@item @ref{W0167} Implicit conversion from `signed int' to `unsigned int'.
|
|
7883
7950
|
@item @ref{W0168} An implicit type conversion from signed int to unsigned long.
|
|
7884
7951
|
@item @ref{W0169} An implicit type conversion from signed long to unsigned char.
|
|
7885
7952
|
@item @ref{W0170} An implicit type conversion from signed long to unsigned short.
|
|
@@ -7936,9 +8003,9 @@ void bar(signed char a)
|
|
|
7936
8003
|
@item @ref{W0162} An implicit type conversion from signed short to unsigned short.
|
|
7937
8004
|
@item @ref{W0163} An implicit type conversion from signed short to unsigned int.
|
|
7938
8005
|
@item @ref{W0164} An implicit type conversion from signed short to unsigned long.
|
|
7939
|
-
@item @ref{W0165}
|
|
8006
|
+
@item @ref{W0165} Implicit conversion from `signed int' to `unsigned char'.
|
|
7940
8007
|
@item @ref{W0166} An implicit type conversion from signed int to unsigned short.
|
|
7941
|
-
@item @ref{W0167}
|
|
8008
|
+
@item @ref{W0167} Implicit conversion from `signed int' to `unsigned int'.
|
|
7942
8009
|
@item @ref{W0168} An implicit type conversion from signed int to unsigned long.
|
|
7943
8010
|
@item @ref{W0169} An implicit type conversion from signed long to unsigned char.
|
|
7944
8011
|
@item @ref{W0170} An implicit type conversion from signed long to unsigned short.
|
|
@@ -7993,9 +8060,9 @@ void bar(signed char a)
|
|
|
7993
8060
|
@item @ref{W0162} An implicit type conversion from signed short to unsigned short.
|
|
7994
8061
|
@item @ref{W0163} An implicit type conversion from signed short to unsigned int.
|
|
7995
8062
|
@item @ref{W0164} An implicit type conversion from signed short to unsigned long.
|
|
7996
|
-
@item @ref{W0165}
|
|
8063
|
+
@item @ref{W0165} Implicit conversion from `signed int' to `unsigned char'.
|
|
7997
8064
|
@item @ref{W0166} An implicit type conversion from signed int to unsigned short.
|
|
7998
|
-
@item @ref{W0167}
|
|
8065
|
+
@item @ref{W0167} Implicit conversion from `signed int' to `unsigned int'.
|
|
7999
8066
|
@item @ref{W0168} An implicit type conversion from signed int to unsigned long.
|
|
8000
8067
|
@item @ref{W0169} An implicit type conversion from signed long to unsigned char.
|
|
8001
8068
|
@item @ref{W0170} An implicit type conversion from signed long to unsigned short.
|
|
@@ -8051,9 +8118,9 @@ void bar(short a)
|
|
|
8051
8118
|
@item @ref{W0162} An implicit type conversion from signed short to unsigned short.
|
|
8052
8119
|
@item @ref{W0163} An implicit type conversion from signed short to unsigned int.
|
|
8053
8120
|
@item @ref{W0164} An implicit type conversion from signed short to unsigned long.
|
|
8054
|
-
@item @ref{W0165}
|
|
8121
|
+
@item @ref{W0165} Implicit conversion from `signed int' to `unsigned char'.
|
|
8055
8122
|
@item @ref{W0166} An implicit type conversion from signed int to unsigned short.
|
|
8056
|
-
@item @ref{W0167}
|
|
8123
|
+
@item @ref{W0167} Implicit conversion from `signed int' to `unsigned int'.
|
|
8057
8124
|
@item @ref{W0168} An implicit type conversion from signed int to unsigned long.
|
|
8058
8125
|
@item @ref{W0169} An implicit type conversion from signed long to unsigned char.
|
|
8059
8126
|
@item @ref{W0170} An implicit type conversion from signed long to unsigned short.
|
|
@@ -8108,9 +8175,9 @@ void bar(short a)
|
|
|
8108
8175
|
@item @ref{W0161} An implicit type conversion from signed short to unsigned char.
|
|
8109
8176
|
@item @ref{W0163} An implicit type conversion from signed short to unsigned int.
|
|
8110
8177
|
@item @ref{W0164} An implicit type conversion from signed short to unsigned long.
|
|
8111
|
-
@item @ref{W0165}
|
|
8178
|
+
@item @ref{W0165} Implicit conversion from `signed int' to `unsigned char'.
|
|
8112
8179
|
@item @ref{W0166} An implicit type conversion from signed int to unsigned short.
|
|
8113
|
-
@item @ref{W0167}
|
|
8180
|
+
@item @ref{W0167} Implicit conversion from `signed int' to `unsigned int'.
|
|
8114
8181
|
@item @ref{W0168} An implicit type conversion from signed int to unsigned long.
|
|
8115
8182
|
@item @ref{W0169} An implicit type conversion from signed long to unsigned char.
|
|
8116
8183
|
@item @ref{W0170} An implicit type conversion from signed long to unsigned short.
|
|
@@ -8165,9 +8232,9 @@ void bar(short a)
|
|
|
8165
8232
|
@item @ref{W0161} An implicit type conversion from signed short to unsigned char.
|
|
8166
8233
|
@item @ref{W0162} An implicit type conversion from signed short to unsigned short.
|
|
8167
8234
|
@item @ref{W0164} An implicit type conversion from signed short to unsigned long.
|
|
8168
|
-
@item @ref{W0165}
|
|
8235
|
+
@item @ref{W0165} Implicit conversion from `signed int' to `unsigned char'.
|
|
8169
8236
|
@item @ref{W0166} An implicit type conversion from signed int to unsigned short.
|
|
8170
|
-
@item @ref{W0167}
|
|
8237
|
+
@item @ref{W0167} Implicit conversion from `signed int' to `unsigned int'.
|
|
8171
8238
|
@item @ref{W0168} An implicit type conversion from signed int to unsigned long.
|
|
8172
8239
|
@item @ref{W0169} An implicit type conversion from signed long to unsigned char.
|
|
8173
8240
|
@item @ref{W0170} An implicit type conversion from signed long to unsigned short.
|
|
@@ -8222,9 +8289,9 @@ void bar(short a)
|
|
|
8222
8289
|
@item @ref{W0161} An implicit type conversion from signed short to unsigned char.
|
|
8223
8290
|
@item @ref{W0162} An implicit type conversion from signed short to unsigned short.
|
|
8224
8291
|
@item @ref{W0163} An implicit type conversion from signed short to unsigned int.
|
|
8225
|
-
@item @ref{W0165}
|
|
8292
|
+
@item @ref{W0165} Implicit conversion from `signed int' to `unsigned char'.
|
|
8226
8293
|
@item @ref{W0166} An implicit type conversion from signed int to unsigned short.
|
|
8227
|
-
@item @ref{W0167}
|
|
8294
|
+
@item @ref{W0167} Implicit conversion from `signed int' to `unsigned int'.
|
|
8228
8295
|
@item @ref{W0168} An implicit type conversion from signed int to unsigned long.
|
|
8229
8296
|
@item @ref{W0169} An implicit type conversion from signed long to unsigned char.
|
|
8230
8297
|
@item @ref{W0170} An implicit type conversion from signed long to unsigned short.
|
|
@@ -8251,7 +8318,7 @@ void bar(short a)
|
|
|
8251
8318
|
|
|
8252
8319
|
@subsection Message body
|
|
8253
8320
|
|
|
8254
|
-
|
|
8321
|
+
Implicit conversion from `signed int' to `unsigned char'.
|
|
8255
8322
|
|
|
8256
8323
|
@subsection Content
|
|
8257
8324
|
|
|
@@ -8280,7 +8347,7 @@ void bar(int a)
|
|
|
8280
8347
|
@item @ref{W0163} An implicit type conversion from signed short to unsigned int.
|
|
8281
8348
|
@item @ref{W0164} An implicit type conversion from signed short to unsigned long.
|
|
8282
8349
|
@item @ref{W0166} An implicit type conversion from signed int to unsigned short.
|
|
8283
|
-
@item @ref{W0167}
|
|
8350
|
+
@item @ref{W0167} Implicit conversion from `signed int' to `unsigned int'.
|
|
8284
8351
|
@item @ref{W0168} An implicit type conversion from signed int to unsigned long.
|
|
8285
8352
|
@item @ref{W0169} An implicit type conversion from signed long to unsigned char.
|
|
8286
8353
|
@item @ref{W0170} An implicit type conversion from signed long to unsigned short.
|
|
@@ -8337,8 +8404,8 @@ void bar(int a)
|
|
|
8337
8404
|
@item @ref{W0162} An implicit type conversion from signed short to unsigned short.
|
|
8338
8405
|
@item @ref{W0163} An implicit type conversion from signed short to unsigned int.
|
|
8339
8406
|
@item @ref{W0164} An implicit type conversion from signed short to unsigned long.
|
|
8340
|
-
@item @ref{W0165}
|
|
8341
|
-
@item @ref{W0167}
|
|
8407
|
+
@item @ref{W0165} Implicit conversion from `signed int' to `unsigned char'.
|
|
8408
|
+
@item @ref{W0167} Implicit conversion from `signed int' to `unsigned int'.
|
|
8342
8409
|
@item @ref{W0168} An implicit type conversion from signed int to unsigned long.
|
|
8343
8410
|
@item @ref{W0169} An implicit type conversion from signed long to unsigned char.
|
|
8344
8411
|
@item @ref{W0170} An implicit type conversion from signed long to unsigned short.
|
|
@@ -8365,7 +8432,7 @@ void bar(int a)
|
|
|
8365
8432
|
|
|
8366
8433
|
@subsection Message body
|
|
8367
8434
|
|
|
8368
|
-
|
|
8435
|
+
Implicit conversion from `signed int' to `unsigned int'.
|
|
8369
8436
|
|
|
8370
8437
|
@subsection Content
|
|
8371
8438
|
|
|
@@ -8394,7 +8461,7 @@ void bar(int a)
|
|
|
8394
8461
|
@item @ref{W0162} An implicit type conversion from signed short to unsigned short.
|
|
8395
8462
|
@item @ref{W0163} An implicit type conversion from signed short to unsigned int.
|
|
8396
8463
|
@item @ref{W0164} An implicit type conversion from signed short to unsigned long.
|
|
8397
|
-
@item @ref{W0165}
|
|
8464
|
+
@item @ref{W0165} Implicit conversion from `signed int' to `unsigned char'.
|
|
8398
8465
|
@item @ref{W0166} An implicit type conversion from signed int to unsigned short.
|
|
8399
8466
|
@item @ref{W0168} An implicit type conversion from signed int to unsigned long.
|
|
8400
8467
|
@item @ref{W0169} An implicit type conversion from signed long to unsigned char.
|
|
@@ -8451,9 +8518,9 @@ void bar(int a)
|
|
|
8451
8518
|
@item @ref{W0162} An implicit type conversion from signed short to unsigned short.
|
|
8452
8519
|
@item @ref{W0163} An implicit type conversion from signed short to unsigned int.
|
|
8453
8520
|
@item @ref{W0164} An implicit type conversion from signed short to unsigned long.
|
|
8454
|
-
@item @ref{W0165}
|
|
8521
|
+
@item @ref{W0165} Implicit conversion from `signed int' to `unsigned char'.
|
|
8455
8522
|
@item @ref{W0166} An implicit type conversion from signed int to unsigned short.
|
|
8456
|
-
@item @ref{W0167}
|
|
8523
|
+
@item @ref{W0167} Implicit conversion from `signed int' to `unsigned int'.
|
|
8457
8524
|
@item @ref{W0169} An implicit type conversion from signed long to unsigned char.
|
|
8458
8525
|
@item @ref{W0170} An implicit type conversion from signed long to unsigned short.
|
|
8459
8526
|
@item @ref{W0171} An implicit type conversion from signed long to unsigned int.
|
|
@@ -8508,9 +8575,9 @@ void bar(long a)
|
|
|
8508
8575
|
@item @ref{W0162} An implicit type conversion from signed short to unsigned short.
|
|
8509
8576
|
@item @ref{W0163} An implicit type conversion from signed short to unsigned int.
|
|
8510
8577
|
@item @ref{W0164} An implicit type conversion from signed short to unsigned long.
|
|
8511
|
-
@item @ref{W0165}
|
|
8578
|
+
@item @ref{W0165} Implicit conversion from `signed int' to `unsigned char'.
|
|
8512
8579
|
@item @ref{W0166} An implicit type conversion from signed int to unsigned short.
|
|
8513
|
-
@item @ref{W0167}
|
|
8580
|
+
@item @ref{W0167} Implicit conversion from `signed int' to `unsigned int'.
|
|
8514
8581
|
@item @ref{W0168} An implicit type conversion from signed int to unsigned long.
|
|
8515
8582
|
@item @ref{W0170} An implicit type conversion from signed long to unsigned short.
|
|
8516
8583
|
@item @ref{W0171} An implicit type conversion from signed long to unsigned int.
|
|
@@ -8566,9 +8633,9 @@ void bar(long a)
|
|
|
8566
8633
|
@item @ref{W0162} An implicit type conversion from signed short to unsigned short.
|
|
8567
8634
|
@item @ref{W0163} An implicit type conversion from signed short to unsigned int.
|
|
8568
8635
|
@item @ref{W0164} An implicit type conversion from signed short to unsigned long.
|
|
8569
|
-
@item @ref{W0165}
|
|
8636
|
+
@item @ref{W0165} Implicit conversion from `signed int' to `unsigned char'.
|
|
8570
8637
|
@item @ref{W0166} An implicit type conversion from signed int to unsigned short.
|
|
8571
|
-
@item @ref{W0167}
|
|
8638
|
+
@item @ref{W0167} Implicit conversion from `signed int' to `unsigned int'.
|
|
8572
8639
|
@item @ref{W0168} An implicit type conversion from signed int to unsigned long.
|
|
8573
8640
|
@item @ref{W0169} An implicit type conversion from signed long to unsigned char.
|
|
8574
8641
|
@item @ref{W0171} An implicit type conversion from signed long to unsigned int.
|
|
@@ -8624,9 +8691,9 @@ void bar(long a)
|
|
|
8624
8691
|
@item @ref{W0162} An implicit type conversion from signed short to unsigned short.
|
|
8625
8692
|
@item @ref{W0163} An implicit type conversion from signed short to unsigned int.
|
|
8626
8693
|
@item @ref{W0164} An implicit type conversion from signed short to unsigned long.
|
|
8627
|
-
@item @ref{W0165}
|
|
8694
|
+
@item @ref{W0165} Implicit conversion from `signed int' to `unsigned char'.
|
|
8628
8695
|
@item @ref{W0166} An implicit type conversion from signed int to unsigned short.
|
|
8629
|
-
@item @ref{W0167}
|
|
8696
|
+
@item @ref{W0167} Implicit conversion from `signed int' to `unsigned int'.
|
|
8630
8697
|
@item @ref{W0168} An implicit type conversion from signed int to unsigned long.
|
|
8631
8698
|
@item @ref{W0169} An implicit type conversion from signed long to unsigned char.
|
|
8632
8699
|
@item @ref{W0170} An implicit type conversion from signed long to unsigned short.
|
|
@@ -8681,9 +8748,9 @@ void bar(long a)
|
|
|
8681
8748
|
@item @ref{W0162} An implicit type conversion from signed short to unsigned short.
|
|
8682
8749
|
@item @ref{W0163} An implicit type conversion from signed short to unsigned int.
|
|
8683
8750
|
@item @ref{W0164} An implicit type conversion from signed short to unsigned long.
|
|
8684
|
-
@item @ref{W0165}
|
|
8751
|
+
@item @ref{W0165} Implicit conversion from `signed int' to `unsigned char'.
|
|
8685
8752
|
@item @ref{W0166} An implicit type conversion from signed int to unsigned short.
|
|
8686
|
-
@item @ref{W0167}
|
|
8753
|
+
@item @ref{W0167} Implicit conversion from `signed int' to `unsigned int'.
|
|
8687
8754
|
@item @ref{W0168} An implicit type conversion from signed int to unsigned long.
|
|
8688
8755
|
@item @ref{W0169} An implicit type conversion from signed long to unsigned char.
|
|
8689
8756
|
@item @ref{W0170} An implicit type conversion from signed long to unsigned short.
|
|
@@ -8737,9 +8804,9 @@ void bar(signed char a)
|
|
|
8737
8804
|
@item @ref{W0162} An implicit type conversion from signed short to unsigned short.
|
|
8738
8805
|
@item @ref{W0163} An implicit type conversion from signed short to unsigned int.
|
|
8739
8806
|
@item @ref{W0164} An implicit type conversion from signed short to unsigned long.
|
|
8740
|
-
@item @ref{W0165}
|
|
8807
|
+
@item @ref{W0165} Implicit conversion from `signed int' to `unsigned char'.
|
|
8741
8808
|
@item @ref{W0166} An implicit type conversion from signed int to unsigned short.
|
|
8742
|
-
@item @ref{W0167}
|
|
8809
|
+
@item @ref{W0167} Implicit conversion from `signed int' to `unsigned int'.
|
|
8743
8810
|
@item @ref{W0168} An implicit type conversion from signed int to unsigned long.
|
|
8744
8811
|
@item @ref{W0169} An implicit type conversion from signed long to unsigned char.
|
|
8745
8812
|
@item @ref{W0170} An implicit type conversion from signed long to unsigned short.
|
|
@@ -8794,9 +8861,9 @@ void bar(short a)
|
|
|
8794
8861
|
@item @ref{W0162} An implicit type conversion from signed short to unsigned short.
|
|
8795
8862
|
@item @ref{W0163} An implicit type conversion from signed short to unsigned int.
|
|
8796
8863
|
@item @ref{W0164} An implicit type conversion from signed short to unsigned long.
|
|
8797
|
-
@item @ref{W0165}
|
|
8864
|
+
@item @ref{W0165} Implicit conversion from `signed int' to `unsigned char'.
|
|
8798
8865
|
@item @ref{W0166} An implicit type conversion from signed int to unsigned short.
|
|
8799
|
-
@item @ref{W0167}
|
|
8866
|
+
@item @ref{W0167} Implicit conversion from `signed int' to `unsigned int'.
|
|
8800
8867
|
@item @ref{W0168} An implicit type conversion from signed int to unsigned long.
|
|
8801
8868
|
@item @ref{W0169} An implicit type conversion from signed long to unsigned char.
|
|
8802
8869
|
@item @ref{W0170} An implicit type conversion from signed long to unsigned short.
|
|
@@ -8851,9 +8918,9 @@ void bar(int a)
|
|
|
8851
8918
|
@item @ref{W0162} An implicit type conversion from signed short to unsigned short.
|
|
8852
8919
|
@item @ref{W0163} An implicit type conversion from signed short to unsigned int.
|
|
8853
8920
|
@item @ref{W0164} An implicit type conversion from signed short to unsigned long.
|
|
8854
|
-
@item @ref{W0165}
|
|
8921
|
+
@item @ref{W0165} Implicit conversion from `signed int' to `unsigned char'.
|
|
8855
8922
|
@item @ref{W0166} An implicit type conversion from signed int to unsigned short.
|
|
8856
|
-
@item @ref{W0167}
|
|
8923
|
+
@item @ref{W0167} Implicit conversion from `signed int' to `unsigned int'.
|
|
8857
8924
|
@item @ref{W0168} An implicit type conversion from signed int to unsigned long.
|
|
8858
8925
|
@item @ref{W0169} An implicit type conversion from signed long to unsigned char.
|
|
8859
8926
|
@item @ref{W0170} An implicit type conversion from signed long to unsigned short.
|
|
@@ -8908,9 +8975,9 @@ void bar(long a)
|
|
|
8908
8975
|
@item @ref{W0162} An implicit type conversion from signed short to unsigned short.
|
|
8909
8976
|
@item @ref{W0163} An implicit type conversion from signed short to unsigned int.
|
|
8910
8977
|
@item @ref{W0164} An implicit type conversion from signed short to unsigned long.
|
|
8911
|
-
@item @ref{W0165}
|
|
8978
|
+
@item @ref{W0165} Implicit conversion from `signed int' to `unsigned char'.
|
|
8912
8979
|
@item @ref{W0166} An implicit type conversion from signed int to unsigned short.
|
|
8913
|
-
@item @ref{W0167}
|
|
8980
|
+
@item @ref{W0167} Implicit conversion from `signed int' to `unsigned int'.
|
|
8914
8981
|
@item @ref{W0168} An implicit type conversion from signed int to unsigned long.
|
|
8915
8982
|
@item @ref{W0169} An implicit type conversion from signed long to unsigned char.
|
|
8916
8983
|
@item @ref{W0170} An implicit type conversion from signed long to unsigned short.
|
|
@@ -8965,9 +9032,9 @@ void bar(long long a)
|
|
|
8965
9032
|
@item @ref{W0162} An implicit type conversion from signed short to unsigned short.
|
|
8966
9033
|
@item @ref{W0163} An implicit type conversion from signed short to unsigned int.
|
|
8967
9034
|
@item @ref{W0164} An implicit type conversion from signed short to unsigned long.
|
|
8968
|
-
@item @ref{W0165}
|
|
9035
|
+
@item @ref{W0165} Implicit conversion from `signed int' to `unsigned char'.
|
|
8969
9036
|
@item @ref{W0166} An implicit type conversion from signed int to unsigned short.
|
|
8970
|
-
@item @ref{W0167}
|
|
9037
|
+
@item @ref{W0167} Implicit conversion from `signed int' to `unsigned int'.
|
|
8971
9038
|
@item @ref{W0168} An implicit type conversion from signed int to unsigned long.
|
|
8972
9039
|
@item @ref{W0169} An implicit type conversion from signed long to unsigned char.
|
|
8973
9040
|
@item @ref{W0170} An implicit type conversion from signed long to unsigned short.
|
|
@@ -9022,9 +9089,9 @@ void bar(long long a)
|
|
|
9022
9089
|
@item @ref{W0162} An implicit type conversion from signed short to unsigned short.
|
|
9023
9090
|
@item @ref{W0163} An implicit type conversion from signed short to unsigned int.
|
|
9024
9091
|
@item @ref{W0164} An implicit type conversion from signed short to unsigned long.
|
|
9025
|
-
@item @ref{W0165}
|
|
9092
|
+
@item @ref{W0165} Implicit conversion from `signed int' to `unsigned char'.
|
|
9026
9093
|
@item @ref{W0166} An implicit type conversion from signed int to unsigned short.
|
|
9027
|
-
@item @ref{W0167}
|
|
9094
|
+
@item @ref{W0167} Implicit conversion from `signed int' to `unsigned int'.
|
|
9028
9095
|
@item @ref{W0168} An implicit type conversion from signed int to unsigned long.
|
|
9029
9096
|
@item @ref{W0169} An implicit type conversion from signed long to unsigned char.
|
|
9030
9097
|
@item @ref{W0170} An implicit type conversion from signed long to unsigned short.
|
|
@@ -9079,9 +9146,9 @@ void bar(long long a)
|
|
|
9079
9146
|
@item @ref{W0162} An implicit type conversion from signed short to unsigned short.
|
|
9080
9147
|
@item @ref{W0163} An implicit type conversion from signed short to unsigned int.
|
|
9081
9148
|
@item @ref{W0164} An implicit type conversion from signed short to unsigned long.
|
|
9082
|
-
@item @ref{W0165}
|
|
9149
|
+
@item @ref{W0165} Implicit conversion from `signed int' to `unsigned char'.
|
|
9083
9150
|
@item @ref{W0166} An implicit type conversion from signed int to unsigned short.
|
|
9084
|
-
@item @ref{W0167}
|
|
9151
|
+
@item @ref{W0167} Implicit conversion from `signed int' to `unsigned int'.
|
|
9085
9152
|
@item @ref{W0168} An implicit type conversion from signed int to unsigned long.
|
|
9086
9153
|
@item @ref{W0169} An implicit type conversion from signed long to unsigned char.
|
|
9087
9154
|
@item @ref{W0170} An implicit type conversion from signed long to unsigned short.
|
|
@@ -9136,9 +9203,9 @@ void bar(long long a)
|
|
|
9136
9203
|
@item @ref{W0162} An implicit type conversion from signed short to unsigned short.
|
|
9137
9204
|
@item @ref{W0163} An implicit type conversion from signed short to unsigned int.
|
|
9138
9205
|
@item @ref{W0164} An implicit type conversion from signed short to unsigned long.
|
|
9139
|
-
@item @ref{W0165}
|
|
9206
|
+
@item @ref{W0165} Implicit conversion from `signed int' to `unsigned char'.
|
|
9140
9207
|
@item @ref{W0166} An implicit type conversion from signed int to unsigned short.
|
|
9141
|
-
@item @ref{W0167}
|
|
9208
|
+
@item @ref{W0167} Implicit conversion from `signed int' to `unsigned int'.
|
|
9142
9209
|
@item @ref{W0168} An implicit type conversion from signed int to unsigned long.
|
|
9143
9210
|
@item @ref{W0169} An implicit type conversion from signed long to unsigned char.
|
|
9144
9211
|
@item @ref{W0170} An implicit type conversion from signed long to unsigned short.
|
|
@@ -9193,9 +9260,9 @@ void bar(long long a)
|
|
|
9193
9260
|
@item @ref{W0162} An implicit type conversion from signed short to unsigned short.
|
|
9194
9261
|
@item @ref{W0163} An implicit type conversion from signed short to unsigned int.
|
|
9195
9262
|
@item @ref{W0164} An implicit type conversion from signed short to unsigned long.
|
|
9196
|
-
@item @ref{W0165}
|
|
9263
|
+
@item @ref{W0165} Implicit conversion from `signed int' to `unsigned char'.
|
|
9197
9264
|
@item @ref{W0166} An implicit type conversion from signed int to unsigned short.
|
|
9198
|
-
@item @ref{W0167}
|
|
9265
|
+
@item @ref{W0167} Implicit conversion from `signed int' to `unsigned int'.
|
|
9199
9266
|
@item @ref{W0168} An implicit type conversion from signed int to unsigned long.
|
|
9200
9267
|
@item @ref{W0169} An implicit type conversion from signed long to unsigned char.
|
|
9201
9268
|
@item @ref{W0170} An implicit type conversion from signed long to unsigned short.
|
|
@@ -13243,7 +13310,7 @@ void bar(unsigned char a)
|
|
|
13243
13310
|
@subsection Related message
|
|
13244
13311
|
|
|
13245
13312
|
@itemize
|
|
13246
|
-
@item @ref{W0246}
|
|
13313
|
+
@item @ref{W0246} Implicit conversion from `unsigned char' to `signed int'.
|
|
13247
13314
|
@item @ref{W0247} An implicit type conversion from unsigned char to signed long.
|
|
13248
13315
|
@item @ref{W0248} An implicit type conversion from unsigned short to signed int.
|
|
13249
13316
|
@item @ref{W0249} An implicit type conversion from unsigned short to signed long.
|
|
@@ -13264,7 +13331,7 @@ void bar(unsigned char a)
|
|
|
13264
13331
|
|
|
13265
13332
|
@subsection Message body
|
|
13266
13333
|
|
|
13267
|
-
|
|
13334
|
+
Implicit conversion from `unsigned char' to `signed int'.
|
|
13268
13335
|
|
|
13269
13336
|
@subsection Content
|
|
13270
13337
|
|
|
@@ -13328,7 +13395,7 @@ void bar(unsigned char a)
|
|
|
13328
13395
|
|
|
13329
13396
|
@itemize
|
|
13330
13397
|
@item @ref{W0245} An implicit type conversion from unsigned char to signed short.
|
|
13331
|
-
@item @ref{W0246}
|
|
13398
|
+
@item @ref{W0246} Implicit conversion from `unsigned char' to `signed int'.
|
|
13332
13399
|
@item @ref{W0248} An implicit type conversion from unsigned short to signed int.
|
|
13333
13400
|
@item @ref{W0249} An implicit type conversion from unsigned short to signed long.
|
|
13334
13401
|
@item @ref{W0250} An implicit type conversion from unsigned int to signed long.
|
|
@@ -13370,7 +13437,7 @@ void bar(unsigned short a)
|
|
|
13370
13437
|
|
|
13371
13438
|
@itemize
|
|
13372
13439
|
@item @ref{W0245} An implicit type conversion from unsigned char to signed short.
|
|
13373
|
-
@item @ref{W0246}
|
|
13440
|
+
@item @ref{W0246} Implicit conversion from `unsigned char' to `signed int'.
|
|
13374
13441
|
@item @ref{W0247} An implicit type conversion from unsigned char to signed long.
|
|
13375
13442
|
@item @ref{W0249} An implicit type conversion from unsigned short to signed long.
|
|
13376
13443
|
@item @ref{W0250} An implicit type conversion from unsigned int to signed long.
|
|
@@ -13412,7 +13479,7 @@ void bar(unsigned short a)
|
|
|
13412
13479
|
|
|
13413
13480
|
@itemize
|
|
13414
13481
|
@item @ref{W0245} An implicit type conversion from unsigned char to signed short.
|
|
13415
|
-
@item @ref{W0246}
|
|
13482
|
+
@item @ref{W0246} Implicit conversion from `unsigned char' to `signed int'.
|
|
13416
13483
|
@item @ref{W0247} An implicit type conversion from unsigned char to signed long.
|
|
13417
13484
|
@item @ref{W0248} An implicit type conversion from unsigned short to signed int.
|
|
13418
13485
|
@item @ref{W0249} An implicit type conversion from unsigned short to signed long.
|
|
@@ -13454,7 +13521,7 @@ void bar(unsigned int a)
|
|
|
13454
13521
|
|
|
13455
13522
|
@itemize
|
|
13456
13523
|
@item @ref{W0245} An implicit type conversion from unsigned char to signed short.
|
|
13457
|
-
@item @ref{W0246}
|
|
13524
|
+
@item @ref{W0246} Implicit conversion from `unsigned char' to `signed int'.
|
|
13458
13525
|
@item @ref{W0247} An implicit type conversion from unsigned char to signed long.
|
|
13459
13526
|
@item @ref{W0248} An implicit type conversion from unsigned short to signed int.
|
|
13460
13527
|
@item @ref{W0249} An implicit type conversion from unsigned short to signed long.
|
|
@@ -13496,7 +13563,7 @@ void bar(unsigned char a)
|
|
|
13496
13563
|
|
|
13497
13564
|
@itemize
|
|
13498
13565
|
@item @ref{W0245} An implicit type conversion from unsigned char to signed short.
|
|
13499
|
-
@item @ref{W0246}
|
|
13566
|
+
@item @ref{W0246} Implicit conversion from `unsigned char' to `signed int'.
|
|
13500
13567
|
@item @ref{W0247} An implicit type conversion from unsigned char to signed long.
|
|
13501
13568
|
@item @ref{W0248} An implicit type conversion from unsigned short to signed int.
|
|
13502
13569
|
@item @ref{W0249} An implicit type conversion from unsigned short to signed long.
|
|
@@ -13538,7 +13605,7 @@ void bar(unsigned short a)
|
|
|
13538
13605
|
|
|
13539
13606
|
@itemize
|
|
13540
13607
|
@item @ref{W0245} An implicit type conversion from unsigned char to signed short.
|
|
13541
|
-
@item @ref{W0246}
|
|
13608
|
+
@item @ref{W0246} Implicit conversion from `unsigned char' to `signed int'.
|
|
13542
13609
|
@item @ref{W0247} An implicit type conversion from unsigned char to signed long.
|
|
13543
13610
|
@item @ref{W0248} An implicit type conversion from unsigned short to signed int.
|
|
13544
13611
|
@item @ref{W0249} An implicit type conversion from unsigned short to signed long.
|
|
@@ -13581,7 +13648,7 @@ void bar(unsigned int a)
|
|
|
13581
13648
|
|
|
13582
13649
|
@itemize
|
|
13583
13650
|
@item @ref{W0245} An implicit type conversion from unsigned char to signed short.
|
|
13584
|
-
@item @ref{W0246}
|
|
13651
|
+
@item @ref{W0246} Implicit conversion from `unsigned char' to `signed int'.
|
|
13585
13652
|
@item @ref{W0247} An implicit type conversion from unsigned char to signed long.
|
|
13586
13653
|
@item @ref{W0248} An implicit type conversion from unsigned short to signed int.
|
|
13587
13654
|
@item @ref{W0249} An implicit type conversion from unsigned short to signed long.
|
|
@@ -13623,7 +13690,7 @@ void bar(unsigned long a)
|
|
|
13623
13690
|
|
|
13624
13691
|
@itemize
|
|
13625
13692
|
@item @ref{W0245} An implicit type conversion from unsigned char to signed short.
|
|
13626
|
-
@item @ref{W0246}
|
|
13693
|
+
@item @ref{W0246} Implicit conversion from `unsigned char' to `signed int'.
|
|
13627
13694
|
@item @ref{W0247} An implicit type conversion from unsigned char to signed long.
|
|
13628
13695
|
@item @ref{W0248} An implicit type conversion from unsigned short to signed int.
|
|
13629
13696
|
@item @ref{W0249} An implicit type conversion from unsigned short to signed long.
|
|
@@ -22002,7 +22069,7 @@ if (x > 0)
|
|
|
22002
22069
|
@subsection Related message
|
|
22003
22070
|
|
|
22004
22071
|
@itemize
|
|
22005
|
-
@item @ref{W0414}
|
|
22072
|
+
@item @ref{W0414} Body of the controlling statement in a line is not enclosed by `@{@}'.
|
|
22006
22073
|
@end itemize
|
|
22007
22074
|
|
|
22008
22075
|
@subsection Since
|
|
@@ -22015,7 +22082,7 @@ if (x > 0)
|
|
|
22015
22082
|
|
|
22016
22083
|
@subsection Message body
|
|
22017
22084
|
|
|
22018
|
-
|
|
22085
|
+
Body of the controlling statement in a line is not enclosed by `@{@}'.
|
|
22019
22086
|
|
|
22020
22087
|
@subsection Content
|
|
22021
22088
|
|
|
@@ -22039,10 +22106,11 @@ if (x > 0) x++; /* W0414 */
|
|
|
22039
22106
|
|
|
22040
22107
|
@node W0421
|
|
22041
22108
|
@section W0421
|
|
22109
|
+
@cindex W0421
|
|
22042
22110
|
|
|
22043
22111
|
@subsection Message body
|
|
22044
22112
|
|
|
22045
|
-
|
|
22113
|
+
Value of the dereferencing pointer must be NULL.
|
|
22046
22114
|
|
|
22047
22115
|
@subsection Content
|
|
22048
22116
|
|
|
@@ -22078,7 +22146,7 @@ None.
|
|
|
22078
22146
|
|
|
22079
22147
|
@subsection Message body
|
|
22080
22148
|
|
|
22081
|
-
|
|
22149
|
+
Value of the dereferencing pointer may be NULL.
|
|
22082
22150
|
|
|
22083
22151
|
@subsection Content
|
|
22084
22152
|
|
|
@@ -23238,7 +23306,7 @@ void func(int a, int b, int c)
|
|
|
23238
23306
|
@item @ref{W0499} The different operator of same priority in the binary operator except '+','-', '*','/' is used. It had better clear the coupling by using `()'.
|
|
23239
23307
|
@item @ref{W0500} The operator of different priority in the binary operator '+','-','*','/' is used. It had better clear the coupling by using `()'.
|
|
23240
23308
|
@item @ref{W0501} A ternary operator is used with binary operator. It had better clear the coupling by using `()'.
|
|
23241
|
-
@item @ref{W0502} A binary operator
|
|
23309
|
+
@item @ref{W0502} A binary operator other than `+', `-', `*', `/' and `%%' appears with binary operator which has different precedence without expression grouping.
|
|
23242
23310
|
@end itemize
|
|
23243
23311
|
|
|
23244
23312
|
@subsection Since
|
|
@@ -23275,7 +23343,7 @@ void func(int a, int b, int c, int d, int e)
|
|
|
23275
23343
|
@item @ref{W0499} The different operator of same priority in the binary operator except '+','-', '*','/' is used. It had better clear the coupling by using `()'.
|
|
23276
23344
|
@item @ref{W0500} The operator of different priority in the binary operator '+','-','*','/' is used. It had better clear the coupling by using `()'.
|
|
23277
23345
|
@item @ref{W0501} A ternary operator is used with binary operator. It had better clear the coupling by using `()'.
|
|
23278
|
-
@item @ref{W0502} A binary operator
|
|
23346
|
+
@item @ref{W0502} A binary operator other than `+', `-', `*', `/' and `%%' appears with binary operator which has different precedence without expression grouping.
|
|
23279
23347
|
@end itemize
|
|
23280
23348
|
|
|
23281
23349
|
@subsection Since
|
|
@@ -23312,7 +23380,7 @@ void func(int a, int b, int c)
|
|
|
23312
23380
|
@item @ref{W0499} The different operator of same priority in the binary operator except '+','-', '*','/' is used. It had better clear the coupling by using `()'.
|
|
23313
23381
|
@item @ref{W0500} The operator of different priority in the binary operator '+','-','*','/' is used. It had better clear the coupling by using `()'.
|
|
23314
23382
|
@item @ref{W0501} A ternary operator is used with binary operator. It had better clear the coupling by using `()'.
|
|
23315
|
-
@item @ref{W0502} A binary operator
|
|
23383
|
+
@item @ref{W0502} A binary operator other than `+', `-', `*', `/' and `%%' appears with binary operator which has different precedence without expression grouping.
|
|
23316
23384
|
@end itemize
|
|
23317
23385
|
|
|
23318
23386
|
@subsection Since
|
|
@@ -23349,7 +23417,7 @@ void func(int a, int b, int c)
|
|
|
23349
23417
|
@item @ref{W0499} The different operator of same priority in the binary operator except '+','-', '*','/' is used. It had better clear the coupling by using `()'.
|
|
23350
23418
|
@item @ref{W0500} The operator of different priority in the binary operator '+','-','*','/' is used. It had better clear the coupling by using `()'.
|
|
23351
23419
|
@item @ref{W0501} A ternary operator is used with binary operator. It had better clear the coupling by using `()'.
|
|
23352
|
-
@item @ref{W0502} A binary operator
|
|
23420
|
+
@item @ref{W0502} A binary operator other than `+', `-', `*', `/' and `%%' appears with binary operator which has different precedence without expression grouping.
|
|
23353
23421
|
@end itemize
|
|
23354
23422
|
|
|
23355
23423
|
@subsection Since
|
|
@@ -23386,7 +23454,7 @@ void func(int a, int b, int c)
|
|
|
23386
23454
|
@item @ref{W0498} The different operator of same priority in the binary operator '+','-', '*','/' is used. It had better clear the coupling by using `()'.
|
|
23387
23455
|
@item @ref{W0500} The operator of different priority in the binary operator '+','-','*','/' is used. It had better clear the coupling by using `()'.
|
|
23388
23456
|
@item @ref{W0501} A ternary operator is used with binary operator. It had better clear the coupling by using `()'.
|
|
23389
|
-
@item @ref{W0502} A binary operator
|
|
23457
|
+
@item @ref{W0502} A binary operator other than `+', `-', `*', `/' and `%%' appears with binary operator which has different precedence without expression grouping.
|
|
23390
23458
|
@end itemize
|
|
23391
23459
|
|
|
23392
23460
|
@subsection Since
|
|
@@ -23423,7 +23491,7 @@ void func(int a, int b, int c)
|
|
|
23423
23491
|
@item @ref{W0498} The different operator of same priority in the binary operator '+','-', '*','/' is used. It had better clear the coupling by using `()'.
|
|
23424
23492
|
@item @ref{W0499} The different operator of same priority in the binary operator except '+','-', '*','/' is used. It had better clear the coupling by using `()'.
|
|
23425
23493
|
@item @ref{W0501} A ternary operator is used with binary operator. It had better clear the coupling by using `()'.
|
|
23426
|
-
@item @ref{W0502} A binary operator
|
|
23494
|
+
@item @ref{W0502} A binary operator other than `+', `-', `*', `/' and `%%' appears with binary operator which has different precedence without expression grouping.
|
|
23427
23495
|
@end itemize
|
|
23428
23496
|
|
|
23429
23497
|
@subsection Since
|
|
@@ -23460,7 +23528,7 @@ void func(int a, int b, int c)
|
|
|
23460
23528
|
@item @ref{W0498} The different operator of same priority in the binary operator '+','-', '*','/' is used. It had better clear the coupling by using `()'.
|
|
23461
23529
|
@item @ref{W0499} The different operator of same priority in the binary operator except '+','-', '*','/' is used. It had better clear the coupling by using `()'.
|
|
23462
23530
|
@item @ref{W0500} The operator of different priority in the binary operator '+','-','*','/' is used. It had better clear the coupling by using `()'.
|
|
23463
|
-
@item @ref{W0502} A binary operator
|
|
23531
|
+
@item @ref{W0502} A binary operator other than `+', `-', `*', `/' and `%%' appears with binary operator which has different precedence without expression grouping.
|
|
23464
23532
|
@end itemize
|
|
23465
23533
|
|
|
23466
23534
|
@subsection Since
|
|
@@ -23473,7 +23541,7 @@ void func(int a, int b, int c)
|
|
|
23473
23541
|
|
|
23474
23542
|
@subsection Message body
|
|
23475
23543
|
|
|
23476
|
-
A binary operator
|
|
23544
|
+
A binary operator other than `+', `-', `*', `/' and `%%' appears with binary operator which has different precedence without expression grouping.
|
|
23477
23545
|
|
|
23478
23546
|
@subsection Content
|
|
23479
23547
|
|
|
@@ -24421,6 +24489,8 @@ void func(int a, int b)
|
|
|
24421
24489
|
}
|
|
24422
24490
|
@end verbatim
|
|
24423
24491
|
|
|
24492
|
+
@subsection Related message
|
|
24493
|
+
|
|
24424
24494
|
@itemize
|
|
24425
24495
|
@item @ref{W0564} If this 'goto' statement jumps to `%s' label,local variable will not be initialized.
|
|
24426
24496
|
@end itemize
|
|
@@ -24583,7 +24653,7 @@ int b = -5 << 1; /* W0568 */
|
|
|
24583
24653
|
|
|
24584
24654
|
@itemize
|
|
24585
24655
|
@item @ref{W0569} The result of left shift operation against the signed expression value is undefined.
|
|
24586
|
-
@item @ref{W0570}
|
|
24656
|
+
@item @ref{W0570} This signed left shift operation may make undefined value.
|
|
24587
24657
|
@end itemize
|
|
24588
24658
|
|
|
24589
24659
|
@subsection Since
|
|
@@ -24623,7 +24693,7 @@ int func(int a)
|
|
|
24623
24693
|
|
|
24624
24694
|
@itemize
|
|
24625
24695
|
@item @ref{W0568} The result of left shift operation against the signed constant expression value is undefined.
|
|
24626
|
-
@item @ref{W0570}
|
|
24696
|
+
@item @ref{W0570} This signed left shift operation may make undefined value.
|
|
24627
24697
|
@end itemize
|
|
24628
24698
|
|
|
24629
24699
|
@subsection Since
|
|
@@ -24636,7 +24706,7 @@ int func(int a)
|
|
|
24636
24706
|
|
|
24637
24707
|
@subsection Message body
|
|
24638
24708
|
|
|
24639
|
-
|
|
24709
|
+
This signed left shift operation may make undefined value.
|
|
24640
24710
|
|
|
24641
24711
|
@subsection Content
|
|
24642
24712
|
|
|
@@ -24694,7 +24764,7 @@ int func(int a)
|
|
|
24694
24764
|
@subsection Related message
|
|
24695
24765
|
|
|
24696
24766
|
@itemize
|
|
24697
|
-
@item @ref{W0572}
|
|
24767
|
+
@item @ref{W0572} Bitwise operation of signed value causes implementation-defined behavior.
|
|
24698
24768
|
@end itemize
|
|
24699
24769
|
|
|
24700
24770
|
@subsection Since
|
|
@@ -24707,7 +24777,7 @@ int func(int a)
|
|
|
24707
24777
|
|
|
24708
24778
|
@subsection Message body
|
|
24709
24779
|
|
|
24710
|
-
|
|
24780
|
+
Bitwise operation of signed value causes implementation-defined behavior.
|
|
24711
24781
|
|
|
24712
24782
|
@subsection Content
|
|
24713
24783
|
|
|
@@ -25520,7 +25590,7 @@ void foo(int a, int b)
|
|
|
25520
25590
|
|
|
25521
25591
|
@subsection Message body
|
|
25522
25592
|
|
|
25523
|
-
|
|
25593
|
+
Multiple break-statements appear to break the same iteration.
|
|
25524
25594
|
|
|
25525
25595
|
@subsection Content
|
|
25526
25596
|
|
|
@@ -25651,7 +25721,7 @@ void fuu(int a)
|
|
|
25651
25721
|
|
|
25652
25722
|
@subsection Message body
|
|
25653
25723
|
|
|
25654
|
-
|
|
25724
|
+
This logical expression always makes true.
|
|
25655
25725
|
|
|
25656
25726
|
@subsection Content
|
|
25657
25727
|
|
|
@@ -25673,10 +25743,10 @@ void func(int a)
|
|
|
25673
25743
|
@subsection Related message
|
|
25674
25744
|
|
|
25675
25745
|
@itemize
|
|
25676
|
-
@item @ref{W0610}
|
|
25746
|
+
@item @ref{W0610} This logical expression always makes false.
|
|
25677
25747
|
@item @ref{W0611} The value of this 'for' control expression is always true.
|
|
25678
25748
|
@item @ref{W0612} The value of this 'if' conditional expression is always true.
|
|
25679
|
-
@item @ref{W0613}
|
|
25749
|
+
@item @ref{W0613} This controlling expression always makes false.
|
|
25680
25750
|
@item @ref{W0614} The value of this "do-while" control expression is always false. The body of repetition statement executed only once.
|
|
25681
25751
|
@end itemize
|
|
25682
25752
|
|
|
@@ -25690,7 +25760,7 @@ void func(int a)
|
|
|
25690
25760
|
|
|
25691
25761
|
@subsection Message body
|
|
25692
25762
|
|
|
25693
|
-
|
|
25763
|
+
This logical expression always makes false.
|
|
25694
25764
|
|
|
25695
25765
|
@subsection Content
|
|
25696
25766
|
|
|
@@ -25711,10 +25781,10 @@ void func(int a)
|
|
|
25711
25781
|
@subsection Related message
|
|
25712
25782
|
|
|
25713
25783
|
@itemize
|
|
25714
|
-
@item @ref{W0609}
|
|
25784
|
+
@item @ref{W0609} This logical expression always makes true.
|
|
25715
25785
|
@item @ref{W0611} The value of this 'for' control expression is always true.
|
|
25716
25786
|
@item @ref{W0612} The value of this 'if' conditional expression is always true.
|
|
25717
|
-
@item @ref{W0613}
|
|
25787
|
+
@item @ref{W0613} This controlling expression always makes false.
|
|
25718
25788
|
@item @ref{W0614} The value of this "do-while" control expression is always false. The body of repetition statement executed only once.
|
|
25719
25789
|
@end itemize
|
|
25720
25790
|
|
|
@@ -25747,11 +25817,13 @@ void func(int a)
|
|
|
25747
25817
|
}
|
|
25748
25818
|
@end verbatim
|
|
25749
25819
|
|
|
25820
|
+
@subsection Related message
|
|
25821
|
+
|
|
25750
25822
|
@itemize
|
|
25751
|
-
@item @ref{W0609}
|
|
25752
|
-
@item @ref{W0610}
|
|
25823
|
+
@item @ref{W0609} This logical expression always makes true.
|
|
25824
|
+
@item @ref{W0610} This logical expression always makes false.
|
|
25753
25825
|
@item @ref{W0612} The value of this 'if' conditional expression is always true.
|
|
25754
|
-
@item @ref{W0613}
|
|
25826
|
+
@item @ref{W0613} This controlling expression always makes false.
|
|
25755
25827
|
@item @ref{W0614} The value of this "do-while" control expression is always false. The body of repetition statement executed only once.
|
|
25756
25828
|
@end itemize
|
|
25757
25829
|
|
|
@@ -25786,10 +25858,10 @@ for (i = 0; i < 10; i++) {
|
|
|
25786
25858
|
@subsection Related message
|
|
25787
25859
|
|
|
25788
25860
|
@itemize
|
|
25789
|
-
@item @ref{W0609}
|
|
25790
|
-
@item @ref{W0610}
|
|
25861
|
+
@item @ref{W0609} This logical expression always makes true.
|
|
25862
|
+
@item @ref{W0610} This logical expression always makes false.
|
|
25791
25863
|
@item @ref{W0611} The value of this 'for' control expression is always true.
|
|
25792
|
-
@item @ref{W0613}
|
|
25864
|
+
@item @ref{W0613} This controlling expression always makes false.
|
|
25793
25865
|
@item @ref{W0614} The value of this "do-while" control expression is always false. The body of repetition statement executed only once.
|
|
25794
25866
|
@end itemize
|
|
25795
25867
|
|
|
@@ -25803,7 +25875,7 @@ for (i = 0; i < 10; i++) {
|
|
|
25803
25875
|
|
|
25804
25876
|
@subsection Message body
|
|
25805
25877
|
|
|
25806
|
-
|
|
25878
|
+
This controlling expression always makes false.
|
|
25807
25879
|
|
|
25808
25880
|
@subsection Content
|
|
25809
25881
|
|
|
@@ -25824,8 +25896,8 @@ for (i = 0; i < 10; i++) {
|
|
|
25824
25896
|
@subsection Related message
|
|
25825
25897
|
|
|
25826
25898
|
@itemize
|
|
25827
|
-
@item @ref{W0609}
|
|
25828
|
-
@item @ref{W0610}
|
|
25899
|
+
@item @ref{W0609} This logical expression always makes true.
|
|
25900
|
+
@item @ref{W0610} This logical expression always makes false.
|
|
25829
25901
|
@item @ref{W0611} The value of this 'for' control expression is always true.
|
|
25830
25902
|
@item @ref{W0612} The value of this 'if' conditional expression is always true.
|
|
25831
25903
|
@item @ref{W0614} The value of this "do-while" control expression is always false. The body of repetition statement executed only once.
|
|
@@ -25862,11 +25934,11 @@ void func(int a)
|
|
|
25862
25934
|
@subsection Related message
|
|
25863
25935
|
|
|
25864
25936
|
@itemize
|
|
25865
|
-
@item @ref{W0609}
|
|
25866
|
-
@item @ref{W0610}
|
|
25937
|
+
@item @ref{W0609} This logical expression always makes true.
|
|
25938
|
+
@item @ref{W0610} This logical expression always makes false.
|
|
25867
25939
|
@item @ref{W0611} The value of this 'for' control expression is always true.
|
|
25868
25940
|
@item @ref{W0612} The value of this 'if' conditional expression is always true.
|
|
25869
|
-
@item @ref{W0613}
|
|
25941
|
+
@item @ref{W0613} This controlling expression always makes false.
|
|
25870
25942
|
@end itemize
|
|
25871
25943
|
|
|
25872
25944
|
@subsection Since
|
|
@@ -26095,7 +26167,7 @@ int main(void)
|
|
|
26095
26167
|
@subsection Related message
|
|
26096
26168
|
|
|
26097
26169
|
@itemize
|
|
26098
|
-
@item @ref{W0629}
|
|
26170
|
+
@item @ref{W0629} `%s()' has internal-linkage, but it is never called in this translation-unit.
|
|
26099
26171
|
@end itemize
|
|
26100
26172
|
|
|
26101
26173
|
@subsection Since
|
|
@@ -26108,7 +26180,7 @@ int main(void)
|
|
|
26108
26180
|
|
|
26109
26181
|
@subsection Message body
|
|
26110
26182
|
|
|
26111
|
-
|
|
26183
|
+
`%s()' has internal-linkage, but it is never called in this translation-unit.
|
|
26112
26184
|
|
|
26113
26185
|
@subsection Content
|
|
26114
26186
|
|
|
@@ -26247,8 +26319,6 @@ void func(int a)
|
|
|
26247
26319
|
}
|
|
26248
26320
|
@end verbatim
|
|
26249
26321
|
|
|
26250
|
-
Under construction.
|
|
26251
|
-
|
|
26252
26322
|
@subsection Related message
|
|
26253
26323
|
|
|
26254
26324
|
@itemize
|
|
@@ -29273,7 +29343,7 @@ void func(void)
|
|
|
29273
29343
|
|
|
29274
29344
|
@subsection Message body
|
|
29275
29345
|
|
|
29276
|
-
|
|
29346
|
+
This non-constant array subscript may cause out-of-range access.
|
|
29277
29347
|
|
|
29278
29348
|
@subsection Content
|
|
29279
29349
|
|
|
@@ -29310,7 +29380,7 @@ None.
|
|
|
29310
29380
|
|
|
29311
29381
|
@subsection Message body
|
|
29312
29382
|
|
|
29313
|
-
|
|
29383
|
+
This constant array subscript must cause out-of-range access.
|
|
29314
29384
|
|
|
29315
29385
|
@subsection Content
|
|
29316
29386
|
|
|
@@ -30492,7 +30562,7 @@ None.
|
|
|
30492
30562
|
|
|
30493
30563
|
@subsection Message body
|
|
30494
30564
|
|
|
30495
|
-
|
|
30565
|
+
This non-constant array subscript may cause out-of-range access.
|
|
30496
30566
|
|
|
30497
30567
|
@subsection Content
|
|
30498
30568
|
|
|
@@ -31867,8 +31937,6 @@ Under construction.
|
|
|
31867
31937
|
|
|
31868
31938
|
@subsection Sample code
|
|
31869
31939
|
|
|
31870
|
-
Under construction.
|
|
31871
|
-
|
|
31872
31940
|
@verbatim
|
|
31873
31941
|
void func(float a, float b)
|
|
31874
31942
|
{
|
|
@@ -31908,9 +31976,8 @@ void func(float a, float b)
|
|
|
31908
31976
|
}
|
|
31909
31977
|
@end verbatim
|
|
31910
31978
|
|
|
31911
|
-
Under construction.
|
|
31912
|
-
|
|
31913
31979
|
@subsection Related message
|
|
31980
|
+
|
|
31914
31981
|
@itemize
|
|
31915
31982
|
@item @ref{W0777} An implicit type conversion from compound expression of float to double.
|
|
31916
31983
|
@item @ref{W0779} An implicit type conversion from compound expression of to long double.
|
|
@@ -31934,8 +32001,6 @@ Under construction.
|
|
|
31934
32001
|
|
|
31935
32002
|
@subsection Sample code
|
|
31936
32003
|
|
|
31937
|
-
Under construction.
|
|
31938
|
-
|
|
31939
32004
|
@verbatim
|
|
31940
32005
|
void func(double a, double b)
|
|
31941
32006
|
{
|
|
@@ -32414,7 +32479,7 @@ None.
|
|
|
32414
32479
|
|
|
32415
32480
|
@subsection Message body
|
|
32416
32481
|
|
|
32417
|
-
Left shift operation
|
|
32482
|
+
Left shift operation of signed value causes implementation-defined behavior.
|
|
32418
32483
|
|
|
32419
32484
|
@subsection Content
|
|
32420
32485
|
|
|
@@ -33249,7 +33314,7 @@ After 2.0.0 (planned)
|
|
|
33249
33314
|
|
|
33250
33315
|
@subsection Message body
|
|
33251
33316
|
|
|
33252
|
-
|
|
33317
|
+
String literal is specified directly.
|
|
33253
33318
|
|
|
33254
33319
|
@subsection Content
|
|
33255
33320
|
|
|
@@ -33264,9 +33329,9 @@ func("Apple, Banana, Chocolate"); /* W0947 */
|
|
|
33264
33329
|
@subsection Related message
|
|
33265
33330
|
|
|
33266
33331
|
@itemize
|
|
33267
|
-
@item @ref{W0948}
|
|
33332
|
+
@item @ref{W0948} Character constant %s is specified directly.
|
|
33268
33333
|
@item @ref{W0949} A value `%s' is used directly for size definition of bit field.
|
|
33269
|
-
@item @ref{W0950}
|
|
33334
|
+
@item @ref{W0950} Integer constant `%s' is specified directly as an array size.
|
|
33270
33335
|
@end itemize
|
|
33271
33336
|
|
|
33272
33337
|
@subsection Since
|
|
@@ -33279,7 +33344,7 @@ func("Apple, Banana, Chocolate"); /* W0947 */
|
|
|
33279
33344
|
|
|
33280
33345
|
@subsection Message body
|
|
33281
33346
|
|
|
33282
|
-
|
|
33347
|
+
Character constant %s is specified directly.
|
|
33283
33348
|
|
|
33284
33349
|
@subsection Content
|
|
33285
33350
|
|
|
@@ -33294,9 +33359,9 @@ func('a'); /* W0948 */
|
|
|
33294
33359
|
@subsection Related message
|
|
33295
33360
|
|
|
33296
33361
|
@itemize
|
|
33297
|
-
@item @ref{W0947}
|
|
33362
|
+
@item @ref{W0947} String literal is specified directly.
|
|
33298
33363
|
@item @ref{W0949} A value `%s' is used directly for size definition of bit field.
|
|
33299
|
-
@item @ref{W0950}
|
|
33364
|
+
@item @ref{W0950} Integer constant `%s' is specified directly as an array size.
|
|
33300
33365
|
@end itemize
|
|
33301
33366
|
|
|
33302
33367
|
@subsection Since
|
|
@@ -33328,9 +33393,9 @@ struct ST {
|
|
|
33328
33393
|
@subsection Related message
|
|
33329
33394
|
|
|
33330
33395
|
@itemize
|
|
33331
|
-
@item @ref{W0947}
|
|
33332
|
-
@item @ref{W0948}
|
|
33333
|
-
@item @ref{W0950}
|
|
33396
|
+
@item @ref{W0947} String literal is specified directly.
|
|
33397
|
+
@item @ref{W0948} Character constant %s is specified directly.
|
|
33398
|
+
@item @ref{W0950} Integer constant `%s' is specified directly as an array size.
|
|
33334
33399
|
@end itemize
|
|
33335
33400
|
|
|
33336
33401
|
@subsection Since
|
|
@@ -33343,7 +33408,7 @@ struct ST {
|
|
|
33343
33408
|
|
|
33344
33409
|
@subsection Message body
|
|
33345
33410
|
|
|
33346
|
-
|
|
33411
|
+
Integer constant `%s' is specified directly as an array size.
|
|
33347
33412
|
|
|
33348
33413
|
@subsection Content
|
|
33349
33414
|
|
|
@@ -33358,8 +33423,8 @@ int a[10]; /* W0950 */
|
|
|
33358
33423
|
@subsection Related message
|
|
33359
33424
|
|
|
33360
33425
|
@itemize
|
|
33361
|
-
@item @ref{W0947}
|
|
33362
|
-
@item @ref{W0948}
|
|
33426
|
+
@item @ref{W0947} String literal is specified directly.
|
|
33427
|
+
@item @ref{W0948} Character constant %s is specified directly.
|
|
33363
33428
|
@item @ref{W0949} A value `%s' is used directly for size definition of bit field.
|
|
33364
33429
|
@end itemize
|
|
33365
33430
|
|
|
@@ -35032,7 +35097,7 @@ None.
|
|
|
35032
35097
|
|
|
35033
35098
|
@subsection Message body
|
|
35034
35099
|
|
|
35035
|
-
|
|
35100
|
+
Return value of the function `%s' is discarded.
|
|
35036
35101
|
|
|
35037
35102
|
@subsection Content
|
|
35038
35103
|
|
|
@@ -35132,7 +35197,7 @@ None.
|
|
|
35132
35197
|
|
|
35133
35198
|
@subsection Message body
|
|
35134
35199
|
|
|
35135
|
-
`%s'
|
|
35200
|
+
`%s' has internal-linkage without any prototype declarations.
|
|
35136
35201
|
|
|
35137
35202
|
@subsection Content
|
|
35138
35203
|
|
|
@@ -35186,7 +35251,7 @@ None.
|
|
|
35186
35251
|
|
|
35187
35252
|
@subsection Message body
|
|
35188
35253
|
|
|
35189
|
-
|
|
35254
|
+
Control never reaches to this statement.
|
|
35190
35255
|
|
|
35191
35256
|
@subsection Content
|
|
35192
35257
|
|
|
@@ -35678,6 +35743,7 @@ MET,FN_PARA,bar,"int bar(int,long,char *)",test.c,6,5,3
|
|
|
35678
35743
|
@cindex FN_UNUV
|
|
35679
35744
|
|
|
35680
35745
|
@subsection Metric name
|
|
35746
|
+
|
|
35681
35747
|
Number of not use /not reuse variables
|
|
35682
35748
|
|
|
35683
35749
|
@subsection Content
|
|
@@ -35803,7 +35869,7 @@ Number of @code{goto} statement
|
|
|
35803
35869
|
|
|
35804
35870
|
@subsection Content
|
|
35805
35871
|
|
|
35806
|
-
The number of
|
|
35872
|
+
The number of @code{goto} statement in a function.
|
|
35807
35873
|
|
|
35808
35874
|
@subsection Sample code
|
|
35809
35875
|
|
|
@@ -35846,7 +35912,7 @@ Number of return point in a function
|
|
|
35846
35912
|
|
|
35847
35913
|
@subsection Content
|
|
35848
35914
|
|
|
35849
|
-
The number of executable
|
|
35915
|
+
The number of executable return-statements and implicit return-statements
|
|
35850
35916
|
at the end of a function.
|
|
35851
35917
|
|
|
35852
35918
|
@subsection Sample code
|
|
@@ -35907,11 +35973,11 @@ MET,FN_RETN,bar,int bar(int),test.c,20,5,3
|
|
|
35907
35973
|
@cindex FN_UELS
|
|
35908
35974
|
|
|
35909
35975
|
@subsection Metric name
|
|
35910
|
-
Number of
|
|
35976
|
+
Number of if-statement without else-clause
|
|
35911
35977
|
|
|
35912
35978
|
@subsection Content
|
|
35913
35979
|
|
|
35914
|
-
The number of
|
|
35980
|
+
The number of if-statements which have no explicit else-clause.
|
|
35915
35981
|
|
|
35916
35982
|
@subsection Sample code
|
|
35917
35983
|
|
|
@@ -36183,6 +36249,7 @@ It was developed by McCabe.
|
|
|
36183
36249
|
calculating formula is
|
|
36184
36250
|
@verb{.(the number of edges of the graph) - (the number of nodes of the graph) + 2.}.
|
|
36185
36251
|
It equals the number of branch in a function + 1.
|
|
36252
|
+
|
|
36186
36253
|
@subsection Sample code
|
|
36187
36254
|
|
|
36188
36255
|
@verbatim
|