-
- Downloads
[clang-format] Handle trailing comment sections in import statement lines
Summary: This patch updates the handling of multiline trailing comment sections in import statement lines to make it more consistent with the case in general. This includes updating the parsing logic to collect the trailing comment sections and the formatting logic to not insert escaped newlines at the end of comment lines in import statement lines. Specifically, before this patch this code: ``` #include <a> // line 1 // line 2 ``` will be turned into two unwrapped lines, whereas this code: ``` int i; // line 1 // line 2 ``` is turned into a single unwrapped line, enabling reflowing across comments. An example where the old behaviour is bad is when partially formatting the lines 3 to 4 of this code: ``` #include <a> // line 1 // line 2 int i; ``` which gets turned into: ``` #include <a> // line 1 // line 2 int i; ``` because the two comment lines were independent and the indent was copied. Reviewers: djasper Reviewed By: djasper Subscribers: cfe-commits, klimek Differential Revision: https://reviews.llvm.org/D33351 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@303415 91177308-0d34-0410-b5e6-96231b3b80d8
Showing
- lib/Format/ContinuationIndenter.cpp 3 additions, 1 deletionlib/Format/ContinuationIndenter.cpp
- lib/Format/TokenAnnotator.cpp 6 additions, 3 deletionslib/Format/TokenAnnotator.cpp
- lib/Format/UnwrappedLineParser.cpp 14 additions, 7 deletionslib/Format/UnwrappedLineParser.cpp
- unittests/Format/FormatTestSelective.cpp 8 additions, 0 deletionsunittests/Format/FormatTestSelective.cpp
Loading
Please register or sign in to comment