[cfe-commits] r60789 - /cfe/trunk/lib/Analysis/GRExprEngine.cpp

Ted Kremenek kremenek at apple.com
Tue Dec 9 12:18:58 PST 2008


Author: kremenek
Date: Tue Dec  9 14:18:58 2008
New Revision: 60789

URL: http://llvm.org/viewvc/llvm-project?rev=60789&view=rev
Log:
In GRExprEngine treat @throw as an 'abort' that ends the current path.  This is a temporary solution.

Modified:
    cfe/trunk/lib/Analysis/GRExprEngine.cpp

Modified: cfe/trunk/lib/Analysis/GRExprEngine.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Analysis/GRExprEngine.cpp?rev=60789&r1=60788&r2=60789&view=diff

==============================================================================
--- cfe/trunk/lib/Analysis/GRExprEngine.cpp (original)
+++ cfe/trunk/lib/Analysis/GRExprEngine.cpp Tue Dec  9 14:18:58 2008
@@ -377,6 +377,15 @@
       break;
     }
       
+    case Stmt::ObjCAtThrowStmtClass: {
+      // FIXME: This is not complete.  We basically treat @throw as
+      // an abort.
+      SaveAndRestore<bool> OldSink(Builder->BuildSinks);
+      Builder->BuildSinks = true;
+      MakeNode(Dst, S, Pred, GetState(Pred));
+      break;
+    }
+      
     case Stmt::ParenExprClass:
       Visit(cast<ParenExpr>(S)->getSubExpr()->IgnoreParens(), Pred, Dst);
       break;





More information about the cfe-commits mailing list