diff --git a/include/swift/Frontend/PrintingDiagnosticConsumer.h b/include/swift/Frontend/PrintingDiagnosticConsumer.h index 809b438352286..2db64e8f6d0f8 100644 --- a/include/swift/Frontend/PrintingDiagnosticConsumer.h +++ b/include/swift/Frontend/PrintingDiagnosticConsumer.h @@ -50,7 +50,6 @@ class PrintingDiagnosticConsumer : public DiagnosticConsumer { /// The queued diagnostics structure. void *queuedDiagnostics = nullptr; llvm::DenseMap queuedBuffers; - unsigned queuedDiagnosticsOutermostBufferID; public: PrintingDiagnosticConsumer(llvm::raw_ostream &stream = llvm::errs()); diff --git a/lib/Frontend/PrintingDiagnosticConsumer.cpp b/lib/Frontend/PrintingDiagnosticConsumer.cpp index 846321335d431..9f6a8976c3aef 100644 --- a/lib/Frontend/PrintingDiagnosticConsumer.cpp +++ b/lib/Frontend/PrintingDiagnosticConsumer.cpp @@ -458,16 +458,10 @@ void PrintingDiagnosticConsumer::handleDiagnostic(SourceManager &SM, // Use the swift-syntax formatter. auto bufferStack = getSourceBufferStack(SM, Info.Loc); if (!bufferStack.empty()) { - // If there are no enqueued diagnostics, they are from a different - // outermost buffer, or we have hit a non-note diagnostic, flush any - // enqueued diagnostics and start fresh. - unsigned outermostBufferID = bufferStack.back(); - if (!queuedDiagnostics || - outermostBufferID != queuedDiagnosticsOutermostBufferID || - Info.Kind != DiagnosticKind::Note) { + // If there are no enqueued diagnostics, or we have hit a non-note + // diagnostic, flush any enqueued diagnostics and start fresh. + if (!queuedDiagnostics || Info.Kind != DiagnosticKind::Note) { flush(/*includeTrailingBreak*/ true); - - queuedDiagnosticsOutermostBufferID = outermostBufferID; queuedDiagnostics = swift_ASTGen_createQueuedDiagnostics(); }