forked from OSchip/llvm-project
[Parser] Only correct delayed typos when needed
ActOnBinOp corrects delayed typos when in C mode; don't correct them in that case. Fixes PR26700. Differential Revision: http://reviews.llvm.org/D20490 llvm-svn: 272587
This commit is contained in:
parent
f42103ce8b
commit
142a874890
|
@ -446,6 +446,10 @@ Parser::ParseRHSOfBinaryExpression(ExprResult LHS, prec::Level MinPrec) {
|
|||
|
||||
LHS = Actions.ActOnBinOp(getCurScope(), OpToken.getLocation(),
|
||||
OpToken.getKind(), LHS.get(), RHS.get());
|
||||
|
||||
// In this case, ActOnBinOp performed the CorrectDelayedTyposInExpr check.
|
||||
if (!getLangOpts().CPlusPlus)
|
||||
continue;
|
||||
} else {
|
||||
LHS = Actions.ActOnConditionalOp(OpToken.getLocation(), ColonLoc,
|
||||
LHS.get(), TernaryMiddle.get(),
|
||||
|
|
|
@ -57,3 +57,11 @@ void fn2() {
|
|||
}
|
||||
|
||||
int d = X ? d : L; // expected-error 2 {{use of undeclared identifier}}
|
||||
|
||||
int fn_with_ids() { ID = ID == ID >= ID ; } // expected-error 4 {{use of undeclared identifier}}
|
||||
|
||||
int fn_with_rs(int r) { r = TYPO + r * TYPO; } // expected-error 2 {{use of undeclared identifier}}
|
||||
|
||||
void fn_with_unknown(int a, int b) {
|
||||
fn_with_unknown(unknown, unknown | unknown); // expected-error 3 {{use of undeclared identifier}}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue