aboutsummaryrefslogtreecommitdiff
path: root/lib/Frontend/AnalysisConsumer.cpp
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2009-09-18 22:29:35 +0000
committerTed Kremenek <kremenek@apple.com>2009-09-18 22:29:35 +0000
commit75d03cffe20b5c945ef04eba208efb0437339997 (patch)
tree2d07869f3b89c1c792467754f0f9362c6d3bad2e /lib/Frontend/AnalysisConsumer.cpp
parente6e0361984b077d205e9a45d64257d41d2c788c8 (diff)
Fix regression introduced by r82198 that caused functions/methods with invalid CFGs to get analyzed.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82297 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Frontend/AnalysisConsumer.cpp')
-rw-r--r--lib/Frontend/AnalysisConsumer.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/Frontend/AnalysisConsumer.cpp b/lib/Frontend/AnalysisConsumer.cpp
index 0e25de4ff8..d078cb7978 100644
--- a/lib/Frontend/AnalysisConsumer.cpp
+++ b/lib/Frontend/AnalysisConsumer.cpp
@@ -301,7 +301,12 @@ static void ActionGRExprEngine(AnalysisManager& mgr, Decl *D,
// Display progress.
mgr.DisplayFunction(D);
- // Construct the analysis engine.
+ // Construct the analysis engine. We first query for the LiveVariables
+ // information to see if the CFG is valid.
+ // FIXME: Inter-procedural analysis will need to handle invalid CFGs.
+ if (!mgr.getLiveVariables(D))
+ return;
+
GRExprEngine Eng(mgr);
Eng.setTransferFunctions(tf);