aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--AST/CFG.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/AST/CFG.cpp b/AST/CFG.cpp
index 335d833e26..431b2e23af 100644
--- a/AST/CFG.cpp
+++ b/AST/CFG.cpp
@@ -656,7 +656,7 @@ CFGBlock* CFGBuilder::VisitForStmt(ForStmt* F) {
CFGBlock* BodyBlock = Visit(F->getBody());
if (!BodyBlock)
- BodyBlock = ExitConditionBlock; // can happen for "for (...;...; ) ;"
+ BodyBlock = EntryConditionBlock; // can happen for "for (...;...; ) ;"
else if (Block)
FinishBlock(BodyBlock);
@@ -710,6 +710,7 @@ CFGBlock* CFGBuilder::VisitWhileStmt(WhileStmt* W) {
if (Stmt* C = W->getCond()) {
Block = ExitConditionBlock;
EntryConditionBlock = addStmt(C);
+ assert (Block == EntryConditionBlock);
if (Block) FinishBlock(EntryConditionBlock);
}
@@ -739,7 +740,7 @@ CFGBlock* CFGBuilder::VisitWhileStmt(WhileStmt* W) {
CFGBlock* BodyBlock = Visit(W->getBody());
if (!BodyBlock)
- BodyBlock = ExitConditionBlock; // can happen for "while(...) ;"
+ BodyBlock = EntryConditionBlock; // can happen for "while(...) ;"
else if (Block)
FinishBlock(BodyBlock);
@@ -817,7 +818,7 @@ CFGBlock* CFGBuilder::VisitDoStmt(DoStmt* D) {
BodyBlock = Visit(D->getBody());
if (!BodyBlock)
- BodyBlock = ExitConditionBlock; // can happen for "do ; while(...)"
+ BodyBlock = EntryConditionBlock; // can happen for "do ; while(...)"
else if (Block)
FinishBlock(BodyBlock);