Revert "[clang-format] Emit absolute splits before lines for comments"

This reverts commit r311559, which added a test containing raw string
literals in macros, which chokes gcc:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55971

llvm-svn: 311566
This commit is contained in:
Krasimir Georgiev 2017-08-23 15:58:10 +00:00
parent 66f6fc0a49
commit 48a9f36876
2 changed files with 12 additions and 27 deletions

View File

@ -545,18 +545,15 @@ void BreakableBlockComment::insertBreak(unsigned LineIndex, unsigned TailOffset,
}
BreakableToken::Split BreakableBlockComment::getSplitBefore(
unsigned LineIndex, unsigned PreviousEndColumn, unsigned ColumnLimit,
unsigned LineIndex,
unsigned PreviousEndColumn,
unsigned ColumnLimit,
llvm::Regex &CommentPragmasRegex) const {
if (!mayReflow(LineIndex, CommentPragmasRegex))
return Split(StringRef::npos, 0);
StringRef TrimmedContent = Content[LineIndex].ltrim(Blanks);
Split Result = getReflowSplit(TrimmedContent, ReflowPrefix, PreviousEndColumn,
ColumnLimit);
// Result is relative to TrimmedContent. Adapt it relative to
// Content[LineIndex].
if (Result.first != StringRef::npos)
Result.first += Content[LineIndex].size() - TrimmedContent.size();
return Result;
return getReflowSplit(TrimmedContent, ReflowPrefix, PreviousEndColumn,
ColumnLimit);
}
unsigned BreakableBlockComment::getReflownColumn(
@ -636,12 +633,17 @@ void BreakableBlockComment::replaceWhitespaceBefore(
/*CurrentPrefix=*/ReflowPrefix, InPPDirective, /*Newlines=*/0,
/*Spaces=*/0);
// Check if we need to also insert a break at the whitespace range.
// For this we first adapt the reflow split relative to the beginning of the
// content.
// Note that we don't need a penalty for this break, since it doesn't change
// the total number of lines.
Split BreakSplit = SplitBefore;
BreakSplit.first += TrimmedContent.data() - Content[LineIndex].data();
unsigned ReflownColumn =
getReflownColumn(TrimmedContent, LineIndex, PreviousEndColumn);
if (ReflownColumn > ColumnLimit)
insertBreak(LineIndex, 0, SplitBefore, Whitespaces);
if (ReflownColumn > ColumnLimit) {
insertBreak(LineIndex, 0, BreakSplit, Whitespaces);
}
return;
}

View File

@ -2803,23 +2803,6 @@ TEST_F(FormatTestComments, NonTrailingBlockComments) {
" A = B;",
getLLVMStyleWithColumns(40)));
}
TEST_F(FormatTestComments, NoCrush_Bug34236) {
// This is a test case from a crasher reported in:
// https://bugs.llvm.org/show_bug.cgi?id=34236
EXPECT_EQ(
R"(
/* */ /*
* a
* b c
* d*/)",
format(
R"(
/* */ /*
* a b
* c d*/)",
getLLVMStyleWithColumns(80)));
}
} // end namespace
} // end namespace format
} // end namespace clang