]> granicus.if.org Git - clang/commitdiff
Always add CallExpr as block-level expression. Inline-based interprocedural
authorZhongxing Xu <xuzhongxing@gmail.com>
Wed, 24 Feb 2010 02:19:28 +0000 (02:19 +0000)
committerZhongxing Xu <xuzhongxing@gmail.com>
Wed, 24 Feb 2010 02:19:28 +0000 (02:19 +0000)
analysis needs this.

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

lib/Analysis/CFG.cpp
test/Sema/warn-unreachable.c
test/SemaCXX/warn-unreachable.cpp

index 5b8aeae5d1c50c99148ffcf1a680a385cd61c226..d4f64bc17869d66c2230b6ef893314a726a7736a 100644 (file)
@@ -589,7 +589,7 @@ CFGBlock *CFGBuilder::VisitCallExpr(CallExpr *C, AddStmtChoice asc) {
     AddEHEdge = false;
 
   if (!NoReturn && !AddEHEdge)
-    return VisitStmt(C, asc);
+    return VisitStmt(C, AddStmtChoice::AlwaysAdd);
 
   if (Block) {
     Succ = Block;
index 1eef6371336064bc496f1285c3ccb0f733f94a60..10ed6961a556285c72d68fe67ad2712a9953ca35 100644 (file)
@@ -35,8 +35,8 @@ void test2() {
       dead();   // expected-warning {{will never be executed}}
 
   case 3:
-  live()
-    +           // expected-warning {{will never be executed}}
+  live()        // expected-warning {{will never be executed}}
+    +           
     halt();
   dead();
 
index a7ed91d6e27b0be12f0852ad14be2d0c5411bdb7..01b36de5712de2936acf997cfdd43c5a3bd6d635 100644 (file)
@@ -52,8 +52,8 @@ void test4() {
     int mem;
   } s;
   S &foor();
-  halt(), foor()
-    .mem;       // expected-warning {{will never be executed}}
+  halt(), foor()// expected-warning {{will never be executed}}
+    .mem;       
 }
 
 void test5() {