[cfe-commits] r151848 - in /cfe/trunk: include/clang/Frontend/AnalyzerOptions.h lib/Driver/Tools.cpp lib/Frontend/CompilerInvocation.cpp test/Analysis/misc-ps-region-store.m
Anna Zaks
ganna at apple.com
Thu Mar 1 14:37:47 PST 2012
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
}
More information about the cfe-commits
mailing list