Fixed bug in CFG construction when a CompoundStmt ended with a NullStmt.
This caused the whole body to get dropped from the CFG.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47579 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/AST/CFG.cpp b/AST/CFG.cpp
index bc45098..18c2074 100644
--- a/AST/CFG.cpp
+++ b/AST/CFG.cpp
@@ -447,17 +447,13 @@
}
CFGBlock* CFGBuilder::VisitCompoundStmt(CompoundStmt* C) {
- // The value returned from this function is the last created CFGBlock
- // that represents the "entry" point for the translated AST node.
- CFGBlock* LastBlock = 0;
-
- for (CompoundStmt::reverse_body_iterator I = C->body_rbegin(),
- E = C->body_rend(); I != E; ++I )
- // Add the statement to the current block.
- if (!(LastBlock=Visit(*I)))
- return NULL;
- return LastBlock;
+ for (CompoundStmt::reverse_body_iterator I=C->body_rbegin(), E=C->body_rend();
+ I != E; ++I ) {
+ Visit(*I);
+ }
+
+ return Block;
}
CFGBlock* CFGBuilder::VisitIfStmt(IfStmt* I) {