summaryrefslogtreecommitdiffstats
path: root/clang/lib/Parse/ParseExpr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/Parse/ParseExpr.cpp')
-rw-r--r--clang/lib/Parse/ParseExpr.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/Parse/ParseExpr.cpp b/clang/lib/Parse/ParseExpr.cpp
index bbc7dadde8f..9719d857f39 100644
--- a/clang/lib/Parse/ParseExpr.cpp
+++ b/clang/lib/Parse/ParseExpr.cpp
@@ -1049,6 +1049,11 @@ ExprResult Parser::ParseCastExpression(bool isUnaryExpression,
// simple-type-specifier braced-init-list
//
DeclSpec DS(AttrFactory);
+
+ if (!Actions.isSimpleTypeSpecifier(Tok.getKind()))
+ // This can happen if we tried to recover from errors earlier.
+ return ExprError();
+
ParseCXXSimpleTypeSpecifier(DS);
if (Tok.isNot(tok::l_paren) &&
(!getLangOpts().CPlusPlus11 || Tok.isNot(tok::l_brace)))
OpenPOWER on IntegriCloud