https://github.com/Ezlanding1 updated https://github.com/llvm/llvm-project/pull/181281
>From a2a04832e3f93b879f3bee4b235c4e3ab5b94400 Mon Sep 17 00:00:00 2001 From: Ezlanding1 <[email protected]> Date: Thu, 12 Feb 2026 19:55:05 -0500 Subject: [PATCH 1/7] Add MaxParametersOnLine format option --- clang/docs/ClangFormatStyleOptions.rst | 31 ++++++++++++++++++++++++++ clang/include/clang/Format/Format.h | 30 +++++++++++++++++++++++++ clang/lib/Format/Format.cpp | 1 + 3 files changed, 62 insertions(+) diff --git a/clang/docs/ClangFormatStyleOptions.rst b/clang/docs/ClangFormatStyleOptions.rst index 5ba117c231ad5..592f94c99010b 100644 --- a/clang/docs/ClangFormatStyleOptions.rst +++ b/clang/docs/ClangFormatStyleOptions.rst @@ -5252,6 +5252,37 @@ the configuration (without a prefix: ``Auto``). return i; } +.. _MaxParametersOnLine: + +**MaxParametersOnLine** (``Unsigned``) :versionbadge:`clang-format 23` :ref:`¶ <MaxParametersOnLine>` + The maximum amount of parameters that may appear on a single line in a + function declaration. This option can be used with ``BPPS_OnePerLine`` to + put every parameter on its own line if the function has more than + ``MaxParametersOnLine`` parameters. If this option is 0, there is no maximum. + + .. code-block:: c++ + + MaxParametersOnLine: 3 + BinPackParameters: BPPS_BinPack + + void foo(int a, int b, int c); + + void foo(int a, int b, int c, + int d); + + void foo(int a, int b, int c, + int d, int e, int f, + int g, int h, int i); + + BinPackParameters: BPPS_OnePerLine + + void foo(int a, int b, int c); + + void foo(int a, + int b, + int c, + int d); + .. _NamespaceIndentation: **NamespaceIndentation** (``NamespaceIndentationKind``) :versionbadge:`clang-format 3.7` :ref:`¶ <NamespaceIndentation>` diff --git a/clang/include/clang/Format/Format.h b/clang/include/clang/Format/Format.h index 43bea4b80cb8a..0073ad96239cb 100644 --- a/clang/include/clang/Format/Format.h +++ b/clang/include/clang/Format/Format.h @@ -1254,6 +1254,35 @@ struct FormatStyle { /// \version 3.7 BinPackParametersStyle BinPackParameters; + /// The maximum amount of parameters that may appear on a single line in a + /// function declaration. This option can be used with \c BPPS_OnePerLine to + /// put every parameter on its own line if the function has more than + /// \c MaxParametersOnLine parameters. If this option is 0, there is no maximum. + /// \code + /// MaxParametersOnLine: 3 + /// BinPackParameters: BPPS_BinPack + /// + /// void foo(int a, int b, int c); + /// + /// void foo(int a, int b, int c, + /// int d); + /// + /// void foo(int a, int b, int c, + /// int d, int e, int f, + /// int g, int h, int i); + /// + /// BinPackParameters: BPPS_OnePerLine + /// + /// void foo(int a, int b, int c); + /// + /// void foo(int a, + /// int b, + /// int c, + /// int d); + /// \endcode + /// \version 23 + unsigned MaxParametersOnLine; + /// Styles for adding spacing around ``:`` in bitfield definitions. enum BitFieldColonSpacingStyle : int8_t { /// Add one space on each side of the ``:`` @@ -5694,6 +5723,7 @@ struct FormatStyle { BinPackArguments == R.BinPackArguments && BinPackLongBracedList == R.BinPackLongBracedList && BinPackParameters == R.BinPackParameters && + MaxParametersOnLine == R.MaxParametersOnLine && BitFieldColonSpacing == R.BitFieldColonSpacing && BracedInitializerIndentWidth == R.BracedInitializerIndentWidth && BreakAdjacentStringLiterals == R.BreakAdjacentStringLiterals && diff --git a/clang/lib/Format/Format.cpp b/clang/lib/Format/Format.cpp index 1e68de531791f..6a68012525144 100644 --- a/clang/lib/Format/Format.cpp +++ b/clang/lib/Format/Format.cpp @@ -1355,6 +1355,7 @@ template <> struct MappingTraits<FormatStyle> { Style.WhitespaceSensitiveMacros); IO.mapOptional("WrapNamespaceBodyWithEmptyLines", Style.WrapNamespaceBodyWithEmptyLines); + IO.mapOptional("MaxParametersOnLine", Style.MaxParametersOnLine); // If AlwaysBreakAfterDefinitionReturnType was specified but // BreakAfterReturnType was not, initialize the latter from the former for >From 3d7741fde79127c386139ced866f6d932d04583b Mon Sep 17 00:00:00 2001 From: Ezlanding1 <[email protected]> Date: Thu, 12 Feb 2026 20:08:02 -0500 Subject: [PATCH 2/7] Implement MaxParametersOnLine format option --- clang/lib/Format/TokenAnnotator.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp index b1c1afbf8684d..516c997e75cfc 100644 --- a/clang/lib/Format/TokenAnnotator.cpp +++ b/clang/lib/Format/TokenAnnotator.cpp @@ -4246,6 +4246,26 @@ void TokenAnnotator::calculateFormattingInformation(AnnotatedLine &Line) const { ChildSize + Current->SpacesRequiredBefore; } + if (Style.MaxParametersOnLine > 0 && + Current->is(TT_FunctionDeclarationLParen) && + Current->ParameterCount > Style.MaxParametersOnLine) { + const auto *RParen = Current->MatchingParen; + unsigned CurrentParamNum = 0; + for (auto *ParamTok = Current->Next; ParamTok && ParamTok != RParen; + ParamTok = ParamTok->Next) { + if (ParamTok->opensScope()) { + ParamTok = ParamTok->MatchingParen; + continue; + } + + if (ParamTok->is(tok::comma) && ParamTok->Next && + (++CurrentParamNum % Style.MaxParametersOnLine) == 0) { + ParamTok->Next->MustBreakBefore = true; + ParamTok->Next->CanBreakBefore = true; + } + } + } + if (Current->is(TT_ControlStatementLBrace)) { if (Style.ColumnLimit > 0 && Style.BraceWrapping.AfterControlStatement == >From caffe220d477bd8813c09bb67912544b7a24ce08 Mon Sep 17 00:00:00 2001 From: Ezlanding1 <[email protected]> Date: Mon, 16 Feb 2026 16:07:52 -0500 Subject: [PATCH 3/7] Improve parameter check with startsNextParameter() --- clang/lib/Format/TokenAnnotator.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp index 516c997e75cfc..a1d7ba49d3aad 100644 --- a/clang/lib/Format/TokenAnnotator.cpp +++ b/clang/lib/Format/TokenAnnotator.cpp @@ -4258,10 +4258,10 @@ void TokenAnnotator::calculateFormattingInformation(AnnotatedLine &Line) const { continue; } - if (ParamTok->is(tok::comma) && ParamTok->Next && + if (startsNextParameter(*ParamTok, Style) && (++CurrentParamNum % Style.MaxParametersOnLine) == 0) { - ParamTok->Next->MustBreakBefore = true; - ParamTok->Next->CanBreakBefore = true; + ParamTok->MustBreakBefore = true; + ParamTok->CanBreakBefore = true; } } } >From 99c3f842e78e007c39d31ce9ba42c352c34519c8 Mon Sep 17 00:00:00 2001 From: Ezlanding1 <[email protected]> Date: Mon, 16 Feb 2026 16:43:31 -0500 Subject: [PATCH 4/7] Apply MaxParametersOnLine option to all parenthesized parameter lists --- clang/lib/Format/TokenAnnotator.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp index a1d7ba49d3aad..236c6e7ea89f7 100644 --- a/clang/lib/Format/TokenAnnotator.cpp +++ b/clang/lib/Format/TokenAnnotator.cpp @@ -4247,7 +4247,7 @@ void TokenAnnotator::calculateFormattingInformation(AnnotatedLine &Line) const { } if (Style.MaxParametersOnLine > 0 && - Current->is(TT_FunctionDeclarationLParen) && + Current->is(tok::l_paren) && Current->ParameterCount > Style.MaxParametersOnLine) { const auto *RParen = Current->MatchingParen; unsigned CurrentParamNum = 0; >From ad23bb5edf114bb12b69151218c5a6f214c30bdf Mon Sep 17 00:00:00 2001 From: Ezlanding1 <[email protected]> Date: Mon, 16 Feb 2026 16:49:00 -0500 Subject: [PATCH 5/7] Break every parameter and rename to BreakParametersAfter --- clang/docs/ClangFormatStyleOptions.rst | 62 +++++++++++++------------- clang/include/clang/Format/Format.h | 60 ++++++++++++------------- clang/lib/Format/Format.cpp | 2 +- clang/lib/Format/TokenAnnotator.cpp | 8 ++-- 4 files changed, 65 insertions(+), 67 deletions(-) diff --git a/clang/docs/ClangFormatStyleOptions.rst b/clang/docs/ClangFormatStyleOptions.rst index 592f94c99010b..a0673cb8dcbc2 100644 --- a/clang/docs/ClangFormatStyleOptions.rst +++ b/clang/docs/ClangFormatStyleOptions.rst @@ -3752,6 +3752,37 @@ the configuration (without a prefix: ``Auto``). +.. _BreakParametersAfter: + +**BreakParametersAfter** (``Unsigned``) :versionbadge:`clang-format 23` :ref:`¶ <BreakParametersAfter>` + If set to a value greater than 0, any parenthesized parameter or argument + list with more parameters than the specified number will be formatted with + one parameter per line. This applies to all parameter-like lists enclosed + in parentheses, including function declarations, function definitions, + function calls, and comma expressions. + + .. code-block:: c++ + + BreakParametersAfter: 3 + + void foo(int a); + + void bar(int a, int b, int c); + + void baz(int a, + int b, + int c, + int d); + + foo(1); + + bar(1, 2, 3); + + baz(1, + 2, + 3, + 4); + .. _BreakStringLiterals: **BreakStringLiterals** (``Boolean``) :versionbadge:`clang-format 3.9` :ref:`¶ <BreakStringLiterals>` @@ -5252,37 +5283,6 @@ the configuration (without a prefix: ``Auto``). return i; } -.. _MaxParametersOnLine: - -**MaxParametersOnLine** (``Unsigned``) :versionbadge:`clang-format 23` :ref:`¶ <MaxParametersOnLine>` - The maximum amount of parameters that may appear on a single line in a - function declaration. This option can be used with ``BPPS_OnePerLine`` to - put every parameter on its own line if the function has more than - ``MaxParametersOnLine`` parameters. If this option is 0, there is no maximum. - - .. code-block:: c++ - - MaxParametersOnLine: 3 - BinPackParameters: BPPS_BinPack - - void foo(int a, int b, int c); - - void foo(int a, int b, int c, - int d); - - void foo(int a, int b, int c, - int d, int e, int f, - int g, int h, int i); - - BinPackParameters: BPPS_OnePerLine - - void foo(int a, int b, int c); - - void foo(int a, - int b, - int c, - int d); - .. _NamespaceIndentation: **NamespaceIndentation** (``NamespaceIndentationKind``) :versionbadge:`clang-format 3.7` :ref:`¶ <NamespaceIndentation>` diff --git a/clang/include/clang/Format/Format.h b/clang/include/clang/Format/Format.h index 0073ad96239cb..25ad43d588485 100644 --- a/clang/include/clang/Format/Format.h +++ b/clang/include/clang/Format/Format.h @@ -1254,35 +1254,6 @@ struct FormatStyle { /// \version 3.7 BinPackParametersStyle BinPackParameters; - /// The maximum amount of parameters that may appear on a single line in a - /// function declaration. This option can be used with \c BPPS_OnePerLine to - /// put every parameter on its own line if the function has more than - /// \c MaxParametersOnLine parameters. If this option is 0, there is no maximum. - /// \code - /// MaxParametersOnLine: 3 - /// BinPackParameters: BPPS_BinPack - /// - /// void foo(int a, int b, int c); - /// - /// void foo(int a, int b, int c, - /// int d); - /// - /// void foo(int a, int b, int c, - /// int d, int e, int f, - /// int g, int h, int i); - /// - /// BinPackParameters: BPPS_OnePerLine - /// - /// void foo(int a, int b, int c); - /// - /// void foo(int a, - /// int b, - /// int c, - /// int d); - /// \endcode - /// \version 23 - unsigned MaxParametersOnLine; - /// Styles for adding spacing around ``:`` in bitfield definitions. enum BitFieldColonSpacingStyle : int8_t { /// Add one space on each side of the ``:`` @@ -2638,6 +2609,35 @@ struct FormatStyle { /// \version 7 BreakInheritanceListStyle BreakInheritanceList; + /// If set to a value greater than 0, any parenthesized parameter or argument + /// list with more parameters than the specified number will be formatted with + /// one parameter per line. This applies to all parameter-like lists enclosed + /// in parentheses, including function declarations, function definitions, + /// function calls, and comma expressions. + /// \code + /// BreakParametersAfter: 3 + /// + /// void foo(int a); + /// + /// void bar(int a, int b, int c); + /// + /// void baz(int a, + /// int b, + /// int c, + /// int d); + /// + /// foo(1); + /// + /// bar(1, 2, 3); + /// + /// baz(1, + /// 2, + /// 3, + /// 4); + /// \endcode + /// \version 23 + unsigned BreakParametersAfter; + /// The template declaration breaking style to use. /// \version 19 BreakTemplateDeclarationsStyle BreakTemplateDeclarations; @@ -5723,7 +5723,6 @@ struct FormatStyle { BinPackArguments == R.BinPackArguments && BinPackLongBracedList == R.BinPackLongBracedList && BinPackParameters == R.BinPackParameters && - MaxParametersOnLine == R.MaxParametersOnLine && BitFieldColonSpacing == R.BitFieldColonSpacing && BracedInitializerIndentWidth == R.BracedInitializerIndentWidth && BreakAdjacentStringLiterals == R.BreakAdjacentStringLiterals && @@ -5755,6 +5754,7 @@ struct FormatStyle { BreakFunctionDefinitionParameters == R.BreakFunctionDefinitionParameters && BreakInheritanceList == R.BreakInheritanceList && + BreakParametersAfter == R.BreakParametersAfter && BreakStringLiterals == R.BreakStringLiterals && BreakTemplateDeclarations == R.BreakTemplateDeclarations && ColumnLimit == R.ColumnLimit && CommentPragmas == R.CommentPragmas && diff --git a/clang/lib/Format/Format.cpp b/clang/lib/Format/Format.cpp index 6a68012525144..1409028e73731 100644 --- a/clang/lib/Format/Format.cpp +++ b/clang/lib/Format/Format.cpp @@ -1355,7 +1355,7 @@ template <> struct MappingTraits<FormatStyle> { Style.WhitespaceSensitiveMacros); IO.mapOptional("WrapNamespaceBodyWithEmptyLines", Style.WrapNamespaceBodyWithEmptyLines); - IO.mapOptional("MaxParametersOnLine", Style.MaxParametersOnLine); + IO.mapOptional("BreakParametersAfter", Style.BreakParametersAfter); // If AlwaysBreakAfterDefinitionReturnType was specified but // BreakAfterReturnType was not, initialize the latter from the former for diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp index 236c6e7ea89f7..e9b07a1578e49 100644 --- a/clang/lib/Format/TokenAnnotator.cpp +++ b/clang/lib/Format/TokenAnnotator.cpp @@ -4246,11 +4246,10 @@ void TokenAnnotator::calculateFormattingInformation(AnnotatedLine &Line) const { ChildSize + Current->SpacesRequiredBefore; } - if (Style.MaxParametersOnLine > 0 && + if (Style.BreakParametersAfter > 0 && Current->is(tok::l_paren) && - Current->ParameterCount > Style.MaxParametersOnLine) { + Current->ParameterCount > Style.BreakParametersAfter) { const auto *RParen = Current->MatchingParen; - unsigned CurrentParamNum = 0; for (auto *ParamTok = Current->Next; ParamTok && ParamTok != RParen; ParamTok = ParamTok->Next) { if (ParamTok->opensScope()) { @@ -4258,8 +4257,7 @@ void TokenAnnotator::calculateFormattingInformation(AnnotatedLine &Line) const { continue; } - if (startsNextParameter(*ParamTok, Style) && - (++CurrentParamNum % Style.MaxParametersOnLine) == 0) { + if (startsNextParameter(*ParamTok, Style)) { ParamTok->MustBreakBefore = true; ParamTok->CanBreakBefore = true; } >From da2af2419140b4d76a8ca7f993b1968bf933ad40 Mon Sep 17 00:00:00 2001 From: Ezlanding1 <[email protected]> Date: Mon, 16 Feb 2026 22:22:03 -0500 Subject: [PATCH 6/7] Add unit tests for BreakParametersAfter --- clang/lib/Format/Format.cpp | 1 + clang/unittests/Format/ConfigParseTest.cpp | 1 + clang/unittests/Format/FormatTest.cpp | 80 ++++++++++++++++++++++ 3 files changed, 82 insertions(+) diff --git a/clang/lib/Format/Format.cpp b/clang/lib/Format/Format.cpp index 1409028e73731..e0388a17f2ef0 100644 --- a/clang/lib/Format/Format.cpp +++ b/clang/lib/Format/Format.cpp @@ -1729,6 +1729,7 @@ FormatStyle getLLVMStyle(FormatStyle::LanguageKind Language) { LLVMStyle.BreakConstructorInitializers = FormatStyle::BCIS_BeforeColon; LLVMStyle.BreakFunctionDefinitionParameters = false; LLVMStyle.BreakInheritanceList = FormatStyle::BILS_BeforeColon; + LLVMStyle.BreakParametersAfter = 0; LLVMStyle.BreakStringLiterals = true; LLVMStyle.BreakTemplateDeclarations = FormatStyle::BTDS_MultiLine; LLVMStyle.ColumnLimit = 80; diff --git a/clang/unittests/Format/ConfigParseTest.cpp b/clang/unittests/Format/ConfigParseTest.cpp index 0a116b770f52a..ef442a17a7a8f 100644 --- a/clang/unittests/Format/ConfigParseTest.cpp +++ b/clang/unittests/Format/ConfigParseTest.cpp @@ -283,6 +283,7 @@ TEST(ConfigParseTest, ParsesConfigurationIntegers) { CHECK_PARSE_INT(BracedInitializerIndentWidth); CHECK_PARSE_INT(PPIndentWidth); + CHECK_PARSE_UNSIGNED(BreakParametersAfter); CHECK_PARSE_UNSIGNED(ColumnLimit); CHECK_PARSE_UNSIGNED(ConstructorInitializerIndentWidth); CHECK_PARSE_UNSIGNED(ContinuationIndentWidth); diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp index 33836e28289b4..18b33e3869dc7 100644 --- a/clang/unittests/Format/FormatTest.cpp +++ b/clang/unittests/Format/FormatTest.cpp @@ -8164,6 +8164,86 @@ TEST_F(FormatTest, BreakFunctionDefinitionParameters) { " int B)\n" " : m_A(A), m_B(B) {}", Input, Style); + + Style.BinPackParameters = FormatStyle::BPPS_BinPack; + Style.BreakFunctionDefinitionParameters = false; + Style.BreakParametersAfter = 2; + verifyFormat("void functionDecl(paramA, paramB);\n" + "void functionDecl(paramA,\n" + " paramB,\n" + " paramC);\n" + "void functionDecl(paramA,\n" + " paramB,\n" + " paramC,\n" + " paramD,\n" + " paramE);\n" + "void functionDefinition(int A, int B) {}\n" + "void functionDefinition(int A,\n" + " int B,\n" + " int C) {}\n" + "Class::Class(int A, int B) {}\n" + "Class::Class(int A,\n" + " int B,\n" + " int C) {}\n" + "call(a, b);\n" + "call(a,\n" + " b,\n" + " c);\n" + "new Class(a, b);\n" + "new Class(a,\n" + " b,\n" + " c);\n" + "int x = (a, b);\n" + "int y = (a,\n" + " b,\n" + " c);", + Style); + Style.BreakParametersAfter = 4; + verifyFormat("void functionDecl(paramA);\n" + "void functionDecl(paramA, paramB);\n" + "void functionDecl(paramA, paramB, paramC);\n" + "void functionDecl(paramA, paramB, paramC, paramD);\n" + "void functionDecl(paramA,\n" + " paramB,\n" + " paramC,\n" + " paramD,\n" + " paramE);\n" + "void functionDecl(paramA,\n" + " paramB,\n" + " paramC,\n" + " paramD,\n" + " paramE,\n" + " paramF);\n" + "void functionDefinition(int A, int B, int C, int D) {}\n" + "void functionDefinition(int A,\n" + " int B,\n" + " int C,\n" + " int D,\n" + " int E) {}\n" + "Class::Class(int A, int B) {}\n" + "Class::Class(int A, int B, int C, int D) {}\n" + "Class::Class(int A,\n" + " int B,\n" + " int C,\n" + " int D,\n" + " int E) {}\n" + "call(a,\n" + " b,\n" + " c,\n" + " d,\n" + " e);\n" + "new Class(a,\n" + " b,\n" + " c,\n" + " d,\n" + " e);\n" + "int y = (a,\n" + " b,\n" + " c,\n" + " d,\n" + " e);", + Style); + Style.BreakParametersAfter = 0; } TEST_F(FormatTest, BreakBeforeInlineASMColon) { >From 5e69bd95070fca6e9d18c77b03903e0052d466c1 Mon Sep 17 00:00:00 2001 From: Ezlanding1 <[email protected]> Date: Mon, 16 Feb 2026 23:10:05 -0500 Subject: [PATCH 7/7] Calculate BreakParametersAfter from first token - Fixes bugs where a tok::l_paren starts the line, for instance a line beginning with a comma expression or a C# tuple --- clang/lib/Format/TokenAnnotator.cpp | 9 ++++----- clang/unittests/Format/FormatTest.cpp | 13 +++++++++++-- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp index e9b07a1578e49..44be5ead41e39 100644 --- a/clang/lib/Format/TokenAnnotator.cpp +++ b/clang/lib/Format/TokenAnnotator.cpp @@ -4246,11 +4246,10 @@ void TokenAnnotator::calculateFormattingInformation(AnnotatedLine &Line) const { ChildSize + Current->SpacesRequiredBefore; } - if (Style.BreakParametersAfter > 0 && - Current->is(tok::l_paren) && - Current->ParameterCount > Style.BreakParametersAfter) { - const auto *RParen = Current->MatchingParen; - for (auto *ParamTok = Current->Next; ParamTok && ParamTok != RParen; + if (Style.BreakParametersAfter > 0 && Prev->is(tok::l_paren) && + Prev->ParameterCount > Style.BreakParametersAfter) { + const auto *RParen = Prev->MatchingParen; + for (auto *ParamTok = Current; ParamTok && ParamTok != RParen; ParamTok = ParamTok->Next) { if (ParamTok->opensScope()) { ParamTok = ParamTok->MatchingParen; diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp index 18b33e3869dc7..b9a07d960e67c 100644 --- a/clang/unittests/Format/FormatTest.cpp +++ b/clang/unittests/Format/FormatTest.cpp @@ -8196,7 +8196,11 @@ TEST_F(FormatTest, BreakFunctionDefinitionParameters) { "int x = (a, b);\n" "int y = (a,\n" " b,\n" - " c);", + " c);\n" + "(a, b);\n" + "(a,\n" + " b,\n" + " c);", Style); Style.BreakParametersAfter = 4; verifyFormat("void functionDecl(paramA);\n" @@ -8241,7 +8245,12 @@ TEST_F(FormatTest, BreakFunctionDefinitionParameters) { " b,\n" " c,\n" " d,\n" - " e);", + " e);\n" + "(a,\n" + " b,\n" + " c,\n" + " d,\n" + " e);", Style); Style.BreakParametersAfter = 0; } _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
