From 4eae6fc95f95563a73a510a8b09cfce01004930a Mon Sep 17 00:00:00 2001 From: Andrzej Warzynski Date: Wed, 16 Sep 2020 17:54:29 +0100 Subject: [PATCH] [clang] Fix incorrect call to TextDiagnostic::printDiagnosticMessage As per the documentation, the 2nd argument in printDiagnosticMessage should be a bool that specifies whether the underlying message is a continuation note diagnostic or not. More specifically, it should be: ``` Level == DiagnosticsEngine::Note ``` instead of: ``` Level ``` This change means that `no input file` in the following scenario will be now correctly printed in bold: ``` $ bin/clang clang: error: no input files ``` In terminals that don't support text formatting the behaviour doesn't change. Differential Revision: https://reviews.llvm.org/D87816 --- clang/lib/Frontend/TextDiagnosticPrinter.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/clang/lib/Frontend/TextDiagnosticPrinter.cpp b/clang/lib/Frontend/TextDiagnosticPrinter.cpp index 0c0a44a..9feb3c6 100644 --- a/clang/lib/Frontend/TextDiagnosticPrinter.cpp +++ b/clang/lib/Frontend/TextDiagnosticPrinter.cpp @@ -135,10 +135,10 @@ void TextDiagnosticPrinter::HandleDiagnostic(DiagnosticsEngine::Level Level, if (!Info.getLocation().isValid()) { TextDiagnostic::printDiagnosticLevel(OS, Level, DiagOpts->ShowColors, DiagOpts->CLFallbackMode); - TextDiagnostic::printDiagnosticMessage(OS, Level, DiagMessageStream.str(), - OS.tell() - StartOfLocationInfo, - DiagOpts->MessageLength, - DiagOpts->ShowColors); + TextDiagnostic::printDiagnosticMessage( + OS, /*IsSupplemental=*/Level == DiagnosticsEngine::Note, + DiagMessageStream.str(), OS.tell() - StartOfLocationInfo, + DiagOpts->MessageLength, DiagOpts->ShowColors); OS.flush(); return; } -- 2.7.4