]> granicus.if.org Git - clang/commitdiff
Block level expr should be visited. Otherwise variables in init expr of
authorZhongxing Xu <xuzhongxing@gmail.com>
Tue, 30 Jun 2009 12:11:58 +0000 (12:11 +0000)
committerZhongxing Xu <xuzhongxing@gmail.com>
Tue, 30 Jun 2009 12:11:58 +0000 (12:11 +0000)
DeclStmt would be dead before the DeclStmt.
For example:
int x = 0;
int y = x;
'x' would be dead before 'int y = x'.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74522 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Analysis/LiveVariables.cpp

index b0eb37b06524470a1fc8a7a3c4f700659799d185..b354566db02fd1a536cbe9b44f1f76652f3b4e79 100644 (file)
@@ -135,9 +135,11 @@ void TransferFuncs::Visit(Stmt *S) {
     StmtVisitor<TransferFuncs,void>::Visit(S);
     
   }
-  else
+  else {
     // For block-level expressions, mark that they are live.
     LiveState(S,AD) = Alive;
+    StmtVisitor<TransferFuncs,void>::Visit(S);
+  }
 }
   
 void TransferFuncs::VisitTerminator(CFGBlock* B) {