зеркало из https://github.com/microsoft/clang-1.git
In -fdiagnostics-print-source-range-info mode, print a space before the
lines that clang extracts from the source code so that machine parsing can easily ignore them. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70337 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
bf20dbdec6
Коммит
770dbf04b4
|
@ -209,6 +209,16 @@ void TextDiagnosticPrinter::EmitCaretDiagnostic(SourceLocation Loc,
|
|||
while (CaretLine[CaretLine.size()-1] == ' ')
|
||||
CaretLine.erase(CaretLine.end()-1);
|
||||
|
||||
// If we are in -fdiagnostics-print-source-range-info mode, we are trying to
|
||||
// produce easily machine parsable output. Add a space before the source line
|
||||
// and the caret to make it trivial to tell the main diagnostic line from what
|
||||
// the user is intended to see.
|
||||
if (PrintRangeInfo) {
|
||||
SourceLine = ' ' + SourceLine;
|
||||
CaretLine = ' ' + CaretLine;
|
||||
}
|
||||
|
||||
|
||||
// Emit what we have computed.
|
||||
OS << SourceLine << '\n';
|
||||
OS << CaretLine << '\n';
|
||||
|
@ -238,8 +248,11 @@ void TextDiagnosticPrinter::EmitCaretDiagnostic(SourceLocation Loc,
|
|||
}
|
||||
}
|
||||
|
||||
if (!InsertionLine.empty())
|
||||
if (!InsertionLine.empty()) {
|
||||
if (PrintRangeInfo)
|
||||
OS << ' ';
|
||||
OS << InsertionLine << '\n';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче