]> granicus.if.org Git - clang/commitdiff
improve error recovery for when type parsing fails.
authorChris Lattner <sabre@nondot.org>
Tue, 24 Mar 2009 17:21:43 +0000 (17:21 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 24 Mar 2009 17:21:43 +0000 (17:21 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67626 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Parse/ParseExpr.cpp

index b140046fe4363e67b383559923aa9f637799a39a..c0b28775ceeb892e90d131b4a5fff4d00f0cc1db 100644 (file)
@@ -1002,7 +1002,11 @@ Parser::OwningExprResult Parser::ParseBuiltinPrimaryExpression() {
   case tok::kw___builtin_offsetof: {
     SourceLocation TypeLoc = Tok.getLocation();
     TypeResult Ty = ParseTypeName();
-
+    if (Ty.isInvalid()) {
+      SkipUntil(tok::r_paren);
+      return ExprError();
+    }
+    
     if (ExpectAndConsume(tok::comma, diag::err_expected_comma, "",tok::r_paren))
       return ExprError();