summaryrefslogtreecommitdiffstats
path: root/clang/lib/Format/ContinuationIndenter.cpp
diff options
context:
space:
mode:
authorDaniel Jasper <djasper@google.com>2013-10-18 15:23:06 +0000
committerDaniel Jasper <djasper@google.com>2013-10-18 15:23:06 +0000
commitcc3114d8761bd78a92be86e198ded2ca8d14d0ce (patch)
tree70032e7f5c671f069dad5c01042b3662ebb9315c /clang/lib/Format/ContinuationIndenter.cpp
parentf11e485d6036334e5f3bcd4f15eff5d72418cc3b (diff)
downloadbcm5719-llvm-cc3114d8761bd78a92be86e198ded2ca8d14d0ce.tar.gz
bcm5719-llvm-cc3114d8761bd78a92be86e198ded2ca8d14d0ce.zip
clang-format: Improve formatting of templated builder-type calls.
Before: aaaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaaaaaaaaaaaaaaa().aaaaaaaaaaaaaaaaa().has< bbbbbbbbbbbbbbbbbbbbb>(); After: aaaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaaaaaaaaaa() .aaaaaaaaaaaaaaaaaaaaaaaaaa() .has<bbbbbbbbbbbbbbbbbbbbb>(); llvm-svn: 192981
Diffstat (limited to 'clang/lib/Format/ContinuationIndenter.cpp')
-rw-r--r--clang/lib/Format/ContinuationIndenter.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/clang/lib/Format/ContinuationIndenter.cpp b/clang/lib/Format/ContinuationIndenter.cpp
index bbca06e6dfb..b0bd13b69a3 100644
--- a/clang/lib/Format/ContinuationIndenter.cpp
+++ b/clang/lib/Format/ContinuationIndenter.cpp
@@ -581,9 +581,12 @@ unsigned ContinuationIndenter::moveStateToNextToken(LineState &State,
Current.PackingKind == PPK_Inconclusive)));
}
- State.Stack.push_back(
- ParenState(NewIndent, NewIndentLevel, State.Stack.back().LastSpace,
- AvoidBinPacking, State.Stack.back().NoLineBreak));
+ bool NoLineBreak = State.Stack.back().NoLineBreak ||
+ (Current.Type == TT_TemplateOpener &&
+ State.Stack.back().ContainsUnwrappedBuilder);
+ State.Stack.push_back(ParenState(NewIndent, NewIndentLevel,
+ State.Stack.back().LastSpace,
+ AvoidBinPacking, NoLineBreak));
State.Stack.back().BreakBeforeParameter = Current.BlockKind == BK_Block;
++State.ParenLevel;
}
OpenPOWER on IntegriCloud