diff options
author | Kaelyn Takata <rikka@google.com> | 2015-03-27 01:44:47 +0000 |
---|---|---|
committer | Kaelyn Takata <rikka@google.com> | 2015-03-27 01:44:47 +0000 |
commit | 92565b51aa25b7a15bcdfb628bc616866af194fb (patch) | |
tree | 05f54ec9e49a853309bde9a4c13812e62723749f /clang/lib/Parse/ParseExpr.cpp | |
parent | 821880a7a10b67816c8599eda21797addb88c4a3 (diff) | |
download | bcm5719-llvm-92565b51aa25b7a15bcdfb628bc616866af194fb.tar.gz bcm5719-llvm-92565b51aa25b7a15bcdfb628bc616866af194fb.zip |
Diagnose delayed typos in an expr list that is in an invalid expression.
Previously, if the expr list parsed fine but the expr to the left of the
open parenthesis was invalid (when parsing the suffix of a
postfix-expression), the parsed expr list was just ignored.
Fixes PR23005.
llvm-svn: 233347
Diffstat (limited to 'clang/lib/Parse/ParseExpr.cpp')
-rw-r--r-- | clang/lib/Parse/ParseExpr.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/lib/Parse/ParseExpr.cpp b/clang/lib/Parse/ParseExpr.cpp index b9127e90457..72af14d068f 100644 --- a/clang/lib/Parse/ParseExpr.cpp +++ b/clang/lib/Parse/ParseExpr.cpp @@ -1459,6 +1459,9 @@ Parser::ParsePostfixExpressionSuffix(ExprResult LHS) { })) { (void)Actions.CorrectDelayedTyposInExpr(LHS); LHS = ExprError(); + } else if (LHS.isInvalid()) { + for (auto &E : ArgExprs) + Actions.CorrectDelayedTyposInExpr(E); } } } |