From: Anna Zaks Date: Thu, 30 Aug 2012 22:42:59 +0000 (+0000) Subject: [analyzer] Make analyzer-ipa=dynamic-bifurcate the default. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3f2a55d81983577c85c03f6b9844f51c566c785b;p=clang [analyzer] Make analyzer-ipa=dynamic-bifurcate the default. There are two tests regressions that come from the fact that the Retain Count checker does not cancel out inlining of ObjC methods. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162950 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/docs/analyzer/IPA.txt b/docs/analyzer/IPA.txt index 071727f055..90c92270bf 100644 --- a/docs/analyzer/IPA.txt +++ b/docs/analyzer/IPA.txt @@ -23,7 +23,7 @@ Inlining does not drop the coverage in cases when the parent class has code that is only exercised when some of its methods are overridden. -Currently, -analyzer-ipa=basic-inlining is the default mode. +Currently, -analyzer-ipa=dynamic-bifurcate is the default mode. Basics of Implementation ----------------------- diff --git a/include/clang/StaticAnalyzer/AnalyzerOptions.h b/include/clang/StaticAnalyzer/AnalyzerOptions.h index 6810346cbe..0fb308db25 100644 --- a/include/clang/StaticAnalyzer/AnalyzerOptions.h +++ b/include/clang/StaticAnalyzer/AnalyzerOptions.h @@ -144,7 +144,7 @@ public: AnalysisConstraintsOpt = RangeConstraintsModel; AnalysisDiagOpt = PD_HTML; AnalysisPurgeOpt = PurgeStmt; - IPAMode = BasicInlining; + IPAMode = DynamicDispatchBifurcate; ShowCheckerHelp = 0; AnalyzeAll = 0; AnalyzerDisplayProgress = 0; diff --git a/lib/Frontend/CompilerInvocation.cpp b/lib/Frontend/CompilerInvocation.cpp index e4deed9ebc..17b22f3ae6 100644 --- a/lib/Frontend/CompilerInvocation.cpp +++ b/lib/Frontend/CompilerInvocation.cpp @@ -147,7 +147,7 @@ static void AnalyzerOptsToArgs(const AnalyzerOptions &Opts, ToArgsList &Res) { getAnalysisPurgeModeName(Opts.AnalysisPurgeOpt)); if (!Opts.AnalyzeSpecificFunction.empty()) Res.push_back("-analyze-function", Opts.AnalyzeSpecificFunction); - if (Opts.IPAMode != BasicInlining) + if (Opts.IPAMode != DynamicDispatchBifurcate) Res.push_back("-analyzer-ipa", getAnalysisIPAModeName(Opts.IPAMode)); if (Opts.InliningMode != NoRedundancy) Res.push_back("-analyzer-inlining-mode", diff --git a/test/Analysis/retain-release.m b/test/Analysis/retain-release.m index 4280d69ba5..49a6bce4f3 100644 --- a/test/Analysis/retain-release.m +++ b/test/Analysis/retain-release.m @@ -828,8 +828,8 @@ int RDar6320065_test() { @end void test_RDar6859457(RDar6859457 *x, void *bytes, NSUInteger dataLength) { - [x NoCopyString]; // no-warning - [x noCopyString]; // no-warning + [x NoCopyString]; // expected-warning{{leak}} + [x noCopyString]; // expected-warning{{leak}} [NSData dataWithBytesNoCopy:bytes length:dataLength]; // no-warning [NSData dataWithBytesNoCopy:bytes length:dataLength freeWhenDone:1]; // no-warning }