forked from OSchip/llvm-project
[clang-format] Align trailing comments if ColumnLimit is 0
Summary: ColumnLimit = 0 means no limit, so comment should always be aligned if requested. This was broken with https://llvm.org/svn/llvm-project/cfe/trunk@304687 introduced via https://reviews.llvm.org/D33830 and is included in 5.0.0-rc2. This commit fixes it and adds a unittest for this property. Should go into clang-5.0 IMHO. Contributed by @pboettch! Reviewers: djasper, krasimir Reviewed By: djasper, krasimir Subscribers: hans, klimek Differential Revision: https://reviews.llvm.org/D36967 llvm-svn: 311532
This commit is contained in:
parent
d5d559421f
commit
4a9c260751
|
@ -472,9 +472,14 @@ void WhitespaceManager::alignTrailingComments() {
|
|||
continue;
|
||||
|
||||
unsigned ChangeMinColumn = Changes[i].StartOfTokenColumn;
|
||||
unsigned ChangeMaxColumn = Style.ColumnLimit >= Changes[i].TokenLength
|
||||
? Style.ColumnLimit - Changes[i].TokenLength
|
||||
: ChangeMinColumn;
|
||||
unsigned ChangeMaxColumn;
|
||||
|
||||
if (Style.ColumnLimit == 0)
|
||||
ChangeMaxColumn = UINT_MAX;
|
||||
else if (Style.ColumnLimit >= Changes[i].TokenLength)
|
||||
ChangeMaxColumn = Style.ColumnLimit - Changes[i].TokenLength;
|
||||
else
|
||||
ChangeMaxColumn = ChangeMinColumn;
|
||||
|
||||
// If we don't create a replacement for this change, we have to consider
|
||||
// it to be immovable.
|
||||
|
|
|
@ -2476,6 +2476,13 @@ TEST_F(FormatTestComments, AlignTrailingComments) {
|
|||
"int k; // line longg long",
|
||||
getLLVMStyleWithColumns(20)));
|
||||
|
||||
// Always align if ColumnLimit = 0
|
||||
EXPECT_EQ("int i, j; // line 1\n"
|
||||
"int k; // line longg long",
|
||||
format("int i, j; // line 1\n"
|
||||
"int k; // line longg long",
|
||||
getLLVMStyleWithColumns(0)));
|
||||
|
||||
// Align comment line sections aligned with the next token with the next
|
||||
// token.
|
||||
EXPECT_EQ("class A {\n"
|
||||
|
|
Loading…
Reference in New Issue