Add a Parser::Diag overload that can receive a custom string along with a SourceRange.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55283 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/clang/Parse/Parser.h b/include/clang/Parse/Parser.h
index f749604..6f9ca22 100644
--- a/include/clang/Parse/Parser.h
+++ b/include/clang/Parse/Parser.h
@@ -245,6 +245,8 @@
bool Diag(SourceLocation Loc, unsigned DiagID,
const std::string &Msg = std::string());
bool Diag(SourceLocation Loc, unsigned DiagID, const SourceRange &R);
+ bool Diag(SourceLocation Loc, unsigned DiagID, const std::string &Msg,
+ SourceRange R1);
bool Diag(const Token &Tok, unsigned DiagID,
const std::string &M = std::string()) {
return Diag(Tok.getLocation(), DiagID, M);
diff --git a/lib/Parse/Parser.cpp b/lib/Parse/Parser.cpp
index a5fe551..c6b0a80 100644
--- a/lib/Parse/Parser.cpp
+++ b/lib/Parse/Parser.cpp
@@ -38,6 +38,12 @@
return true;
}
+bool Parser::Diag(SourceLocation Loc, unsigned DiagID, const std::string &Msg,
+ SourceRange Range) {
+ Diags.Report(PP.getFullLoc(Loc), DiagID, &Msg, 1, &Range,1);
+ return true;
+}
+
bool Parser::Diag(SourceLocation Loc, unsigned DiagID, const SourceRange &R) {
Diags.Report(FullSourceLoc(Loc,PP.getSourceManager()), DiagID, 0, 0,
&R, 1);