From d614040a678c994b0171234e7f5f9cf61e9f86fe Mon Sep 17 00:00:00 2001 From: Chandler Carruth Date: Sat, 15 Oct 2011 12:12:44 +0000 Subject: [PATCH] Neither 'Warning' nor 'NonNote' was a good name for this location... It's the last include-stack-root we tried to walk up. Use a better name and better doxyments for it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142071 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../clang/Frontend/TextDiagnosticPrinter.h | 2 +- lib/Frontend/TextDiagnosticPrinter.cpp | 27 ++++++++++--------- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/include/clang/Frontend/TextDiagnosticPrinter.h b/include/clang/Frontend/TextDiagnosticPrinter.h index b7c91c2e50..d6aa6ea94c 100644 --- a/include/clang/Frontend/TextDiagnosticPrinter.h +++ b/include/clang/Frontend/TextDiagnosticPrinter.h @@ -28,7 +28,7 @@ class TextDiagnosticPrinter : public DiagnosticConsumer { const DiagnosticOptions *DiagOpts; FullSourceLoc LastLoc; - FullSourceLoc LastNonNoteLoc; + FullSourceLoc LastIncludeLoc; unsigned LastCaretDiagnosticWasNote : 1; unsigned OwnsOutputStream : 1; diff --git a/lib/Frontend/TextDiagnosticPrinter.cpp b/lib/Frontend/TextDiagnosticPrinter.cpp index 0afc3efbbc..074d4134a6 100644 --- a/lib/Frontend/TextDiagnosticPrinter.cpp +++ b/lib/Frontend/TextDiagnosticPrinter.cpp @@ -492,10 +492,11 @@ class TextDiagnostic { /// a different source manager than SM. SourceLocation LastLoc; - /// \brief The location of the previous non-note diagnostic if known. + /// \brief The location of the last include whose stack was printed if known. /// - /// Same restriction as \see LastLoc but tracks the last non-note location. - SourceLocation LastNonNoteLoc; + /// Same restriction as \see LastLoc essentially, but tracking include stack + /// root locations rather than diagnostic locations. + SourceLocation LastIncludeLoc; public: TextDiagnostic(raw_ostream &OS, @@ -503,20 +504,20 @@ public: const LangOptions &LangOpts, const DiagnosticOptions &DiagOpts, FullSourceLoc LastLoc = FullSourceLoc(), - FullSourceLoc LastNonNoteLoc = FullSourceLoc()) + FullSourceLoc LastIncludeLoc = FullSourceLoc()) : OS(OS), SM(SM), LangOpts(LangOpts), DiagOpts(DiagOpts), - LastLoc(LastLoc), LastNonNoteLoc(LastNonNoteLoc) { + LastLoc(LastLoc), LastIncludeLoc(LastIncludeLoc) { if (LastLoc.isValid() && &SM != &LastLoc.getManager()) this->LastLoc = SourceLocation(); - if (LastNonNoteLoc.isValid() && &SM != &LastNonNoteLoc.getManager()) - this->LastNonNoteLoc = SourceLocation(); + if (LastIncludeLoc.isValid() && &SM != &LastIncludeLoc.getManager()) + this->LastIncludeLoc = SourceLocation(); } /// \brief Get the last diagnostic location emitted. SourceLocation getLastLoc() const { return LastLoc; } - /// \brief Get the last non-note diagnostic location emitted. - SourceLocation getLastNonNoteLoc() const { return LastNonNoteLoc; } + /// \brief Get the last emitted include stack location. + SourceLocation getLastIncludeLoc() const { return LastIncludeLoc; } void Emit(SourceLocation Loc, DiagnosticsEngine::Level Level, StringRef Message, ArrayRef Ranges, @@ -795,9 +796,9 @@ private: /// location). void emitIncludeStack(SourceLocation Loc, DiagnosticsEngine::Level Level) { // Skip redundant include stacks altogether. - if (LastNonNoteLoc == Loc) + if (LastIncludeLoc == Loc) return; - LastNonNoteLoc = Loc; + LastIncludeLoc = Loc; if (!DiagOpts.ShowNoteIncludeStack && Level == DiagnosticsEngine::Note) return; @@ -1278,7 +1279,7 @@ void TextDiagnosticPrinter::HandleDiagnostic(DiagnosticsEngine::Level Level, "Unexpected diagnostic with no source manager"); const SourceManager &SM = Info.getSourceManager(); TextDiagnostic TextDiag(OS, SM, *LangOpts, *DiagOpts, - LastLoc, LastNonNoteLoc); + LastLoc, LastIncludeLoc); TextDiag.Emit(Info.getLocation(), Level, DiagMessageStream.str(), Info.getRanges(), @@ -1288,7 +1289,7 @@ void TextDiagnosticPrinter::HandleDiagnostic(DiagnosticsEngine::Level Level, // Cache the LastLoc from the TextDiagnostic printing. LastLoc = FullSourceLoc(TextDiag.getLastLoc(), SM); - LastNonNoteLoc = FullSourceLoc(TextDiag.getLastNonNoteLoc(), SM); + LastIncludeLoc = FullSourceLoc(TextDiag.getLastIncludeLoc(), SM); LastCaretDiagnosticWasNote = (Level == DiagnosticsEngine::Note); OS.flush(); -- 2.40.0