diff options
author | DeLesley Hutchins <delesley@google.com> | 2013-09-10 23:10:10 +0000 |
---|---|---|
committer | DeLesley Hutchins <delesley@google.com> | 2013-09-10 23:10:10 +0000 |
commit | 85c07d9a9357268fc5701e2bbe8630777de50a73 (patch) | |
tree | 8383f1537cd1ec56895f7e14136b82283d76c13e /clang/lib/Analysis/Consumed.cpp | |
parent | c1f1f852d7694f46af69b09769ca7979adfc452c (diff) | |
download | bcm5719-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.cpp | 8 |
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>(); |