зеркало из https://github.com/microsoft/clang-1.git
Fixes issues around pulling in the next line in simple if statements.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172822 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
ea8bca7679
Коммит
4c12812835
|
@ -1749,6 +1749,10 @@ private:
|
|||
unsigned Limit) {
|
||||
if (!Style.AllowShortIfStatementsOnASingleLine)
|
||||
return;
|
||||
if ((I + 1)->InPPDirective != I->InPPDirective ||
|
||||
((I + 1)->InPPDirective &&
|
||||
(I + 1)->First.FormatTok.HasUnescapedNewline))
|
||||
return;
|
||||
AnnotatedLine &Line = *I;
|
||||
if (Line.Last->isNot(tok::r_paren))
|
||||
return;
|
||||
|
|
|
@ -1542,20 +1542,23 @@ TEST_F(FormatTest, MergeHandlingInTheFaceOfPreprocessorDirectives) {
|
|||
AllowsMergedIf.AllowShortIfStatementsOnASingleLine = true;
|
||||
verifyFormat("void f() { f(); }\n#error E", AllowsMergedIf);
|
||||
verifyFormat("if (true) return 42;\n#error E", AllowsMergedIf);
|
||||
|
||||
// FIXME:
|
||||
// verifyFormat("if (true)\n#error E\n return 42;", AllowsMergedIf);
|
||||
verifyFormat("if (true)\n#error E\n return 42;", AllowsMergedIf);
|
||||
EXPECT_EQ("if (true) return 42;",
|
||||
format("if (true)\nreturn 42;", AllowsMergedIf));
|
||||
FormatStyle ShortMergedIf = AllowsMergedIf;
|
||||
ShortMergedIf.ColumnLimit = 25;
|
||||
verifyFormat("#define A \\\n"
|
||||
" if (true) return 42;", ShortMergedIf);
|
||||
verifyFormat("#define A \\\n"
|
||||
" f(); \\\n"
|
||||
" if (true)\n"
|
||||
"#define B", ShortMergedIf);
|
||||
verifyFormat("#define A \\\n"
|
||||
" f(); \\\n"
|
||||
" if (true)\n"
|
||||
"g();", ShortMergedIf);
|
||||
}
|
||||
|
||||
// FIXME: This breaks the order of the unwrapped lines:
|
||||
// TEST_F(FormatTest, OrderUnwrappedLines) {
|
||||
// verifyFormat("{\n"
|
||||
// " bool a; //\n"
|
||||
// "#error {\n"
|
||||
// " int a;\n"
|
||||
// "}");
|
||||
// }
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Objective-C tests.
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
|
Загрузка…
Ссылка в новой задаче