How do you turn /off/ inlining? Where does Opts.InlineCall get set to 0? Jordy
On Mar 2, 2012, at 5:37, Anna Zaks wrote: > Author: zaks > Date: Thu Mar 1 16:37:46 2012 > New Revision: 151848 > > URL: http://llvm.org/viewvc/llvm-project?rev=151848&view=rev > Log: > [analyzer] Turn inlining on by default for better testing exposure. > > Fix a test, which was most likely an unintended recursive call. > > Modified: > cfe/trunk/include/clang/Frontend/AnalyzerOptions.h > cfe/trunk/lib/Driver/Tools.cpp > cfe/trunk/lib/Frontend/CompilerInvocation.cpp > cfe/trunk/test/Analysis/misc-ps-region-store.m > > Modified: cfe/trunk/include/clang/Frontend/AnalyzerOptions.h > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/AnalyzerOptions.h?rev=151848&r1=151847&r2=151848&view=diff > ============================================================================== > --- cfe/trunk/include/clang/Frontend/AnalyzerOptions.h (original) > +++ cfe/trunk/include/clang/Frontend/AnalyzerOptions.h Thu Mar 1 16:37:46 > 2012 > @@ -100,7 +100,7 @@ > TrimGraph = 0; > VisualizeEGDot = 0; > VisualizeEGUbi = 0; > - InlineCall = 0; > + InlineCall = 1; > UnoptimizedCFG = 0; > CFGAddImplicitDtors = 0; > CFGAddInitializers = 0; > > Modified: cfe/trunk/lib/Driver/Tools.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=151848&r1=151847&r2=151848&view=diff > ============================================================================== > --- cfe/trunk/lib/Driver/Tools.cpp (original) > +++ cfe/trunk/lib/Driver/Tools.cpp Thu Mar 1 16:37:46 2012 > @@ -1339,6 +1339,8 @@ > > CmdArgs.push_back("-analyzer-eagerly-assume"); > > + CmdArgs.push_back("-analyzer-inline-call"); > + > // Add default argument set. > if (!Args.hasArg(options::OPT__analyzer_no_default_checks)) { > CmdArgs.push_back("-analyzer-checker=core"); > > Modified: cfe/trunk/lib/Frontend/CompilerInvocation.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/CompilerInvocation.cpp?rev=151848&r1=151847&r2=151848&view=diff > ============================================================================== > --- cfe/trunk/lib/Frontend/CompilerInvocation.cpp (original) > +++ cfe/trunk/lib/Frontend/CompilerInvocation.cpp Thu Mar 1 16:37:46 2012 > @@ -1044,7 +1044,8 @@ > Opts.MaxNodes = Args.getLastArgIntValue(OPT_analyzer_max_nodes, > 150000,Diags); > Opts.MaxLoop = Args.getLastArgIntValue(OPT_analyzer_max_loop, 4, Diags); > Opts.EagerlyTrimEGraph = !Args.hasArg(OPT_analyzer_no_eagerly_trim_egraph); > - Opts.InlineCall = Args.hasArg(OPT_analyzer_inline_call); > + if (Args.hasArg(OPT_analyzer_inline_call)) > + Opts.InlineCall = 1; > Opts.PrintStats = Args.hasArg(OPT_analyzer_stats); > > Opts.CheckersControlList.clear(); > > Modified: cfe/trunk/test/Analysis/misc-ps-region-store.m > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/misc-ps-region-store.m?rev=151848&r1=151847&r2=151848&view=diff > ============================================================================== > --- cfe/trunk/test/Analysis/misc-ps-region-store.m (original) > +++ cfe/trunk/test/Analysis/misc-ps-region-store.m Thu Mar 1 16:37:46 2012 > @@ -294,9 +294,11 @@ > struct ArrayWrapper { unsigned char y[16]; }; > struct WrappedStruct { unsigned z; }; > > +void test_handle_array_wrapper_helper(); > + > int test_handle_array_wrapper() { > struct ArrayWrapper x; > - test_handle_array_wrapper(&x); > + test_handle_array_wrapper_helper(&x); > struct WrappedStruct *p = (struct WrappedStruct*) x.y; // > expected-warning{{Casting a non-structure type to a structure type and > accessing a field can lead to memory access errors or data corruption.}} > return p->z; // no-warning > } > > > _______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
