]> granicus.if.org Git - clang/commitdiff
Don't try to do a hanging ident after assignments.
authorDaniel Jasper <djasper@google.com>
Wed, 23 Jan 2013 15:55:19 +0000 (15:55 +0000)
committerDaniel Jasper <djasper@google.com>
Wed, 23 Jan 2013 15:55:19 +0000 (15:55 +0000)
Before:
bool aaaa = aaaaaaaaaaa(
                aaaaaaaaaaaaaaaaa);

After:
bool aaaa = aaaaaaaaaaa(
    aaaaaaaaaaaaaaaaa);

The other indentation was a nice attempt but doesn't work in many cases.
Not sure what the right long term solution is as the "After: " is still
not nice. We either need to figure out what to do in the cases where it
"doesn't work" or come up with a third solution, e.g. falling back to:

bool aaaa =
    aaaaaaaaaaa(
        aaaaaaaaaaaaaaaaa);

which should always work and nicely highlight the structure.

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

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

index 2952067c398db5eb714fe83cc7588dcd8ddbf819..9b6067c37b78c3f20ff0f1f9f128a045a2fd8f74 100644 (file)
@@ -596,12 +596,9 @@ private:
           Current.isNot(tok::comment))
         State.Stack[ParenLevel].HasMultiParameterLine = true;
 
-
-      // Top-level spaces that are not part of assignments are exempt as that
-      // mostly leads to better results.
+      // Top-level spaces are exempt as that mostly leads to better results.
       State.Column += Spaces;
-      if (Spaces > 0 &&
-          (ParenLevel != 0 || getPrecedence(Previous) == prec::Assignment))
+      if (Spaces > 0 && ParenLevel != 0)
         State.Stack[ParenLevel].LastSpace = State.Column;
     }
 
index 708b7d8086a3934d0a51558fa60db3a87179d903..493f2ad7b2ebe4d504e5c004b270659b24e2af60 100644 (file)
@@ -1040,9 +1040,8 @@ TEST_F(FormatTest, BreaksAfterAssignments) {
       "    TTI.getMemoryOpCost(I->getOpcode(), VectorTy, SI->getAlignment(),\n"
       "                        SI->getPointerAddressSpaceee());\n");
   verifyFormat(
-      "CharSourceRange LineRange =\n"
-      "    CharSourceRange::getTokenRange(Line.Tokens.front().Tok.getLoc(),\n"
-      "                                   Line.Tokens.back().Tok.getLoc());");
+      "CharSourceRange LineRange = CharSourceRange::getTokenRange(\n"
+      "    Line.Tokens.front().Tok.getLo(), Line.Tokens.back().Tok.getLoc());");
 }
 
 TEST_F(FormatTest, AlignsAfterAssignments) {