Remove the last of the old-style Preprocessor::Diag methods.

llvm-svn: 59554
This commit is contained in:
Chris Lattner
2008-11-18 21:48:13 +00:00
parent f5125d19e7
commit e05c4dfc42
8 changed files with 46 additions and 75 deletions

View File

@@ -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

View File

@@ -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;
}

View File

@@ -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;

View File

@@ -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;

View File

@@ -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) << "'";

View File

@@ -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

View File

@@ -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;
}
}

View File

@@ -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;
}
}