]> granicus.if.org Git - clang/commitdiff
Make continuations in constructor initializers consistent.
authorDaniel Jasper <djasper@google.com>
Mon, 28 Jan 2013 13:31:35 +0000 (13:31 +0000)
committerDaniel Jasper <djasper@google.com>
Mon, 28 Jan 2013 13:31:35 +0000 (13:31 +0000)
Before:
Constructor
    : LooooooooooooooooooooongVariable(
        LooooooooooooooooooooongValue) {}

After:
Constructor
    : LooooooooooooooooooooongVariable(
          LooooooooooooooooooooongValue) {}

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

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

index a6a53f48fd80ed6a6914d74a7864cc2e9b35cdea..27d47109bd88dcc609344290e3ad1aa3e5b9660e 100644 (file)
@@ -625,7 +625,8 @@ private:
         // Top-level spaces are exempt as that mostly leads to better results.
         State.Stack.back().LastSpace = State.Column;
       else if ((Previous.Type == TT_BinaryOperator ||
-                Previous.Type == TT_ConditionalExpr) &&
+                Previous.Type == TT_ConditionalExpr ||
+                Previous.Type == TT_CtorInitializerColon) &&
                getPrecedence(Previous) != prec::Assignment)
         State.Stack.back().LastSpace = State.Column;
       else if (Previous.ParameterCount > 1 &&
index c1430193eb6f88ad5cdd5cc743e40f6dc69c8b4a..417dc9e9a24933043ebe1e49e0c55557c6534c01 100644 (file)
@@ -924,6 +924,10 @@ TEST_F(FormatTest, ConstructorInitializers) {
                "                               aaaaaaaaaaaaaaaaaaaaaaaaaaa),\n"
                "      aaaaaaaaaaaaaaaaaaaaaaa() {\n}");
 
+  verifyFormat("Constructor()\n"
+               "    : aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(\n"
+               "          aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) {\n}");
+
   // Here a line could be saved by splitting the second initializer onto two
   // lines, but that is not desireable.
   verifyFormat(