]> granicus.if.org Git - clang/commitdiff
Fix ICE in consumed analysis when CFG is null.
authorDeLesley Hutchins <delesley@google.com>
Tue, 10 Sep 2013 23:10:10 +0000 (23:10 +0000)
committerDeLesley Hutchins <delesley@google.com>
Tue, 10 Sep 2013 23:10:10 +0000 (23:10 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@190447 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Analysis/Consumed.cpp

index b540d75898da5e01db0a85b15387403e59fd1053..7cd029020a2a3db83113f290e2937d916dcaed08 100644 (file)
@@ -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>();