mirror of
https://github.com/intel/llvm.git
synced 2026-02-09 01:52:26 +08:00
clang-format: Don't let a leading "template <..>" lead to wrapped initializers.
Before:
Constructor() : initializer(0) {}
template <typename T>
Constructor()
: initializer(0) {}
After:
Constructor() : initializer(0) {}
template <typename T>
Constructor() : initializer(0) {}
llvm-svn: 246146
This commit is contained in:
@@ -158,6 +158,9 @@ bool ContinuationIndenter::mustBreak(const LineState &State) {
|
||||
getColumnLimit(State))
|
||||
return true;
|
||||
if (Current.is(TT_CtorInitializerColon) &&
|
||||
(State.Column + State.Line->Last->TotalLength - Current.TotalLength + 2 >
|
||||
getColumnLimit(State) ||
|
||||
State.Stack.back().BreakBeforeParameter) &&
|
||||
((Style.AllowShortFunctionsOnASingleLine != FormatStyle::SFS_All) ||
|
||||
Style.BreakConstructorInitializersBeforeComma || Style.ColumnLimit != 0))
|
||||
return true;
|
||||
|
||||
@@ -3519,6 +3519,10 @@ TEST_F(FormatTest, ConstructorInitializers) {
|
||||
" : Inttializer(FitsOnTheLine) {}",
|
||||
getLLVMStyleWithColumns(43));
|
||||
|
||||
verifyFormat("template <typename T>\n"
|
||||
"Constructor() : Initializer(FitsOnTheLine) {}",
|
||||
getLLVMStyleWithColumns(45));
|
||||
|
||||
verifyFormat(
|
||||
"SomeClass::Constructor()\n"
|
||||
" : aaaaaaaaaaaaa(aaaaaaaaaaaaaa), aaaaaaaaaaaaaaa(aaaaaaaaaaaa) {}");
|
||||
@@ -3531,6 +3535,9 @@ TEST_F(FormatTest, ConstructorInitializers) {
|
||||
"SomeClass::Constructor()\n"
|
||||
" : aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa),\n"
|
||||
" aaaaaaaaaaaaaaa(aaaaaaaaaaaa) {}");
|
||||
verifyFormat("Constructor(aaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,\n"
|
||||
" aaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)\n"
|
||||
" : aaaaaaaaaa(aaaaaa) {}");
|
||||
|
||||
verifyFormat("Constructor()\n"
|
||||
" : aaaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaaa),\n"
|
||||
|
||||
Reference in New Issue
Block a user