Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Basic/Diagnostics: Move setDiagnosticMapping() to using DiagnosticMap…
…pingInfo

and eliminate setDiagnosticMappingInternal.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140763 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
ddunbar committed Sep 29, 2011
1 parent b1c99c6 commit 09ea68d
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 12 deletions.
7 changes: 0 additions & 7 deletions include/clang/Basic/Diagnostic.h
Expand Up @@ -566,13 +566,6 @@ class DiagnosticsEngine : public llvm::RefCountedBase<DiagnosticsEngine> {
/// \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
Expand Down
12 changes: 7 additions & 5 deletions lib/Basic/Diagnostic.cpp
Expand Up @@ -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;
}

Expand All @@ -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;
}

Expand All @@ -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;
}

Expand All @@ -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)));
}
Expand Down

0 comments on commit 09ea68d

Please sign in to comment.