From 55aed6777f62ad6ec5ac6388b41bb95dc888a468 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. llvm-svn: 223609 --- clang/lib/Format/Format.cpp | 3 +++ clang/unittests/Format/FormatTest.cpp | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/clang/lib/Format/Format.cpp b/clang/lib/Format/Format.cpp index cf8e5d3..ebd1290 100644 --- a/clang/lib/Format/Format.cpp +++ b/clang/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/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp index cf2d809..8664711 100644 --- a/clang/unittests/Format/FormatTest.cpp +++ b/clang/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.7.4