aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Driver/Tools.cpp3
-rwxr-xr-xtools/scan-build/ccc-analyzer1
2 files changed, 4 insertions, 0 deletions
diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp
index b10ad1e122..a89806a68e 100644
--- a/lib/Driver/Tools.cpp
+++ b/lib/Driver/Tools.cpp
@@ -647,6 +647,9 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
// Enable region store model by default.
CmdArgs.push_back("-analyzer-store=region");
+ // Treat blocks as analysis entry points.
+ CmdArgs.push_back("-analyzer-opt-analyze-nested-blocks");
+
// Add default argument set.
if (!Args.hasArg(options::OPT__analyzer_no_default_checks)) {
CmdArgs.push_back("-warn-dead-stores");
diff --git a/tools/scan-build/ccc-analyzer b/tools/scan-build/ccc-analyzer
index 25b9800574..8e3e26c068 100755
--- a/tools/scan-build/ccc-analyzer
+++ b/tools/scan-build/ccc-analyzer
@@ -159,6 +159,7 @@ sub Analyze {
push @CmdArgs,'-analyze';
push @CmdArgs,"-analyzer-display-progress";
push @CmdArgs,"-analyzer-eagerly-assume";
+ push @CmdArgs,"-analyzer-opt-analyze-nested-blocks";
push @CmdArgs,(split /\s/,$Analyses);
if (defined $ENV{"CCC_EXPERIMENTAL_CHECKS"}) {