From b0dfccf692897e7388e8e3fb020a26db79161b39 Mon Sep 17 00:00:00 2001 From: Daniel Jasper Date: Sun, 7 Dec 2014 16:44:49 +0000 Subject: [PATCH] clang-format: Don't merge lines with comments. Before: int f() { // comment return 42; } After: int f() { // comment return 42; } This fixes llvm.org/PR21769. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@223609 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Format/Format.cpp | 3 +++ unittests/Format/FormatTest.cpp | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/lib/Format/Format.cpp b/lib/Format/Format.cpp index cf8e5d32ae..ebd12909e1 100644 --- a/lib/Format/Format.cpp +++ b/lib/Format/Format.cpp @@ -665,6 +665,9 @@ public: } if (I[1]->First->is(TT_FunctionLBrace) && Style.BreakBeforeBraces != FormatStyle::BS_Attach) { + if (I[1]->Last->is(TT_LineComment)) + return 0; + // Check for Limit <= 2 to account for the " {". if (Limit <= 2 || (Style.ColumnLimit == 0 && containsMustBreak(TheLine))) return 0; diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp index cf2d8097f7..8664711aa0 100644 --- a/unittests/Format/FormatTest.cpp +++ b/unittests/Format/FormatTest.cpp @@ -8372,6 +8372,11 @@ TEST_F(FormatTest, AllmanBraceBreaking) { " [object someMethod:@{ @\"a\" : @\"b\" }];\n" "}", AllmanBraceStyle); + verifyFormat("int f()\n" + "{ // comment\n" + " return 42;\n" + "}", + AllmanBraceStyle); AllmanBraceStyle.ColumnLimit = 19; verifyFormat("void f() { int i; }", AllmanBraceStyle); -- 2.40.0