]> granicus.if.org Git - clang/commitdiff
Fix a bug where we would move a following line into a comment.
authorDaniel Jasper <djasper@google.com>
Wed, 16 Jan 2013 17:00:50 +0000 (17:00 +0000)
committerDaniel Jasper <djasper@google.com>
Wed, 16 Jan 2013 17:00:50 +0000 (17:00 +0000)
Before: Constructor() : a(a), // comment a(a) {}
After:  Constructor() : a(a), // comment
                        a(a) {}

Needed this as a quick fix. Will add more tests for this in a future
commit.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172624 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Format/Format.cpp
unittests/Format/FormatTest.cpp

index 22166aa27ab1b45409d92d62117601b1bee09d8b..069d2dae7120abddd024f84dcdd1b36cea3e58f8 100644 (file)
@@ -492,7 +492,7 @@ private:
       if (Previous.is(tok::l_paren) || Previous.is(tok::l_brace) ||
           State.NextToken->Parent->Type == TT_TemplateOpener)
         State.Stack[ParenLevel].Indent = State.Column + Spaces;
-      if (Previous.is(tok::comma))
+      if (Previous.is(tok::comma) && Current.Type != TT_LineComment)
         State.Stack[ParenLevel].HasMultiParameterLine = true;
 
 
index 3c92d82f8fb528f17c8478ec56700d98df902eeb..df050a4e2980c1c84666e47e1635818785d67384 100644 (file)
@@ -746,6 +746,11 @@ TEST_F(FormatTest, ConstructorInitializers) {
       "    : aaaaaaaaaaaaa(aaaaaaaaaaaaaa),\n"
       "      aaaaaaaaaaaaa(aaaaaaaaaaaaaa),\n"
       "      aaaaaaaaaaaaa(aaaaaaaaaaaaaa) {}");
+  verifyGoogleFormat(
+      "SomeClass::Constructor()\n"
+      "    : aaaaaaaaaaaaa(aaaaaaaaaaaaaa),  // Some comment\n"
+      "      aaaaaaaaaaaaa(aaaaaaaaaaaaaa),\n"
+      "      aaaaaaaaaaaaa(aaaaaaaaaaaaaa) {}");
 
   verifyFormat(
       "SomeClass::Constructor()\n"