From: Daniel Dunbar Date: Thu, 29 Sep 2011 01:34:47 +0000 (+0000) Subject: Basic/Diagnostics: Move setDiagnosticMapping() to using DiagnosticMappingInfo X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=09ea68d17bc0fc0b16d287ad4d3f61fe7def4f17;p=clang Basic/Diagnostics: Move setDiagnosticMapping() to using DiagnosticMappingInfo and eliminate setDiagnosticMappingInternal. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140763 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Basic/Diagnostic.h b/include/clang/Basic/Diagnostic.h index a0573c03f0..2924dfcbfb 100644 --- a/include/clang/Basic/Diagnostic.h +++ b/include/clang/Basic/Diagnostic.h @@ -566,13 +566,6 @@ private: /// \brief Report the delayed diagnostic. void ReportDelayed(); - void setDiagnosticMappingInternal(unsigned DiagId, diag::Mapping Map, - DiagState *State, - bool isUser, bool isPragma) const { - State->setMappingInfo((diag::kind)DiagId, DiagnosticMappingInfo::MakeInfo( - Map, isUser, isPragma)); - } - // This is private state used by DiagnosticBuilder. We put it here instead of // in DiagnosticBuilder in order to keep DiagnosticBuilder a small lightweight // object. This implementation choice means that we can only have one diff --git a/lib/Basic/Diagnostic.cpp b/lib/Basic/Diagnostic.cpp index e1816ae2ad..18220f0fd1 100644 --- a/lib/Basic/Diagnostic.cpp +++ b/lib/Basic/Diagnostic.cpp @@ -172,10 +172,12 @@ void DiagnosticsEngine::setDiagnosticMapping(diag::kind Diag, diag::Mapping Map, bool isPragma = L.isValid(); FullSourceLoc Loc(L, *SourceMgr); FullSourceLoc LastStateChangePos = DiagStatePoints.back().Loc; + DiagnosticMappingInfo MappingInfo = DiagnosticMappingInfo::MakeInfo( + Map, /*IsUser=*/true, isPragma); // Common case; setting all the diagnostics of a group in one place. if (Loc.isInvalid() || Loc == LastStateChangePos) { - setDiagnosticMappingInternal(Diag, Map, GetCurDiagState(), true, isPragma); + GetCurDiagState()->setMappingInfo(Diag, MappingInfo); return; } @@ -188,7 +190,7 @@ void DiagnosticsEngine::setDiagnosticMapping(diag::kind Diag, diag::Mapping Map, // the new state became active. DiagStates.push_back(*GetCurDiagState()); PushDiagStatePoint(&DiagStates.back(), Loc); - setDiagnosticMappingInternal(Diag, Map, GetCurDiagState(), true, isPragma); + GetCurDiagState()->setMappingInfo(Diag, MappingInfo); return; } @@ -201,12 +203,12 @@ void DiagnosticsEngine::setDiagnosticMapping(diag::kind Diag, diag::Mapping Map, // Update all diagnostic states that are active after the given location. for (DiagStatePointsTy::iterator I = Pos+1, E = DiagStatePoints.end(); I != E; ++I) { - setDiagnosticMappingInternal(Diag, Map, I->State, true, isPragma); + GetCurDiagState()->setMappingInfo(Diag, MappingInfo); } // If the location corresponds to an existing point, just update its state. if (Pos->Loc == Loc) { - setDiagnosticMappingInternal(Diag, Map, Pos->State, true, isPragma); + GetCurDiagState()->setMappingInfo(Diag, MappingInfo); return; } @@ -215,7 +217,7 @@ void DiagnosticsEngine::setDiagnosticMapping(diag::kind Diag, diag::Mapping Map, Pos->Loc.isBeforeInTranslationUnitThan(Loc); DiagStates.push_back(*Pos->State); DiagState *NewState = &DiagStates.back(); - setDiagnosticMappingInternal(Diag, Map, NewState, true, isPragma); + GetCurDiagState()->setMappingInfo(Diag, MappingInfo); DiagStatePoints.insert(Pos+1, DiagStatePoint(NewState, FullSourceLoc(Loc, *SourceMgr))); }