forked from OSchip/llvm-project
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:
parent
66f6fc0a49
commit
48a9f36876
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue