llvm-project/clang/lib/Format
Krasimir Georgiev 4fc55a76b8 [clang-format] Fix crash while reflowing backslash in comments
Summary:
The added test case was currently crashing with an assertion:
```
krasimir@krasimir> cat test.cc                                                                                                                                                              ~
// How to run:
// bbbbb run \
// rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr \
// <log_file> -- --output_directory="<output_directory>"
krasimir@krasimir> ~/work/llvm-build/bin/clang-format test.cc                                                                                                                               ~
clang-format: /usr/local/google/home/krasimir/work/llvm/tools/clang/lib/Format/WhitespaceManager.cpp:117: void clang::format::WhitespaceManager::calculateLineBreakInformation(): Assertion `PreviousOriginalWhitespaceEndOffset <= OriginalWhitespaceStartOffset' failed.
```
The root cause was that BreakableToken was not considering the case of a reflow between an unescaped newline in a line comment.

Subscribers: cfe-commits

Differential Revision: https://reviews.llvm.org/D48089

llvm-svn: 334527
2018-06-12 19:33:15 +00:00
..
AffectedRangeManager.cpp Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
AffectedRangeManager.h Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
BreakableToken.cpp [clang-format] Fix crash while reflowing backslash in comments 2018-06-12 19:33:15 +00:00
BreakableToken.h Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
CMakeLists.txt Reland "Move #include manipulation code to new lib/Tooling/Inclusions." 2018-06-04 09:04:12 +00:00
ContinuationIndenter.cpp clang-format: Introduce BreakInheritanceList option 2018-06-11 14:41:26 +00:00
ContinuationIndenter.h [clang-format] Respect BreakBeforeClosingBrace while calculating length 2018-05-09 09:02:11 +00:00
Encoding.h Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
Format.cpp clang-format: Introduce BreakInheritanceList option 2018-06-11 14:41:26 +00:00
FormatInternal.h Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
FormatToken.cpp Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
FormatToken.h Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
FormatTokenLexer.cpp [clang-format] Consider tok::hashhash in python-style comments 2018-06-07 09:46:24 +00:00
FormatTokenLexer.h Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
NamespaceEndCommentsFixer.cpp Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
NamespaceEndCommentsFixer.h Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
SortJavaScriptImports.cpp [clang] Update uses of DEBUG macro to LLVM_DEBUG. 2018-05-15 13:30:56 +00:00
SortJavaScriptImports.h Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
TokenAnalyzer.cpp [clang] Update uses of DEBUG macro to LLVM_DEBUG. 2018-05-15 13:30:56 +00:00
TokenAnalyzer.h Add SourceManagerForFile helper which sets up SourceManager and dependencies for a single file with code snippet 2018-05-09 21:35:52 +00:00
TokenAnnotator.cpp [clang-format] Discourage breaks in submessage entries, hard rule 2018-06-12 17:26:31 +00:00
TokenAnnotator.h Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
UnwrappedLineFormatter.cpp [clang] Update uses of DEBUG macro to LLVM_DEBUG. 2018-05-15 13:30:56 +00:00
UnwrappedLineFormatter.h Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
UnwrappedLineParser.cpp [clang-format/ObjC] Correctly parse Objective-C methods with 'class' in name 2018-05-30 15:21:38 +00:00
UnwrappedLineParser.h [clang-format/ObjC] Correctly parse Objective-C methods with 'class' in name 2018-05-30 15:21:38 +00:00
UsingDeclarationsSorter.cpp [clang] Update uses of DEBUG macro to LLVM_DEBUG. 2018-05-15 13:30:56 +00:00
UsingDeclarationsSorter.h Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
WhitespaceManager.cpp Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
WhitespaceManager.h Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00