summaryrefslogtreecommitdiffstats
path: root/clang/lib/Analysis/Consumed.cpp
diff options
context:
space:
mode:
authorDeLesley Hutchins <delesley@google.com>2013-09-10 23:10:10 +0000
committerDeLesley Hutchins <delesley@google.com>2013-09-10 23:10:10 +0000
commit85c07d9a9357268fc5701e2bbe8630777de50a73 (patch)
tree8383f1537cd1ec56895f7e14136b82283d76c13e /clang/lib/Analysis/Consumed.cpp
parentc1f1f852d7694f46af69b09769ca7979adfc452c (diff)
downloadbcm5719-llvm-85c07d9a9357268fc5701e2bbe8630777de50a73.tar.gz
bcm5719-llvm-85c07d9a9357268fc5701e2bbe8630777de50a73.zip
Fix ICE in consumed analysis when CFG is null.
llvm-svn: 190447
Diffstat (limited to 'clang/lib/Analysis/Consumed.cpp')
-rw-r--r--clang/lib/Analysis/Consumed.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/clang/lib/Analysis/Consumed.cpp b/clang/lib/Analysis/Consumed.cpp
index b540d75898d..7cd029020a2 100644
--- a/clang/lib/Analysis/Consumed.cpp
+++ b/clang/lib/Analysis/Consumed.cpp
@@ -1103,12 +1103,16 @@ bool ConsumedAnalyzer::splitState(const CFGBlock *CurrBlock,
void ConsumedAnalyzer::run(AnalysisDeclContext &AC) {
const FunctionDecl *D = dyn_cast_or_null<FunctionDecl>(AC.getDecl());
+ if (!D)
+ return;
- if (!D) return;
+ CFG *CFGraph = AC.getCFG();
+ if (!CFGraph)
+ return;
determineExpectedReturnState(AC, D);
- BlockInfo = ConsumedBlockInfo(AC.getCFG());
+ BlockInfo = ConsumedBlockInfo(CFGraph);
PostOrderCFGView *SortedGraph = AC.getAnalysis<PostOrderCFGView>();
OpenPOWER on IntegriCloud