diff options
-rw-r--r-- | include/clang/Basic/Diagnostic.h | 12 | ||||
-rw-r--r-- | lib/Basic/Diagnostic.cpp | 2 |
2 files changed, 6 insertions, 8 deletions
diff --git a/include/clang/Basic/Diagnostic.h b/include/clang/Basic/Diagnostic.h index 8b4d3a0b60..3997fb89ba 100644 --- a/include/clang/Basic/Diagnostic.h +++ b/include/clang/Basic/Diagnostic.h @@ -267,16 +267,14 @@ private: } void PushDiagStatePoint(DiagState *State, SourceLocation L) { - FullSourceLoc Loc(L, *SourceMgr); + FullSourceLoc Loc(L, getSourceManager()); // Make sure that DiagStatePoints is always sorted according to Loc. - assert((Loc.isValid() || DiagStatePoints.empty()) && - "Adding invalid loc point after another point"); - assert((Loc.isInvalid() || DiagStatePoints.empty() || - DiagStatePoints.back().Loc.isInvalid() || + assert(Loc.isValid() && "Adding invalid loc point"); + assert(!DiagStatePoints.empty() && + (DiagStatePoints.back().Loc.isInvalid() || DiagStatePoints.back().Loc.isBeforeInTranslationUnitThan(Loc)) && "Previous point loc comes after or is the same as new one"); - DiagStatePoints.push_back(DiagStatePoint(State, - FullSourceLoc(Loc, *SourceMgr))); + DiagStatePoints.push_back(DiagStatePoint(State, Loc)); } /// \brief Finds the DiagStatePoint that contains the diagnostic state of diff --git a/lib/Basic/Diagnostic.cpp b/lib/Basic/Diagnostic.cpp index 60feb75c1c..e68950200f 100644 --- a/lib/Basic/Diagnostic.cpp +++ b/lib/Basic/Diagnostic.cpp @@ -119,7 +119,7 @@ void DiagnosticsEngine::Reset() { // Create a DiagState and DiagStatePoint representing diagnostic changes // through command-line. DiagStates.push_back(DiagState()); - PushDiagStatePoint(&DiagStates.back(), SourceLocation()); + DiagStatePoints.push_back(DiagStatePoint(&DiagStates.back(), FullSourceLoc())); } void DiagnosticsEngine::SetDelayedDiagnostic(unsigned DiagID, StringRef Arg1, |