[cfe-commits] r130377 - /cfe/trunk/lib/Parse/ParseStmt.cpp

Francois Pichet pichet2000 at gmail.com
Wed Apr 27 20:14:31 PDT 2011


Author: fpichet
Date: Wed Apr 27 22:14:31 2011
New Revision: 130377

URL: http://llvm.org/viewvc/llvm-project?rev=130377&view=rev
Log:
SEH was crashing under -fms-extensions.

Modified:
    cfe/trunk/lib/Parse/ParseStmt.cpp

Modified: cfe/trunk/lib/Parse/ParseStmt.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Parse/ParseStmt.cpp?rev=130377&r1=130376&r2=130377&view=diff
==============================================================================
--- cfe/trunk/lib/Parse/ParseStmt.cpp (original)
+++ cfe/trunk/lib/Parse/ParseStmt.cpp Wed Apr 27 22:14:31 2011
@@ -386,13 +386,18 @@
 
   ParseScope ExpectScope(this, Scope::DeclScope | Scope::ControlScope);
 
-  Ident__exception_info->setIsPoisoned(false);
-  Ident___exception_info->setIsPoisoned(false);
-  Ident_GetExceptionInfo->setIsPoisoned(false);
+  if (getLang().Borland) {
+    Ident__exception_info->setIsPoisoned(false);
+    Ident___exception_info->setIsPoisoned(false);
+    Ident_GetExceptionInfo->setIsPoisoned(false);
+  }
   ExprResult FilterExpr(ParseExpression());
-  Ident__exception_info->setIsPoisoned(true);
-  Ident___exception_info->setIsPoisoned(true);
-  Ident_GetExceptionInfo->setIsPoisoned(true);
+
+  if (getLang().Borland) {
+    Ident__exception_info->setIsPoisoned(true);
+    Ident___exception_info->setIsPoisoned(true);
+    Ident_GetExceptionInfo->setIsPoisoned(true);
+  }
 
   if(FilterExpr.isInvalid())
     return StmtError();





More information about the cfe-commits mailing list