adlint 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/AUTHORS +27 -0
- data/COPYING +674 -0
- data/ChangeLog +820 -0
- data/INSTALL +78 -0
- data/MANIFEST +464 -0
- data/NEWS +38 -0
- data/README +74 -0
- data/Rakefile +167 -0
- data/TODO +29 -0
- data/bin/adlint +141 -0
- data/bin/adlint_chk +129 -0
- data/bin/adlint_cma +122 -0
- data/bin/adlint_sma +129 -0
- data/bin/adlintize +286 -0
- data/etc/conf.d/fallback/cinit.erb +11 -0
- data/etc/conf.d/fallback/traits.erb +216 -0
- data/etc/conf.d/i686-cygwin/cinit-gcc_4.3.4.erb +149 -0
- data/etc/conf.d/i686-cygwin/traits-gcc_4.3.4.erb +227 -0
- data/etc/conf.d/i686-devkit/cinit-gcc_4.5.2.erb +224 -0
- data/etc/conf.d/i686-devkit/traits-gcc_4.5.2.erb +226 -0
- data/etc/conf.d/i686-linux/cinit-gcc_4.5.1.erb +219 -0
- data/etc/conf.d/i686-linux/traits-gcc_4.5.1.erb +224 -0
- data/etc/conf.d/i686-mingw/cinit-gcc_4.6.1.erb +234 -0
- data/etc/conf.d/i686-mingw/traits-gcc_4.6.1.erb +226 -0
- data/etc/conf.d/noarch/GNUmakefile.erb +119 -0
- data/etc/conf.d/noarch/adlint_all_bat.erb +9 -0
- data/etc/conf.d/noarch/adlint_all_sh.erb +10 -0
- data/etc/conf.d/noarch/pinit.erb +11 -0
- data/etc/mesg.d/en_US/messages.yml +784 -0
- data/etc/mesg.d/ja_JP/messages.yml +784 -0
- data/lib/adlint/analyzer.rb +294 -0
- data/lib/adlint/c/branch.rb +251 -0
- data/lib/adlint/c/builtin.rb +92 -0
- data/lib/adlint/c/code.rb +490 -0
- data/lib/adlint/c/const.rb +465 -0
- data/lib/adlint/c/conv.rb +212 -0
- data/lib/adlint/c/ctrlexpr.rb +949 -0
- data/lib/adlint/c/domain.rb +7499 -0
- data/lib/adlint/c/environ.rb +133 -0
- data/lib/adlint/c/expr.rb +1725 -0
- data/lib/adlint/c/format.rb +3209 -0
- data/lib/adlint/c/interp.rb +1740 -0
- data/lib/adlint/c/lexer.rb +241 -0
- data/lib/adlint/c/mediator.rb +313 -0
- data/lib/adlint/c/message.rb +13597 -0
- data/lib/adlint/c/metric.rb +765 -0
- data/lib/adlint/c/object.rb +1018 -0
- data/lib/adlint/c/parser.rb +3800 -0
- data/lib/adlint/c/parser.y +2054 -0
- data/lib/adlint/c/phase.rb +712 -0
- data/lib/adlint/c/resolver.rb +270 -0
- data/lib/adlint/c/scanner.rb +248 -0
- data/lib/adlint/c/scope.rb +74 -0
- data/lib/adlint/c/syntax.rb +4279 -0
- data/lib/adlint/c/type.rb +7506 -0
- data/lib/adlint/c/util.rb +91 -0
- data/lib/adlint/c/value.rb +2310 -0
- data/lib/adlint/c.rb +56 -0
- data/lib/adlint/code.rb +500 -0
- data/lib/adlint/cpp/code.rb +189 -0
- data/lib/adlint/cpp/constexpr.rb +721 -0
- data/lib/adlint/cpp/constexpr.y +389 -0
- data/lib/adlint/cpp/eval.rb +1012 -0
- data/lib/adlint/cpp/lexer.rb +860 -0
- data/lib/adlint/cpp/macro.rb +637 -0
- data/lib/adlint/cpp/message.rb +992 -0
- data/lib/adlint/cpp/phase.rb +176 -0
- data/lib/adlint/cpp/scanner.rb +93 -0
- data/lib/adlint/cpp/source.rb +169 -0
- data/lib/adlint/cpp/subst.rb +300 -0
- data/lib/adlint/cpp/syntax.rb +1412 -0
- data/lib/adlint/cpp/util.rb +97 -0
- data/lib/adlint/cpp.rb +43 -0
- data/lib/adlint/driver.rb +147 -0
- data/lib/adlint/error.rb +179 -0
- data/lib/adlint/lang.rb +97 -0
- data/lib/adlint/ld/message.rb +259 -0
- data/lib/adlint/ld/metric.rb +57 -0
- data/lib/adlint/ld/object.rb +542 -0
- data/lib/adlint/ld/phase.rb +193 -0
- data/lib/adlint/ld/typedef.rb +109 -0
- data/lib/adlint/ld/util.rb +88 -0
- data/lib/adlint/ld.rb +37 -0
- data/lib/adlint/lexer.rb +293 -0
- data/lib/adlint/message.rb +368 -0
- data/lib/adlint/metric.rb +805 -0
- data/lib/adlint/monitor.rb +144 -0
- data/lib/adlint/phase.rb +90 -0
- data/lib/adlint/prelude.rb +314 -0
- data/lib/adlint/report.rb +617 -0
- data/lib/adlint/source.rb +155 -0
- data/lib/adlint/symbol.rb +127 -0
- data/lib/adlint/token.rb +215 -0
- data/lib/adlint/traits.rb +643 -0
- data/lib/adlint/util.rb +524 -0
- data/lib/adlint/version.rb +71 -0
- data/lib/adlint.rb +66 -0
- data/share/HEADER +45 -0
- data/share/demo/Makefile +110 -0
- data/share/demo/ambig_operator/ambig_operator.c +289 -0
- data/share/demo/arg_points_unset/arg_points_unset.c +37 -0
- data/share/demo/array_range/array_range.c +62 -0
- data/share/demo/bad_bitfields/bad_bitfields.c +74 -0
- data/share/demo/bad_brace/bad_brace.c +19 -0
- data/share/demo/bad_charset/abcde$.h +0 -0
- data/share/demo/bad_charset/bad_charset.c +22 -0
- data/share/demo/bad_comment/bad_comment.c +3 -0
- data/share/demo/bad_const/bad_const.c +19 -0
- data/share/demo/bad_conv/bad_conv.c +48 -0
- data/share/demo/bad_indent/bad_indent.c +50 -0
- data/share/demo/bad_init/bad_init.c +49 -0
- data/share/demo/bad_macro/bad_macro.c +97 -0
- data/share/demo/bitwise_expr/bitwise_expr.c +19 -0
- data/share/demo/call_by_value/call_by_value.c +26 -0
- data/share/demo/cross_ref/cross_ref.c +21 -0
- data/share/demo/dangling_else/dangling_else.c +20 -0
- data/share/demo/dead_code/dead_code.c +237 -0
- data/share/demo/deep_nest/deep_nest.c +57 -0
- data/share/demo/dense_switch/dense_switch.c +62 -0
- data/share/demo/direct_recur/direct_recur.c +15 -0
- data/share/demo/div_by_zero/div_by_zero.c +35 -0
- data/share/demo/dos_source/dos_source.c +7 -0
- data/share/demo/funptr_cast/funptr_cast.c +26 -0
- data/share/demo/goto_stmt/goto_stmt.c +19 -0
- data/share/demo/id_hiding/id_hiding.c +19 -0
- data/share/demo/ill_defined/ill_defined.c +13 -0
- data/share/demo/implicit_conv/implicit_conv.c +60 -0
- data/share/demo/implicit_int/implicit_int.c +14 -0
- data/share/demo/incomplete_type/incomplete_type.c +49 -0
- data/share/demo/indirect_recur/indirect_recur_1.c +14 -0
- data/share/demo/indirect_recur/indirect_recur_1.h +7 -0
- data/share/demo/indirect_recur/indirect_recur_2.c +12 -0
- data/share/demo/indirect_recur/indirect_recur_2.h +6 -0
- data/share/demo/indirect_recur/indirect_recur_3.c +6 -0
- data/share/demo/indirect_recur/indirect_recur_3.h +6 -0
- data/share/demo/indirect_recur/indirect_recur_4.c +25 -0
- data/share/demo/intro_demo/intro_demo.c +76 -0
- data/share/demo/intro_demo/intro_demo.h +12 -0
- data/share/demo/intro_demo/useless_header.h +5 -0
- data/share/demo/invalid_call/invalid_call.c +32 -0
- data/share/demo/kandr_fundef/kandr_fundef.c +10 -0
- data/share/demo/line_comment/line_comment.c +12 -0
- data/share/demo/local_decl/local_decl.c +9 -0
- data/share/demo/logical_trick/logical_trick.c +36 -0
- data/share/demo/long_sym/long_sym.c +5 -0
- data/share/demo/loop_var/loop_var.c +92 -0
- data/share/demo/malloc_or_die/malloc_or_die.c +43 -0
- data/share/demo/may_be_null/may_be_null.c +52 -0
- data/share/demo/may_be_null_arith/may_be_null_arith.c +15 -0
- data/share/demo/may_be_unset/may_be_unset.c +34 -0
- data/share/demo/mmapped_io/mmapped_io.c +23 -0
- data/share/demo/multi_break/multi_break.c +33 -0
- data/share/demo/multi_decl/multi_decl_1.c +17 -0
- data/share/demo/multi_decl/multi_decl_1.h +6 -0
- data/share/demo/multi_decl/multi_decl_2.c +13 -0
- data/share/demo/multi_decl/multi_decl_2.h +6 -0
- data/share/demo/multi_decl/multi_decl_3.c +22 -0
- data/share/demo/multi_def/multi_def_1.c +36 -0
- data/share/demo/multi_def/multi_def_1.h +6 -0
- data/share/demo/multi_def/multi_def_2.c +22 -0
- data/share/demo/multi_def/multi_def_2.h +6 -0
- data/share/demo/multi_def/multi_def_3.c +6 -0
- data/share/demo/multi_typedef/multi_typedef.c +11 -0
- data/share/demo/multi_typedef/multi_typedef_1.h +1 -0
- data/share/demo/multi_typedef/multi_typedef_2.h +1 -0
- data/share/demo/must_be_false/must_be_false.c +53 -0
- data/share/demo/must_be_null/must_be_null.c +13 -0
- data/share/demo/must_be_null_arith/must_be_null_arith.c +14 -0
- data/share/demo/must_be_true/must_be_true.c +21 -0
- data/share/demo/no_eof_nl/no_eof_nl.c +4 -0
- data/share/demo/no_void_arg/no_void_arg.c +14 -0
- data/share/demo/null_stmt/null_stmt.c +19 -0
- data/share/demo/octal_const/octal_const.c +20 -0
- data/share/demo/output_by_param/output_by_param.c +17 -0
- data/share/demo/overflow/overflow.c +74 -0
- data/share/demo/press_release/press_release.c +40 -0
- data/share/demo/retn_lvar_addr/retn_lvar_addr.c +47 -0
- data/share/demo/shift_expr/shift_expr.c +14 -0
- data/share/demo/should_be_typedef/should_be_typedef.c +51 -0
- data/share/demo/static_paths/static_paths.c +153 -0
- data/share/demo/static_vars/static_vars.c +39 -0
- data/share/demo/tag_hiding/tag_hiding.c +18 -0
- data/share/demo/tricky_incdec/tricky_incdec.c +12 -0
- data/share/demo/undefined_macro/undefined_macro.c +17 -0
- data/share/demo/uninit_vars/uninit_vars.c +28 -0
- data/share/demo/union_type/union_type.c +23 -0
- data/share/demo/unmatch_decl/unmatch_decl_1.c +12 -0
- data/share/demo/unmatch_decl/unmatch_decl_1.h +8 -0
- data/share/demo/unmatch_decl/unmatch_decl_2.c +10 -0
- data/share/demo/unmatch_decl/unmatch_decl_2.h +8 -0
- data/share/demo/unmatch_decl/unmatch_decl_3.c +7 -0
- data/share/demo/unmatch_paren_macro/unmatch_paren_macro.c +15 -0
- data/share/demo/unreachable/unreachable.c +34 -0
- data/share/demo/useless_exp_funs/useless_exp_funs_1.c +14 -0
- data/share/demo/useless_exp_funs/useless_exp_funs_1.h +1 -0
- data/share/demo/useless_exp_funs/useless_exp_funs_2.c +6 -0
- data/share/demo/useless_exp_vars/useless_export_1.c +8 -0
- data/share/demo/useless_exp_vars/useless_export_1.h +1 -0
- data/share/demo/useless_exp_vars/useless_export_2.c +7 -0
- data/share/demo/useless_expr/useless_expr.c +17 -0
- data/share/demo/useless_funs/useless_funs_1.c +21 -0
- data/share/demo/useless_funs/useless_funs_1.h +8 -0
- data/share/demo/useless_funs/useless_funs_2.c +6 -0
- data/share/demo/useless_header/useless_header.c +9 -0
- data/share/demo/useless_header/useless_header_1.h +12 -0
- data/share/demo/useless_header/useless_header_2.h +6 -0
- data/share/demo/useless_header/useless_header_3.h +9 -0
- data/share/demo/useless_header/useless_header_4.h +3 -0
- data/share/demo/useless_vars/useless_vars.c +17 -0
- data/share/demo/va_funcall/va_funcall.c +25 -0
- data/share/demo/various_fundef/various_fundef.c +36 -0
- data/share/demo/wchar_wstring/wchar_wstring.c +7 -0
- data/share/demo/wrap_around/wrap_around.c +38 -0
- data/share/doc/Makefile +16 -0
- data/share/doc/adlint_on_adqua.png +0 -0
- data/share/doc/adlint_on_eclipse_en.png +0 -0
- data/share/doc/adlint_on_eclipse_ja.png +0 -0
- data/share/doc/adlint_on_vim_en.png +0 -0
- data/share/doc/adlint_on_vim_ja.png +0 -0
- data/share/doc/developers_guide_ja.html +171 -0
- data/share/doc/developers_guide_ja.texi +87 -0
- data/share/doc/gen_mesg_sections.rb +39 -0
- data/share/doc/samples/GNUmakefile +162 -0
- data/share/doc/samples/adlint_traits.yml +238 -0
- data/share/doc/texinfo.css +22 -0
- data/share/doc/users_guide_en.html +39975 -0
- data/share/doc/users_guide_en.texi +32640 -0
- data/share/doc/users_guide_ja.html +40505 -0
- data/share/doc/users_guide_ja.texi +33189 -0
- data/share/logo/adlint-110.png +0 -0
- data/share/logo/adlint-524.png +0 -0
- data/share/logo/adlint.svg +4637 -0
- data/share/sample/README +6 -0
- data/share/sample/bison-2.5/adlint/GNUmakefile +170 -0
- data/share/sample/bison-2.5/adlint/adlint_traits.yml +225 -0
- data/share/sample/bison-2.5/adlint/lib/GNUmakefile +198 -0
- data/share/sample/bison-2.5/adlint/lib/adlint_cinit.h +228 -0
- data/share/sample/bison-2.5/adlint/lib/adlint_pinit.h +21 -0
- data/share/sample/bison-2.5/adlint/lib/adlint_traits.yml +238 -0
- data/share/sample/bison-2.5/adlint/src/GNUmakefile +166 -0
- data/share/sample/bison-2.5/adlint/src/adlint_cinit.h +228 -0
- data/share/sample/bison-2.5/adlint/src/adlint_pinit.h +21 -0
- data/share/sample/bison-2.5/adlint/src/adlint_traits.yml +239 -0
- data/share/sample/ctags-5.8/adlint/GNUmakefile +169 -0
- data/share/sample/ctags-5.8/adlint/adlint_cinit.h +219 -0
- data/share/sample/ctags-5.8/adlint/adlint_pinit.h +13 -0
- data/share/sample/ctags-5.8/adlint/adlint_traits.yml +225 -0
- data/share/sample/flex-2.5.35/adlint/GNUmakefile +140 -0
- data/share/sample/flex-2.5.35/adlint/adlint_cinit.h +219 -0
- data/share/sample/flex-2.5.35/adlint/adlint_pinit.h +14 -0
- data/share/sample/flex-2.5.35/adlint/adlint_traits.yml +225 -0
- data/share/sample/ruby-1.9.3-p0/adlint/GNUmakefile +314 -0
- data/share/sample/ruby-1.9.3-p0/adlint/adlint_traits.yml +225 -0
- data/share/sample/ruby-1.9.3-p0/adlint/core/GNUmakefile +204 -0
- data/share/sample/ruby-1.9.3-p0/adlint/core/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/core/adlint_pinit.h +28 -0
- data/share/sample/ruby-1.9.3-p0/adlint/core/adlint_traits.yml +240 -0
- data/share/sample/ruby-1.9.3-p0/adlint/enc/GNUmakefile +163 -0
- data/share/sample/ruby-1.9.3-p0/adlint/enc/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/enc/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/enc/adlint_traits.yml +240 -0
- data/share/sample/ruby-1.9.3-p0/adlint/enc-trans/GNUmakefile +149 -0
- data/share/sample/ruby-1.9.3-p0/adlint/enc-trans/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/enc-trans/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/enc-trans/adlint_traits.yml +240 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-bigdecimal/GNUmakefile +131 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-bigdecimal/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-bigdecimal/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-bigdecimal/adlint_traits.yml +241 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-continuation/GNUmakefile +131 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-continuation/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-continuation/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-continuation/adlint_traits.yml +241 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-coverage/GNUmakefile +131 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-coverage/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-coverage/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-coverage/adlint_traits.yml +241 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-curses/GNUmakefile +131 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-curses/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-curses/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-curses/adlint_traits.yml +241 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-date/GNUmakefile +134 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-date/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-date/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-date/adlint_traits.yml +241 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-dbm/GNUmakefile +131 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-dbm/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-dbm/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-dbm/adlint_traits.yml +241 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest/GNUmakefile +131 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest/adlint_traits.yml +241 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-bubblebabble/GNUmakefile +131 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-bubblebabble/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-bubblebabble/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-bubblebabble/adlint_traits.yml +242 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-md5/GNUmakefile +132 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-md5/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-md5/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-md5/adlint_traits.yml +242 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-rmd160/GNUmakefile +132 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-rmd160/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-rmd160/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-rmd160/adlint_traits.yml +242 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha1/GNUmakefile +132 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha1/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha1/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha1/adlint_traits.yml +242 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha2/GNUmakefile +132 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha2/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha2/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-digest-sha2/adlint_traits.yml +242 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-dl/GNUmakefile +134 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-dl/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-dl/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-dl/adlint_traits.yml +241 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-dl-callback/GNUmakefile +140 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-dl-callback/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-dl-callback/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-dl-callback/adlint_traits.yml +242 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-etc/GNUmakefile +131 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-etc/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-etc/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-etc/adlint_traits.yml +241 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-fcntl/GNUmakefile +131 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-fcntl/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-fcntl/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-fcntl/adlint_traits.yml +241 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-fiber/GNUmakefile +131 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-fiber/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-fiber/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-fiber/adlint_traits.yml +241 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-fiddle/GNUmakefile +134 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-fiddle/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-fiddle/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-fiddle/adlint_traits.yml +242 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-gdbm/GNUmakefile +131 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-gdbm/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-gdbm/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-gdbm/adlint_traits.yml +241 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-iconv/GNUmakefile +131 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-iconv/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-iconv/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-iconv/adlint_traits.yml +241 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-io-console/GNUmakefile +131 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-io-console/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-io-console/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-io-console/adlint_traits.yml +241 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-io-nonblock/GNUmakefile +131 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-io-nonblock/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-io-nonblock/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-io-nonblock/adlint_traits.yml +241 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-io-wait/GNUmakefile +131 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-io-wait/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-io-wait/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-io-wait/adlint_traits.yml +241 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-json-generator/GNUmakefile +131 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-json-generator/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-json-generator/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-json-generator/adlint_traits.yml +241 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-json-parser/GNUmakefile +131 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-json-parser/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-json-parser/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-json-parser/adlint_traits.yml +241 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-complex/GNUmakefile +131 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-complex/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-complex/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-complex/adlint_traits.yml +241 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-rational/GNUmakefile +131 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-rational/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-rational/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-mathn-rational/adlint_traits.yml +241 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-nkf/GNUmakefile +131 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-nkf/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-nkf/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-nkf/adlint_traits.yml +241 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-openssl/GNUmakefile +162 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-openssl/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-openssl/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-openssl/adlint_traits.yml +241 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-pathname/GNUmakefile +131 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-pathname/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-pathname/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-pathname/adlint_traits.yml +241 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-psych/GNUmakefile +135 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-psych/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-psych/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-psych/adlint_traits.yml +241 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-pty/GNUmakefile +131 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-pty/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-pty/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-pty/adlint_traits.yml +241 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-racc-cparse/GNUmakefile +131 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-racc-cparse/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-racc-cparse/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-racc-cparse/adlint_traits.yml +241 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-readline/GNUmakefile +131 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-readline/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-readline/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-readline/adlint_traits.yml +241 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-ripper/GNUmakefile +131 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-ripper/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-ripper/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-ripper/adlint_traits.yml +241 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-sdbm/GNUmakefile +132 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-sdbm/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-sdbm/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-sdbm/adlint_traits.yml +241 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-socket/GNUmakefile +144 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-socket/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-socket/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-socket/adlint_traits.yml +241 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-stringio/GNUmakefile +131 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-stringio/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-stringio/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-stringio/adlint_traits.yml +241 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-strscan/GNUmakefile +131 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-strscan/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-strscan/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-strscan/adlint_traits.yml +241 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-syck/GNUmakefile +140 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-syck/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-syck/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-syck/adlint_traits.yml +241 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-syslog/GNUmakefile +131 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-syslog/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-syslog/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-syslog/adlint_traits.yml +241 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-zlib/GNUmakefile +131 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-zlib/adlint_cinit.h +228 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-zlib/adlint_pinit.h +24 -0
- data/share/sample/ruby-1.9.3-p0/adlint/ext-zlib/adlint_traits.yml +241 -0
- data/share/sample/screen-4.0.3/adlint/GNUmakefile +162 -0
- data/share/sample/screen-4.0.3/adlint/adlint_cinit.h +228 -0
- data/share/sample/screen-4.0.3/adlint/adlint_pinit.h +21 -0
- data/share/sample/screen-4.0.3/adlint/adlint_traits.yml +238 -0
- data/share/sample/vim-7.3/adlint/vim/GNUmakefile +185 -0
- data/share/sample/vim-7.3/adlint/vim/adlint_cinit.h +228 -0
- data/share/sample/vim-7.3/adlint/vim/adlint_pinit.h +25 -0
- data/share/sample/vim-7.3/adlint/vim/adlint_traits.yml +250 -0
- data/share/sample/vim-7.3/adlint/xxd/GNUmakefile +131 -0
- data/share/sample/vim-7.3/adlint/xxd/adlint_cinit.h +228 -0
- data/share/sample/vim-7.3/adlint/xxd/adlint_pinit.h +24 -0
- data/share/sample/vim-7.3/adlint/xxd/adlint_traits.yml +237 -0
- data/share/sample/zsh-4.3.15/adlint/GNUmakefile +146 -0
- data/share/sample/zsh-4.3.15/adlint/adlint_traits.yml +225 -0
- data/share/sample/zsh-4.3.15/adlint/builtins/GNUmakefile +132 -0
- data/share/sample/zsh-4.3.15/adlint/builtins/adlint_cinit.h +228 -0
- data/share/sample/zsh-4.3.15/adlint/builtins/adlint_pinit.h +24 -0
- data/share/sample/zsh-4.3.15/adlint/builtins/adlint_traits.yml +240 -0
- data/share/sample/zsh-4.3.15/adlint/core/GNUmakefile +153 -0
- data/share/sample/zsh-4.3.15/adlint/core/adlint_cinit.h +228 -0
- data/share/sample/zsh-4.3.15/adlint/core/adlint_pinit.h +23 -0
- data/share/sample/zsh-4.3.15/adlint/core/adlint_traits.yml +239 -0
- data/share/sample/zsh-4.3.15/adlint/modules/GNUmakefile +147 -0
- data/share/sample/zsh-4.3.15/adlint/modules/adlint_cinit.h +228 -0
- data/share/sample/zsh-4.3.15/adlint/modules/adlint_pinit.h +24 -0
- data/share/sample/zsh-4.3.15/adlint/modules/adlint_traits.yml +240 -0
- data/share/sample/zsh-4.3.15/adlint/zle/GNUmakefile +144 -0
- data/share/sample/zsh-4.3.15/adlint/zle/adlint_cinit.h +228 -0
- data/share/sample/zsh-4.3.15/adlint/zle/adlint_pinit.h +24 -0
- data/share/sample/zsh-4.3.15/adlint/zle/adlint_traits.yml +239 -0
- data/spec/MUST_WRITE_SPECS_WITH_RSPEC +0 -0
- metadata +532 -0
@@ -0,0 +1,26 @@
|
|
1
|
+
#pragma once
|
2
|
+
#pragma twice
|
3
|
+
#pragma omp parallel
|
4
|
+
|
5
|
+
typedef int (*compatible_funptr)();
|
6
|
+
|
7
|
+
typedef int (*incompatible_funptr1)(int);
|
8
|
+
typedef void (*incompatible_funptr2)();
|
9
|
+
typedef long (*incompatible_funptr3)(char *);
|
10
|
+
|
11
|
+
int main(void)
|
12
|
+
{
|
13
|
+
compatible_funptr p1 = (compatible_funptr) &main;
|
14
|
+
const int i = 0;
|
15
|
+
|
16
|
+
incompatible_funptr1 p2 = (incompatible_funptr1) &main;
|
17
|
+
incompatible_funptr2 p3 = (incompatible_funptr2) &main;
|
18
|
+
incompatible_funptr3 p4 = (incompatible_funptr3) main;
|
19
|
+
|
20
|
+
void (*p5)(int) = (void (*)(int)) &main;
|
21
|
+
|
22
|
+
void (*p6)() = (void (*)()) i;
|
23
|
+
const int j = (int) &main;
|
24
|
+
|
25
|
+
return 0;
|
26
|
+
}
|
@@ -0,0 +1,60 @@
|
|
1
|
+
void foo(const unsigned int ui1, const unsigned int ui2,
|
2
|
+
const unsigned char uc1, const unsigned char uc2)
|
3
|
+
{
|
4
|
+
unsigned long ul;
|
5
|
+
|
6
|
+
ul = ~ui1;
|
7
|
+
|
8
|
+
ul = ui1 * ui2;
|
9
|
+
ul = ui1 / ui2;
|
10
|
+
ul = ui1 % ui2;
|
11
|
+
|
12
|
+
ul = ui1 + ui2;
|
13
|
+
ul = ui1 - ui2;
|
14
|
+
|
15
|
+
ul = ui1 & uib;
|
16
|
+
ul = ui1 | uib;
|
17
|
+
ul = ui1 ^ ui2;
|
18
|
+
|
19
|
+
ul = ui1 << 1;
|
20
|
+
ul = ui1 >> 1;
|
21
|
+
|
22
|
+
ul = ~uc1;
|
23
|
+
|
24
|
+
ul = uc1 * uc2;
|
25
|
+
ul = uc1 / uc2;
|
26
|
+
ul = uc1 % uc2;
|
27
|
+
|
28
|
+
ul = uc1 + uc2;
|
29
|
+
ul = uc1 - uc2;
|
30
|
+
|
31
|
+
ul = uc1 & ucb;
|
32
|
+
ul = uc1 | ucb;
|
33
|
+
ul = uc1 ^ uc2;
|
34
|
+
|
35
|
+
ul = uc1 << 1;
|
36
|
+
ul = uc1 >> 1;
|
37
|
+
|
38
|
+
ul = (unsigned long) (~uc1);
|
39
|
+
|
40
|
+
ul = (unsigned long) (uc1 * uc2);
|
41
|
+
ul = (unsigned long) (uc1 / uc2);
|
42
|
+
ul = (unsigned long) (uc1 % uc2);
|
43
|
+
|
44
|
+
ul = (unsigned long) (uc1 + uc2);
|
45
|
+
ul = (unsigned long) (uc1 - uc2);
|
46
|
+
|
47
|
+
ul = (unsigned long) (uc1 & uc2);
|
48
|
+
ul = (unsigned long) (uc1 | uc2);
|
49
|
+
ul = (unsigned long) (uc1 ^ uc2);
|
50
|
+
|
51
|
+
ul = (unsigned long) (uc1 << 1);
|
52
|
+
ul = (unsigned long) (uc1 >> 1);
|
53
|
+
}
|
54
|
+
|
55
|
+
void bar(void)
|
56
|
+
{
|
57
|
+
unsigned char uc = -1;
|
58
|
+
|
59
|
+
uc = -2;
|
60
|
+
}
|
@@ -0,0 +1,49 @@
|
|
1
|
+
extern struct Foo ga1[3];
|
2
|
+
extern union Bar ga2[3];
|
3
|
+
extern void ga3[3];
|
4
|
+
extern int ga4[3][];
|
5
|
+
extern int ga5[][3];
|
6
|
+
|
7
|
+
extern int ga6[3]();
|
8
|
+
extern int ga7[3](int);
|
9
|
+
extern int (*ga8[3])(long);
|
10
|
+
|
11
|
+
static struct Foo a1[3];
|
12
|
+
static union Bar a2[3];
|
13
|
+
static void a3[3];
|
14
|
+
static int a4[3][];
|
15
|
+
static int a5[][3];
|
16
|
+
|
17
|
+
static int a6[3]();
|
18
|
+
static int a7[3](int);
|
19
|
+
static int (*a8[3])(long);
|
20
|
+
|
21
|
+
void foo(const union Bar *p1, const union Bar * const p2)
|
22
|
+
{
|
23
|
+
*p1 = *p2;
|
24
|
+
p1[0] = p2[0];
|
25
|
+
p1->i = p2->i;
|
26
|
+
p1 = p2;
|
27
|
+
}
|
28
|
+
|
29
|
+
void bar(const struct Foo *p1, const struct Foo * const p2)
|
30
|
+
{
|
31
|
+
*p1 = *p2;
|
32
|
+
p1[0] = p2[0];
|
33
|
+
p1->i = p2->i;
|
34
|
+
p1 = p2;
|
35
|
+
}
|
36
|
+
|
37
|
+
void baz(void)
|
38
|
+
{
|
39
|
+
int a9[];
|
40
|
+
const int a10[];
|
41
|
+
struct Foo f1;
|
42
|
+
const struct Foo f2;
|
43
|
+
union Bar b1;
|
44
|
+
const union Bar b2;
|
45
|
+
void v1;
|
46
|
+
const void v2;
|
47
|
+
int i1;
|
48
|
+
const int i2;
|
49
|
+
}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
#include "indirect_recur_1.h"
|
2
|
+
|
3
|
+
extern void exit(int);
|
4
|
+
extern void (*signal(int, void (*)(int)))(int);
|
5
|
+
#define SIGINT (1)
|
6
|
+
|
7
|
+
static void handler(int signo)
|
8
|
+
{
|
9
|
+
exit(1);
|
10
|
+
}
|
11
|
+
|
12
|
+
/*
|
13
|
+
* main(indirect_recur_4.c)
|
14
|
+
* -> *func_1(indirect_recur_1.c) <-------+-------+
|
15
|
+
* -> foo(indirect_recur_1.c) | |
|
16
|
+
* -> *func_2(indirect_recur_2.c) | |
|
17
|
+
* -> *foo(indirect_recur_2.c)--+ |
|
18
|
+
* -> *func_3(indirect_recur_3.c)--+
|
19
|
+
*/
|
20
|
+
|
21
|
+
int main(void)
|
22
|
+
{
|
23
|
+
signal(SIGINT, handler);
|
24
|
+
return func_1(g);
|
25
|
+
}
|
@@ -0,0 +1,76 @@
|
|
1
|
+
#include "intro_demo.h"
|
2
|
+
#include "useless_header.h"
|
3
|
+
|
4
|
+
static int foo(void)
|
5
|
+
{
|
6
|
+
int i = rand();
|
7
|
+
|
8
|
+
if (i < 0) {
|
9
|
+
unsigned * const p = (unsigned *) malloc(sizeof(unsigned));
|
10
|
+
unsigned int ui;
|
11
|
+
|
12
|
+
if (p != NULL) {
|
13
|
+
*p = 0U;
|
14
|
+
}
|
15
|
+
/* No malloc() error handling in the else branch */
|
16
|
+
|
17
|
+
ui = *p; /* Dereferencing a NULL pointer when malloc() failed */
|
18
|
+
|
19
|
+
switch (i) {
|
20
|
+
case -5:
|
21
|
+
i = -1;
|
22
|
+
ui = 0U;
|
23
|
+
break;
|
24
|
+
/* Control never reaches to this "case 10:" clause because "i" is less
|
25
|
+
than 0 at this point */
|
26
|
+
case 10:
|
27
|
+
ui = 100U;
|
28
|
+
break;
|
29
|
+
default:
|
30
|
+
ui = 0U;
|
31
|
+
break;
|
32
|
+
}
|
33
|
+
|
34
|
+
/* Control never reaches to this if-body-statement because
|
35
|
+
* usual-arithmetic-conversion makes "i < ui" into
|
36
|
+
* "(unsigned int) i < ui" and then the value of "i" which is less than
|
37
|
+
* 0 will be converted into a new value which is greater than 0 because
|
38
|
+
* of the wrap-around.
|
39
|
+
* So, the expression ("a value greater than 0" < 0) makes always false
|
40
|
+
*/
|
41
|
+
if (i < ui) {
|
42
|
+
/* exit() standard function terminates this execution path */
|
43
|
+
exit(0);
|
44
|
+
}
|
45
|
+
}
|
46
|
+
else {
|
47
|
+
/* "i" is greater than or equal to 0 at this point */
|
48
|
+
unsigned j = 10 / i;
|
49
|
+
|
50
|
+
if (i < 1) {
|
51
|
+
j = 3 / i; /* "i" is equal to 0 at this point */
|
52
|
+
}
|
53
|
+
|
54
|
+
if (i <= 0x0FFFFFFF) {
|
55
|
+
i <<= 3;
|
56
|
+
}
|
57
|
+
else {
|
58
|
+
i = i << 1; /* "i" is greater than or equal to 0x10000000 */
|
59
|
+
}
|
60
|
+
|
61
|
+
/* abort() standard function terminates this execution path */
|
62
|
+
abort();
|
63
|
+
}
|
64
|
+
|
65
|
+
/* Control never reaches to this if-body-statement because "i" is less than
|
66
|
+
0 and not equal to -5 at this point */
|
67
|
+
if (i == -5) {
|
68
|
+
abort();
|
69
|
+
}
|
70
|
+
|
71
|
+
return i;
|
72
|
+
}
|
73
|
+
|
74
|
+
static inline int bar(void) { return 0; }
|
75
|
+
|
76
|
+
int main(void) { return foo(); }
|
@@ -0,0 +1,32 @@
|
|
1
|
+
int baz(i)
|
2
|
+
const int i;
|
3
|
+
{
|
4
|
+
return i;
|
5
|
+
}
|
6
|
+
|
7
|
+
int main(void)
|
8
|
+
{
|
9
|
+
const short s = 0;
|
10
|
+
const int i = 0;
|
11
|
+
|
12
|
+
foo(s);
|
13
|
+
foo(i);
|
14
|
+
foo(s, i);
|
15
|
+
|
16
|
+
bar(s);
|
17
|
+
bar(i);
|
18
|
+
bar(s, i);
|
19
|
+
|
20
|
+
baz(s);
|
21
|
+
baz(i);
|
22
|
+
baz(s, i);
|
23
|
+
|
24
|
+
return 0;
|
25
|
+
}
|
26
|
+
|
27
|
+
extern int foo(int);
|
28
|
+
|
29
|
+
static int bar(const int i)
|
30
|
+
{
|
31
|
+
return i;
|
32
|
+
}
|
@@ -0,0 +1,36 @@
|
|
1
|
+
extern int foo(void);
|
2
|
+
|
3
|
+
static inline void bar(const int x, int y)
|
4
|
+
{
|
5
|
+
if ((x == 0) && (y == 0)) {
|
6
|
+
}
|
7
|
+
|
8
|
+
if ((x > 0) && (y++ < 0)) {
|
9
|
+
}
|
10
|
+
|
11
|
+
if ((x < 0) && foo()) {
|
12
|
+
}
|
13
|
+
|
14
|
+
{
|
15
|
+
int i;
|
16
|
+
|
17
|
+
i = !(x || y);
|
18
|
+
i = !(x | b);
|
19
|
+
|
20
|
+
i = !(x && b);
|
21
|
+
i = !(x & b);
|
22
|
+
}
|
23
|
+
|
24
|
+
{
|
25
|
+
int i;
|
26
|
+
|
27
|
+
i = ~((x > y) && (x > 5));
|
28
|
+
i = !((x > b) && (x > 5));
|
29
|
+
}
|
30
|
+
}
|
31
|
+
|
32
|
+
static int baz(const int x, const int y)
|
33
|
+
{
|
34
|
+
(x && y) || 0;
|
35
|
+
return 0;
|
36
|
+
}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
extern int verylonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglongsymbol1_decl;
|
2
|
+
extern int verylonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglongsymbol2_decl;
|
3
|
+
|
4
|
+
extern int verylonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglongsymbol1_def = 0;
|
5
|
+
extern int verylonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglongsymbol2_def = 0;
|
@@ -0,0 +1,92 @@
|
|
1
|
+
int foo(void)
|
2
|
+
{
|
3
|
+
int i;
|
4
|
+
int ii;
|
5
|
+
|
6
|
+
for (i = 0; i < 10; i++)
|
7
|
+
;
|
8
|
+
for (ii = 0; i < 10; i++)
|
9
|
+
;
|
10
|
+
for (i = 0, ii = 0; ii < 10; ii++)
|
11
|
+
;
|
12
|
+
|
13
|
+
return i;
|
14
|
+
}
|
15
|
+
|
16
|
+
void bar(void)
|
17
|
+
{
|
18
|
+
int i;
|
19
|
+
int j;
|
20
|
+
int k = 0;
|
21
|
+
|
22
|
+
for (i = 0; i < 10; k = k + 1) {
|
23
|
+
i++;
|
24
|
+
}
|
25
|
+
|
26
|
+
for (i = 0; i < 10; i++) {
|
27
|
+
i++;
|
28
|
+
}
|
29
|
+
|
30
|
+
for (j = 0; j < 10; j++) {
|
31
|
+
if (j == 5) {
|
32
|
+
j++;
|
33
|
+
}
|
34
|
+
if (j == 15) {
|
35
|
+
j++;
|
36
|
+
}
|
37
|
+
if (j == -15) {
|
38
|
+
j++;
|
39
|
+
}
|
40
|
+
}
|
41
|
+
|
42
|
+
for (j = 0; ; j++) {
|
43
|
+
if (j < 0) {
|
44
|
+
j++;
|
45
|
+
}
|
46
|
+
if (j == 3) {
|
47
|
+
j++;
|
48
|
+
}
|
49
|
+
if (j == 5) {
|
50
|
+
LABEL:
|
51
|
+
break;
|
52
|
+
}
|
53
|
+
}
|
54
|
+
}
|
55
|
+
|
56
|
+
void baz(void)
|
57
|
+
{
|
58
|
+
int i;
|
59
|
+
int j = 0;
|
60
|
+
|
61
|
+
for (i = 0; i < 5; ) {
|
62
|
+
++i;
|
63
|
+
}
|
64
|
+
|
65
|
+
for (i = 0; i < 5; j++) {
|
66
|
+
i++;
|
67
|
+
}
|
68
|
+
|
69
|
+
for (i = 0; i < 5; ++j) {
|
70
|
+
i++;
|
71
|
+
}
|
72
|
+
|
73
|
+
for (i = 0; i < 5; j--) {
|
74
|
+
i++;
|
75
|
+
}
|
76
|
+
|
77
|
+
for (i = 0; i < 5; --j) {
|
78
|
+
i++;
|
79
|
+
}
|
80
|
+
|
81
|
+
for (i = 0; i < 5; j = i + j) {
|
82
|
+
++i;
|
83
|
+
}
|
84
|
+
|
85
|
+
for (i = 0; i < 5; j += 2) {
|
86
|
+
i++;
|
87
|
+
}
|
88
|
+
|
89
|
+
for (i = 0; i < 5; j -= 2) {
|
90
|
+
++i;
|
91
|
+
}
|
92
|
+
}
|
@@ -0,0 +1,43 @@
|
|
1
|
+
extern void *malloc(int);
|
2
|
+
|
3
|
+
int main(void)
|
4
|
+
{
|
5
|
+
char *p;
|
6
|
+
|
7
|
+
p = (char *) malloc(10);
|
8
|
+
if (p == NULL) {
|
9
|
+
return 2;
|
10
|
+
}
|
11
|
+
*p = (char) 1;
|
12
|
+
|
13
|
+
p = (char *) malloc(10);
|
14
|
+
if (p == NULL) {
|
15
|
+
return 2;
|
16
|
+
}
|
17
|
+
else {
|
18
|
+
*p = (char) 1;
|
19
|
+
}
|
20
|
+
|
21
|
+
p = (char *) malloc(10);
|
22
|
+
if (p == NULL) {
|
23
|
+
return 2;
|
24
|
+
}
|
25
|
+
else if (p == NULL) {
|
26
|
+
*p = (char) 0;
|
27
|
+
}
|
28
|
+
else {
|
29
|
+
*p = (char) 1;
|
30
|
+
}
|
31
|
+
|
32
|
+
*p = (char) 3;
|
33
|
+
|
34
|
+
p = (char *) malloc(10);
|
35
|
+
switch (p) {
|
36
|
+
case NULL:
|
37
|
+
return 4;
|
38
|
+
default:
|
39
|
+
*p = (char) 5;
|
40
|
+
}
|
41
|
+
|
42
|
+
return *p;
|
43
|
+
}
|
@@ -0,0 +1,52 @@
|
|
1
|
+
#define NULL (0)
|
2
|
+
|
3
|
+
extern int *may_return_null(void);
|
4
|
+
extern int rand(void);
|
5
|
+
|
6
|
+
int main(void)
|
7
|
+
{
|
8
|
+
int i;
|
9
|
+
int *p = NULL;
|
10
|
+
|
11
|
+
i = *(int *)(NULL);
|
12
|
+
|
13
|
+
*p = 1; /* p is obviously NULL */
|
14
|
+
|
15
|
+
p = may_return_null();
|
16
|
+
|
17
|
+
*p = 2; /* p is NULL when may_return_null() returns NULL */
|
18
|
+
|
19
|
+
if (rand() == 1) {
|
20
|
+
p = &i;
|
21
|
+
*p = 3; /* p points to i in this path */
|
22
|
+
}
|
23
|
+
|
24
|
+
*p = 4; /* p is NULL when rand() returns != 1 */
|
25
|
+
|
26
|
+
switch (rand()) {
|
27
|
+
case 0:
|
28
|
+
p = &i;
|
29
|
+
break;
|
30
|
+
case 1:
|
31
|
+
p = NULL;
|
32
|
+
break;
|
33
|
+
default:
|
34
|
+
return 0;
|
35
|
+
}
|
36
|
+
|
37
|
+
*p = 5; /* p is NULL when rand() returns 1 */
|
38
|
+
|
39
|
+
for (i = 0; i < rand(); ++i) {
|
40
|
+
p = &i;
|
41
|
+
}
|
42
|
+
|
43
|
+
*p = 6; /* p is NULL when rand() returns 0 */
|
44
|
+
|
45
|
+
while (rand() < 1) {
|
46
|
+
p = &i;
|
47
|
+
}
|
48
|
+
|
49
|
+
*p = 7; /* p is NULL when rand() returns >= 1 */
|
50
|
+
|
51
|
+
return *p;
|
52
|
+
}
|