diff options
| -rw-r--r-- | clang/include/clang/Basic/DiagnosticLexKinds.td | 3 | ||||
| -rw-r--r-- | clang/lib/Lex/PPExpressions.cpp | 3 | ||||
| -rw-r--r-- | clang/lib/Lex/PPMacroExpansion.cpp | 12 |
3 files changed, 10 insertions, 8 deletions
diff --git a/clang/include/clang/Basic/DiagnosticLexKinds.td b/clang/include/clang/Basic/DiagnosticLexKinds.td index 136ac705c22..0edf376c52a 100644 --- a/clang/include/clang/Basic/DiagnosticLexKinds.td +++ b/clang/include/clang/Basic/DiagnosticLexKinds.td @@ -380,8 +380,7 @@ def err_pp_expected_eol : Error< "expected end of line in preprocessor expression">; def err_pp_defined_requires_identifier : Error< "operator 'defined' requires an identifier">; -def err_pp_missing_lparen : Error<"missing '(' after '%0'">; -def err_pp_missing_rparen : Error<"missing ')' after '%0'">; +def err_pp_expected_after : Error<"missing %1 after %0">; def err_pp_colon_without_question : Error<"':' without preceding '?'">; def err_pp_division_by_zero : Error< "division by zero in preprocessor expression">; diff --git a/clang/lib/Lex/PPExpressions.cpp b/clang/lib/Lex/PPExpressions.cpp index c561ec790e5..09d87de86b6 100644 --- a/clang/lib/Lex/PPExpressions.cpp +++ b/clang/lib/Lex/PPExpressions.cpp @@ -130,7 +130,8 @@ static bool EvaluateDefined(PPValue &Result, Token &PeekTok, DefinedTracker &DT, PP.LexUnexpandedNonComment(PeekTok); if (PeekTok.isNot(tok::r_paren)) { - PP.Diag(PeekTok.getLocation(), diag::err_pp_missing_rparen) << "defined"; + PP.Diag(PeekTok.getLocation(), diag::err_pp_expected_after) + << "'defined'" << tok::r_paren; PP.Diag(LParenLoc, diag::note_matching) << tok::l_paren; return true; } diff --git a/clang/lib/Lex/PPMacroExpansion.cpp b/clang/lib/Lex/PPMacroExpansion.cpp index 8ad11c0a6b9..5aefa5a7718 100644 --- a/clang/lib/Lex/PPMacroExpansion.cpp +++ b/clang/lib/Lex/PPMacroExpansion.cpp @@ -1080,7 +1080,7 @@ static bool EvaluateHasIncludeCommon(Token &Tok, if (Tok.isNot(tok::l_paren)) { // No '(', use end of last token. LParenLoc = PP.getLocForEndOfToken(LParenLoc); - PP.Diag(LParenLoc, diag::err_pp_missing_lparen) << II->getName(); + PP.Diag(LParenLoc, diag::err_pp_expected_after) << II << tok::l_paren; // If the next token looks like a filename or the start of one, // assume it is and process it as such. if (!Tok.is(tok::angle_string_literal) && !Tok.is(tok::string_literal) && @@ -1142,8 +1142,8 @@ static bool EvaluateHasIncludeCommon(Token &Tok, // Ensure we have a trailing ). if (Tok.isNot(tok::r_paren)) { - PP.Diag(PP.getLocForEndOfToken(FilenameLoc), diag::err_pp_missing_rparen) - << II->getName(); + PP.Diag(PP.getLocForEndOfToken(FilenameLoc), diag::err_pp_expected_after) + << II << tok::r_paren; PP.Diag(LParenLoc, diag::note_matching) << tok::l_paren; return false; } @@ -1201,7 +1201,8 @@ static bool EvaluateBuildingModule(Token &Tok, // Ensure we have a '('. if (Tok.isNot(tok::l_paren)) { - PP.Diag(Tok.getLocation(), diag::err_pp_missing_lparen) << II->getName(); + PP.Diag(Tok.getLocation(), diag::err_pp_expected_after) << II + << tok::l_paren; return false; } @@ -1225,7 +1226,8 @@ static bool EvaluateBuildingModule(Token &Tok, // Ensure we have a trailing ). if (Tok.isNot(tok::r_paren)) { - PP.Diag(Tok.getLocation(), diag::err_pp_missing_rparen) << II->getName(); + PP.Diag(Tok.getLocation(), diag::err_pp_expected_after) << II + << tok::r_paren; PP.Diag(LParenLoc, diag::note_matching) << tok::l_paren; return false; } |

