From: Chris Lattner Date: Tue, 18 Nov 2008 21:48:13 +0000 (+0000) Subject: Remove the last of the old-style Preprocessor::Diag methods. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=204b2fed909b1eabea7aeb6caadd7cff718edee5;p=clang Remove the last of the old-style Preprocessor::Diag methods. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59554 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Lex/Preprocessor.h b/include/clang/Lex/Preprocessor.h index e23713d878..999ba3b4f3 100644 --- a/include/clang/Lex/Preprocessor.h +++ b/include/clang/Lex/Preprocessor.h @@ -399,12 +399,6 @@ public: /// position in the current buffer into a SourcePosition object for rendering. DiagnosticInfo Diag(SourceLocation Loc, unsigned DiagID); DiagnosticInfo Diag(const Token &Tok, unsigned DiagID); - void Diag(SourceLocation Loc, unsigned DiagID, const std::string &Msg); - void Diag(SourceLocation Loc, unsigned DiagID, const std::string &Msg, - const SourceRange &R1, const SourceRange &R2); - void Diag(SourceLocation Loc, unsigned DiagID, const SourceRange &R); - void Diag(SourceLocation Loc, unsigned DiagID, const SourceRange &R1, - const SourceRange &R2); /// getSpelling() - Return the 'spelling' of the Tok token. The spelling of a /// token is the characters used to represent the token in the source file diff --git a/lib/Lex/LiteralSupport.cpp b/lib/Lex/LiteralSupport.cpp index 34b59255ac..93e9524ee4 100644 --- a/lib/Lex/LiteralSupport.cpp +++ b/lib/Lex/LiteralSupport.cpp @@ -53,7 +53,7 @@ static unsigned ProcessCharEscape(const char *&ThisTokBuf, ResultChar = 8; break; case 'e': - PP.Diag(Loc, diag::ext_nonstandard_escape, "e"); + PP.Diag(Loc, diag::ext_nonstandard_escape) << "e"; ResultChar = 27; break; case 'f': @@ -135,16 +135,16 @@ static unsigned ProcessCharEscape(const char *&ThisTokBuf, case '(': case '{': case '[': case '%': // GCC accepts these as extensions. We warn about them as such though. if (!PP.getLangOptions().NoExtensions) { - PP.Diag(Loc, diag::ext_nonstandard_escape, - std::string()+(char)ResultChar); + PP.Diag(Loc, diag::ext_nonstandard_escape) + << std::string()+(char)ResultChar; break; } // FALL THROUGH. default: if (isgraph(ThisTokBuf[0])) { - PP.Diag(Loc, diag::ext_unknown_escape, std::string()+(char)ResultChar); + PP.Diag(Loc, diag::ext_unknown_escape) << std::string()+(char)ResultChar; } else { - PP.Diag(Loc, diag::ext_unknown_escape, "x"+llvm::utohexstr(ResultChar)); + PP.Diag(Loc, diag::ext_unknown_escape) << "x"+llvm::utohexstr(ResultChar); } break; } @@ -531,8 +531,8 @@ GetFloatValue(const llvm::fltSemantics &Format, bool* isExact) { } void NumericLiteralParser::Diag(SourceLocation Loc, unsigned DiagID, - const std::string &M) { - PP.Diag(Loc, DiagID, M); + const std::string &M) { + PP.Diag(Loc, DiagID) << M; hadError = true; } diff --git a/lib/Lex/PPDirectives.cpp b/lib/Lex/PPDirectives.cpp index a8dcc53589..07c5f8ea68 100644 --- a/lib/Lex/PPDirectives.cpp +++ b/lib/Lex/PPDirectives.cpp @@ -970,8 +970,8 @@ void Preprocessor::HandleDefineDirective(Token &DefineTok) { // Macros must be identical. This means all tokes and whitespace separation // must be the same. C99 6.10.3.2. if (!MI->isIdenticalTo(*OtherMI, *this)) { - Diag(MI->getDefinitionLoc(), diag::ext_pp_macro_redef, - MacroNameTok.getIdentifierInfo()->getName()); + Diag(MI->getDefinitionLoc(), diag::ext_pp_macro_redef) + << MacroNameTok.getIdentifierInfo()->getName(); Diag(OtherMI->getDefinitionLoc(), diag::ext_pp_macro_redef2); } delete OtherMI; diff --git a/lib/Lex/PPExpressions.cpp b/lib/Lex/PPExpressions.cpp index b3ae9d9860..e1695e984a 100644 --- a/lib/Lex/PPExpressions.cpp +++ b/lib/Lex/PPExpressions.cpp @@ -137,7 +137,7 @@ static bool EvaluateValue(PPValue &Result, Token &PeekTok, DefinedTracker &DT, if (LParenLoc.isValid()) { if (PeekTok.isNot(tok::r_paren)) { PP.Diag(PeekTok.getLocation(), diag::err_pp_missing_rparen); - PP.Diag(LParenLoc, diag::err_matching, "("); + PP.Diag(LParenLoc, diag::err_matching) << "("; return true; } // Consume the ). @@ -259,9 +259,9 @@ static bool EvaluateValue(PPValue &Result, Token &PeekTok, DefinedTracker &DT, return true; if (PeekTok.isNot(tok::r_paren)) { - PP.Diag(PeekTok.getLocation(), diag::err_pp_expected_rparen, - Result.getRange()); - PP.Diag(Start, diag::err_matching, "("); + PP.Diag(PeekTok.getLocation(), diag::err_pp_expected_rparen) + << Result.getRange(); + PP.Diag(Start, diag::err_matching) << "("; return true; } DT.State = DefinedTracker::Unknown; @@ -292,7 +292,7 @@ static bool EvaluateValue(PPValue &Result, Token &PeekTok, DefinedTracker &DT, // If this operator is live and overflowed, report the issue. if (Overflow && ValueLive) - PP.Diag(Loc, diag::warn_pp_expr_overflow, Result.getRange()); + PP.Diag(Loc, diag::warn_pp_expr_overflow) << Result.getRange(); DT.State = DefinedTracker::Unknown; return false; @@ -379,8 +379,8 @@ static bool EvaluateDirectiveSubExpr(PPValue &LHS, unsigned MinPrec, unsigned PeekPrec = getPrecedence(PeekTok.getKind()); // If this token isn't valid, report the error. if (PeekPrec == ~0U) { - PP.Diag(PeekTok.getLocation(), diag::err_pp_expr_bad_token_binop, - LHS.getRange()); + PP.Diag(PeekTok.getLocation(), diag::err_pp_expr_bad_token_binop) + << LHS.getRange(); return true; } @@ -423,8 +423,8 @@ static bool EvaluateDirectiveSubExpr(PPValue &LHS, unsigned MinPrec, // If this token isn't valid, report the error. if (PeekPrec == ~0U) { - PP.Diag(PeekTok.getLocation(), diag::err_pp_expr_bad_token_binop, - RHS.getRange()); + PP.Diag(PeekTok.getLocation(), diag::err_pp_expr_bad_token_binop) + << RHS.getRange(); return true; } @@ -469,15 +469,15 @@ static bool EvaluateDirectiveSubExpr(PPValue &LHS, unsigned MinPrec, // value was negative, warn about it. if (ValueLive && Res.isUnsigned()) { if (!LHS.isUnsigned() && LHS.Val.isNegative()) - PP.Diag(OpLoc, diag::warn_pp_convert_lhs_to_positive, - LHS.Val.toString(10, true) + " to " + - LHS.Val.toString(10, false), - LHS.getRange(), RHS.getRange()); + PP.Diag(OpLoc, diag::warn_pp_convert_lhs_to_positive) + << LHS.Val.toString(10, true) + " to " + + LHS.Val.toString(10, false) + << LHS.getRange() << RHS.getRange(); if (!RHS.isUnsigned() && RHS.Val.isNegative()) - PP.Diag(OpLoc, diag::warn_pp_convert_rhs_to_positive, - RHS.Val.toString(10, true) + " to " + - RHS.Val.toString(10, false), - LHS.getRange(), RHS.getRange()); + PP.Diag(OpLoc, diag::warn_pp_convert_rhs_to_positive) + << RHS.Val.toString(10, true) + " to " + + RHS.Val.toString(10, false) + << LHS.getRange() << RHS.getRange(); } LHS.Val.setIsUnsigned(Res.isUnsigned()); RHS.Val.setIsUnsigned(Res.isUnsigned()); @@ -491,8 +491,8 @@ static bool EvaluateDirectiveSubExpr(PPValue &LHS, unsigned MinPrec, if (RHS.Val != 0) Res = LHS.Val % RHS.Val; else if (ValueLive) { - PP.Diag(OpLoc, diag::err_pp_remainder_by_zero, LHS.getRange(), - RHS.getRange()); + PP.Diag(OpLoc, diag::err_pp_remainder_by_zero) + << LHS.getRange() << RHS.getRange(); return true; } break; @@ -502,8 +502,8 @@ static bool EvaluateDirectiveSubExpr(PPValue &LHS, unsigned MinPrec, if (LHS.Val.isSigned()) // MININT/-1 --> overflow. Overflow = LHS.Val.isMinSignedValue() && RHS.Val.isAllOnesValue(); } else if (ValueLive) { - PP.Diag(OpLoc, diag::err_pp_division_by_zero, LHS.getRange(), - RHS.getRange()); + PP.Diag(OpLoc, diag::err_pp_division_by_zero) + << LHS.getRange() << RHS.getRange(); return true; } break; @@ -597,15 +597,16 @@ static bool EvaluateDirectiveSubExpr(PPValue &LHS, unsigned MinPrec, // Comma is invalid in pp expressions in c89/c++ mode, but is valid in C99 // if not being evaluated. if (!PP.getLangOptions().C99 || ValueLive) - PP.Diag(OpLoc, diag::ext_pp_comma_expr, LHS.getRange(), RHS.getRange()); + PP.Diag(OpLoc, diag::ext_pp_comma_expr) + << LHS.getRange() << RHS.getRange(); Res = RHS.Val; // LHS = LHS,RHS -> RHS. break; case tok::question: { // Parse the : part of the expression. if (PeekTok.isNot(tok::colon)) { - PP.Diag(PeekTok.getLocation(), diag::err_expected_colon, - LHS.getRange(), RHS.getRange()); - PP.Diag(OpLoc, diag::err_matching, "?"); + PP.Diag(PeekTok.getLocation(), diag::err_expected_colon) + << LHS.getRange(), RHS.getRange(); + PP.Diag(OpLoc, diag::err_matching) << "?"; return true; } // Consume the :. @@ -638,15 +639,15 @@ static bool EvaluateDirectiveSubExpr(PPValue &LHS, unsigned MinPrec, } case tok::colon: // Don't allow :'s to float around without being part of ?: exprs. - PP.Diag(OpLoc, diag::err_pp_colon_without_question, LHS.getRange(), - RHS.getRange()); + PP.Diag(OpLoc, diag::err_pp_colon_without_question) + << LHS.getRange() << RHS.getRange(); return true; } // If this operator is live and overflowed, report the issue. if (Overflow && ValueLive) - PP.Diag(OpLoc, diag::warn_pp_expr_overflow, - LHS.getRange(), RHS.getRange()); + PP.Diag(OpLoc, diag::warn_pp_expr_overflow) + << LHS.getRange() << RHS.getRange(); // Put the result back into 'LHS' for our next iteration. LHS.Val = Res; diff --git a/lib/Lex/Preprocessor.cpp b/lib/Lex/Preprocessor.cpp index 2fe84c96bc..1f9df50db3 100644 --- a/lib/Lex/Preprocessor.cpp +++ b/lib/Lex/Preprocessor.cpp @@ -126,30 +126,6 @@ DiagnosticInfo Preprocessor::Diag(const Token &Tok, unsigned DiagID) { return Diags.Report(getFullLoc(Tok.getLocation()), DiagID); } - -void Preprocessor::Diag(SourceLocation Loc, unsigned DiagID, - const std::string &Msg) { - Diags.Report(getFullLoc(Loc), DiagID) << Msg; -} - -void Preprocessor::Diag(SourceLocation Loc, unsigned DiagID, - const std::string &Msg, - const SourceRange &R1, const SourceRange &R2) { - Diags.Report(getFullLoc(Loc), DiagID) << Msg << R1 << R2; -} - - -void Preprocessor::Diag(SourceLocation Loc, unsigned DiagID, - const SourceRange &R) { - Diags.Report(getFullLoc(Loc), DiagID) << R; -} - -void Preprocessor::Diag(SourceLocation Loc, unsigned DiagID, - const SourceRange &R1, const SourceRange &R2) { - Diags.Report(getFullLoc(Loc), DiagID) << R1 << R2; -} - - void Preprocessor::DumpToken(const Token &Tok, bool DumpFlags) const { llvm::cerr << tok::getTokenName(Tok.getKind()) << " '" << getSpelling(Tok) << "'"; diff --git a/lib/Lex/PreprocessorLexer.cpp b/lib/Lex/PreprocessorLexer.cpp index 3c5d81b8a7..20bce413b7 100644 --- a/lib/Lex/PreprocessorLexer.cpp +++ b/lib/Lex/PreprocessorLexer.cpp @@ -24,7 +24,7 @@ void PreprocessorLexer::Diag(SourceLocation Loc, unsigned DiagID, const std::string &Msg) const { if (LexingRawMode && Diagnostic::isBuiltinNoteWarningOrExtension(DiagID)) return; - PP->Diag(Loc, DiagID, Msg); + PP->Diag(Loc, DiagID) << Msg; } /// LexIncludeFilename - After the preprocessor has parsed a #include, lex and diff --git a/lib/Lex/TokenLexer.cpp b/lib/Lex/TokenLexer.cpp index 82b2b4df0b..6399e867b3 100644 --- a/lib/Lex/TokenLexer.cpp +++ b/lib/Lex/TokenLexer.cpp @@ -423,8 +423,8 @@ bool TokenLexer::PasteTokens(Token &Tok) { return true; } else { // TODO: If not in assembler language mode. - PP.Diag(PasteOpLoc, diag::err_pp_bad_paste, - std::string(Buffer.begin(), Buffer.end()-1)); + PP.Diag(PasteOpLoc, diag::err_pp_bad_paste) + << std::string(Buffer.begin(), Buffer.end()-1); return false; } } diff --git a/lib/Parse/ParsePragma.cpp b/lib/Parse/ParsePragma.cpp index fbdb123bda..60d1953607 100644 --- a/lib/Parse/ParsePragma.cpp +++ b/lib/Parse/ParsePragma.cpp @@ -76,8 +76,8 @@ void PragmaPackHandler::HandlePragma(Preprocessor &PP, Token &PackTok) { PP.Lex(Tok); if (Tok.isNot(tok::numeric_constant)) { - PP.Diag(Tok.getLocation(), diag::warn_pragma_pack_malformed, - II->getName()); + PP.Diag(Tok.getLocation(), diag::warn_pragma_pack_malformed) + << II->getName(); return; } @@ -88,8 +88,8 @@ void PragmaPackHandler::HandlePragma(Preprocessor &PP, Token &PackTok) { PP.Lex(Tok); } } else { - PP.Diag(Tok.getLocation(), diag::warn_pragma_pack_malformed, - II->getName()); + PP.Diag(Tok.getLocation(), diag::warn_pragma_pack_malformed) + << II->getName(); return; } }