Small bug fix in CFG construction: the active block for LabelStmts comes 
from "Block", not the CFGBlock* returned from visiting its subexpression.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48392 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/AST/CFG.cpp b/AST/CFG.cpp
index 9bafb05..e2aba6b 100644
--- a/AST/CFG.cpp
+++ b/AST/CFG.cpp
@@ -577,7 +577,8 @@
 
 CFGBlock* CFGBuilder::VisitLabelStmt(LabelStmt* L) {
   // Get the block of the labeled statement.  Add it to our map.
-  CFGBlock* LabelBlock = Visit(L->getSubStmt());
+  Visit(L->getSubStmt());
+  CFGBlock* LabelBlock = Block;
   
   if (!LabelBlock)            // This can happen when the body is empty, i.e.
     LabelBlock=createBlock(); // scopes that only contains NullStmts.
@@ -970,7 +971,7 @@
   // This block is now the implicit successor of other blocks.
   Succ = CaseBlock;
   
-  return CaseBlock;    
+  return CaseBlock;
 }
   
 CFGBlock* CFGBuilder::VisitDefaultStmt(DefaultStmt* S) {