TargetInfo no longer includes a reference to SourceManager.
Moved all clients of Diagnostics to use FullSourceLoc instead of SourceLocation.
Added many utility methods to FullSourceLoc to provide shorthand for:
FullLoc.getManager().someMethod(FullLoc.getLocation());
instead we have:
FullLoc.someMethod();
Modified TextDiagnostics (and related classes) to use this short-hand.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44957 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Driver/TextDiagnosticBuffer.cpp b/Driver/TextDiagnosticBuffer.cpp
index f644c3f..9e75752 100644
--- a/Driver/TextDiagnosticBuffer.cpp
+++ b/Driver/TextDiagnosticBuffer.cpp
@@ -19,9 +19,8 @@
///
void TextDiagnosticBuffer::HandleDiagnostic(Diagnostic &Diags,
Diagnostic::Level Level,
- SourceLocation Pos,
+ FullSourceLoc Pos,
diag::kind ID,
- SourceManager* SrcMgr,
const std::string *Strs,
unsigned NumStrs,
const SourceRange *,
@@ -29,12 +28,14 @@
switch (Level) {
default: assert(0 && "Diagnostic not handled during diagnostic buffering!");
case Diagnostic::Warning:
- Warnings.push_back(std::make_pair(Pos, FormatDiagnostic(Diags, Level, ID,
- Strs, NumStrs)));
+ Warnings.push_back(std::make_pair(Pos.getLocation(),
+ FormatDiagnostic(Diags, Level, ID,
+ Strs, NumStrs)));
break;
case Diagnostic::Error:
- Errors.push_back(std::make_pair(Pos, FormatDiagnostic(Diags, Level, ID,
- Strs, NumStrs)));
+ Errors.push_back(std::make_pair(Pos.getLocation(),
+ FormatDiagnostic(Diags, Level, ID,
+ Strs, NumStrs)));
break;
}
}