diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2012-05-10 20:02:36 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2012-05-10 20:02:36 +0000 |
commit | edd27602f9cede4fee2c81c785b8f295c9d28752 (patch) | |
tree | 4bbe93a150db788d7cfabeaa8a76634ca539d977 /lib/Parse/ParseObjc.cpp | |
parent | 36faaddccf519231a3facd26495e895ba5a28776 (diff) |
Don't crash when using objc boxed expression with parsing error.
rdar://11426994
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156565 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Parse/ParseObjc.cpp')
-rw-r--r-- | lib/Parse/ParseObjc.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/Parse/ParseObjc.cpp b/lib/Parse/ParseObjc.cpp index 0d9a54e638..9aca5cd539 100644 --- a/lib/Parse/ParseObjc.cpp +++ b/lib/Parse/ParseObjc.cpp @@ -2598,7 +2598,10 @@ Parser::ParseObjCBoxedExpr(SourceLocation AtLoc) { ExprResult ValueExpr(ParseAssignmentExpression()); if (T.consumeClose()) return ExprError(); - + + if (ValueExpr.isInvalid()) + return ExprError(); + // Wrap the sub-expression in a parenthesized expression, to distinguish // a boxed expression from a literal. SourceLocation LPLoc = T.getOpenLocation(), RPLoc = T.getCloseLocation(); |