diff options
Diffstat (limited to 'lib/Basic/Diagnostic.cpp')
-rw-r--r-- | lib/Basic/Diagnostic.cpp | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/lib/Basic/Diagnostic.cpp b/lib/Basic/Diagnostic.cpp index f1ebd9d38b9e5..56c54cb9070c1 100644 --- a/lib/Basic/Diagnostic.cpp +++ b/lib/Basic/Diagnostic.cpp @@ -89,6 +89,14 @@ DiagnosticsEngine::~DiagnosticsEngine() { setClient(nullptr); } +void DiagnosticsEngine::dump() const { + DiagStatesByLoc.dump(*SourceMgr); +} + +void DiagnosticsEngine::dump(StringRef DiagName) const { + DiagStatesByLoc.dump(*SourceMgr, DiagName); +} + void DiagnosticsEngine::setClient(DiagnosticConsumer *client, bool ShouldOwnClient) { Owner.reset(ShouldOwnClient ? client : nullptr); @@ -239,7 +247,7 @@ DiagnosticsEngine::DiagStateMap::getFile(SourceManager &SrcMgr, void DiagnosticsEngine::DiagStateMap::dump(SourceManager &SrcMgr, StringRef DiagName) const { llvm::errs() << "diagnostic state at "; - CurDiagStateLoc.dump(SrcMgr); + CurDiagStateLoc.print(llvm::errs(), SrcMgr); llvm::errs() << ": " << CurDiagState << "\n"; for (auto &F : Files) { @@ -261,7 +269,7 @@ void DiagnosticsEngine::DiagStateMap::dump(SourceManager &SrcMgr, << Decomp.first.getHashValue() << "> "; SrcMgr.getLocForStartOfFile(Decomp.first) .getLocWithOffset(Decomp.second) - .dump(SrcMgr); + .print(llvm::errs(), SrcMgr); } if (File.HasLocalTransitions) llvm::errs() << " has_local_transitions"; @@ -281,7 +289,7 @@ void DiagnosticsEngine::DiagStateMap::dump(SourceManager &SrcMgr, llvm::errs() << " "; SrcMgr.getLocForStartOfFile(ID) .getLocWithOffset(Transition.Offset) - .dump(SrcMgr); + .print(llvm::errs(), SrcMgr); llvm::errs() << ": state " << Transition.State << ":\n"; }; @@ -975,6 +983,7 @@ FormatDiagnostic(const char *DiagStr, const char *DiagEnd, llvm::raw_svector_ostream(OutStr) << '\'' << II->getName() << '\''; break; } + case DiagnosticsEngine::ak_qual: case DiagnosticsEngine::ak_qualtype: case DiagnosticsEngine::ak_declarationname: case DiagnosticsEngine::ak_nameddecl: |