Don't try to do a hanging ident after assignments.
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
diff --git a/lib/Format/Format.cpp b/lib/Format/Format.cpp
index 2952067..9b6067c 100644
--- a/lib/Format/Format.cpp
+++ b/lib/Format/Format.cpp
@@ -596,12 +596,9 @@
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;
}
diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp
index 708b7d8..493f2ad 100644
--- a/unittests/Format/FormatTest.cpp
+++ b/unittests/Format/FormatTest.cpp
@@ -1040,9 +1040,8 @@
" 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) {