diff options
Diffstat (limited to 'lib/Frontend/TextDiagnosticPrinter.cpp')
-rw-r--r-- | lib/Frontend/TextDiagnosticPrinter.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/Frontend/TextDiagnosticPrinter.cpp b/lib/Frontend/TextDiagnosticPrinter.cpp index 1f6ea30c7d..64a5c1bc9c 100644 --- a/lib/Frontend/TextDiagnosticPrinter.cpp +++ b/lib/Frontend/TextDiagnosticPrinter.cpp @@ -1097,7 +1097,7 @@ static bool printWordWrapped(raw_ostream &OS, StringRef Str, unsigned Columns, unsigned Column = 0, unsigned Indentation = WordWrapIndentation) { - const unsigned Length = Str.size(); + const unsigned Length = std::min(Str.find('\n'), Str.size()); // The string used to indent each line. llvm::SmallString<16> IndentStr; @@ -1135,6 +1135,9 @@ static bool printWordWrapped(raw_ostream &OS, StringRef Str, Wrapped = true; } + // Append any remaning text from the message with its existing formatting. + OS << Str.substr(Length); + return Wrapped; } |