diff options
author | Jordan Rose <jordan_rose@apple.com> | 2014-06-17 02:15:40 +0000 |
---|---|---|
committer | Jordan Rose <jordan_rose@apple.com> | 2014-06-17 02:15:40 +0000 |
commit | 57ffdb07fd64bbf7aadf9633247ad97711a58b5a (patch) | |
tree | de5791e01e122e80e1587e5628077a7efbabc7d9 /llvm/lib/Support/SourceMgr.cpp | |
parent | b4cfd0070d97797a4381133212ea31ccd18b48fc (diff) | |
download | bcm5719-llvm-57ffdb07fd64bbf7aadf9633247ad97711a58b5a.tar.gz bcm5719-llvm-57ffdb07fd64bbf7aadf9633247ad97711a58b5a.zip |
Add an overload for SourceMgr::PrintMessage that takes an existing diagnostic.
llvm-svn: 211087
Diffstat (limited to 'llvm/lib/Support/SourceMgr.cpp')
-rw-r--r-- | llvm/lib/Support/SourceMgr.cpp | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/llvm/lib/Support/SourceMgr.cpp b/llvm/lib/Support/SourceMgr.cpp index 6d530e6fa0d..4d00d3baa41 100644 --- a/llvm/lib/Support/SourceMgr.cpp +++ b/llvm/lib/Support/SourceMgr.cpp @@ -199,20 +199,16 @@ SMDiagnostic SourceMgr::GetMessage(SMLoc Loc, SourceMgr::DiagKind Kind, LineStr, ColRanges, FixIts); } -void SourceMgr::PrintMessage(raw_ostream &OS, SMLoc Loc, - SourceMgr::DiagKind Kind, - const Twine &Msg, ArrayRef<SMRange> Ranges, - ArrayRef<SMFixIt> FixIts, bool ShowColors) const { - SMDiagnostic Diagnostic = GetMessage(Loc, Kind, Msg, Ranges, FixIts); - +void SourceMgr::PrintMessage(raw_ostream &OS, const SMDiagnostic &Diagnostic, + bool ShowColors) const { // Report the message with the diagnostic handler if present. if (DiagHandler) { DiagHandler(Diagnostic, DiagContext); return; } - if (Loc != SMLoc()) { - int CurBuf = FindBufferContainingLoc(Loc); + if (Diagnostic.getLoc().isValid()) { + int CurBuf = FindBufferContainingLoc(Diagnostic.getLoc()); assert(CurBuf != -1 && "Invalid or unspecified location!"); PrintIncludeStack(getBufferInfo(CurBuf).IncludeLoc, OS); } @@ -220,6 +216,13 @@ void SourceMgr::PrintMessage(raw_ostream &OS, SMLoc Loc, Diagnostic.print(nullptr, OS, ShowColors); } +void SourceMgr::PrintMessage(raw_ostream &OS, SMLoc Loc, + SourceMgr::DiagKind Kind, + const Twine &Msg, ArrayRef<SMRange> Ranges, + ArrayRef<SMFixIt> FixIts, bool ShowColors) const { + PrintMessage(OS, GetMessage(Loc, Kind, Msg, Ranges, FixIts), ShowColors); +} + void SourceMgr::PrintMessage(SMLoc Loc, SourceMgr::DiagKind Kind, const Twine &Msg, ArrayRef<SMRange> Ranges, ArrayRef<SMFixIt> FixIts, bool ShowColors) const { |