forked from OSchip/llvm-project
clang-format: Break before 'else' in Stroustrup style.
Seems to be the desired thing to do according to: http://www.stroustrup.com/Programming/PPP-style-rev3.pdf Patch by Jarkko Hietaniemi, thank you! llvm-svn: 214857
This commit is contained in:
parent
202f3c5346
commit
d9670878d4
|
@ -269,7 +269,7 @@ struct FormatStyle {
|
|||
/// Like \c Attach, but break before braces on function, namespace and
|
||||
/// class definitions.
|
||||
BS_Linux,
|
||||
/// Like \c Attach, but break before function definitions.
|
||||
/// Like \c Attach, but break before function definitions, and 'else'.
|
||||
BS_Stroustrup,
|
||||
/// Always break before braces.
|
||||
BS_Allman,
|
||||
|
|
|
@ -1080,6 +1080,8 @@ void UnwrappedLineParser::parseIfThenElse() {
|
|||
--Line->Level;
|
||||
}
|
||||
if (FormatTok->Tok.is(tok::kw_else)) {
|
||||
if (Style.BreakBeforeBraces == FormatStyle::BS_Stroustrup)
|
||||
addUnwrappedLine();
|
||||
nextToken();
|
||||
if (FormatTok->Tok.is(tok::l_brace)) {
|
||||
CompoundStatementIndenter Indenter(this, Style, Line->Level);
|
||||
|
|
|
@ -7677,6 +7677,17 @@ TEST_F(FormatTest, StroustrupBraceBreaking) {
|
|||
"}",
|
||||
BreakBeforeBrace);
|
||||
|
||||
verifyFormat("void foo()\n"
|
||||
"{\n"
|
||||
" if (a) {\n"
|
||||
" a();\n"
|
||||
" }\n"
|
||||
" else {\n"
|
||||
" b();\n"
|
||||
" }\n"
|
||||
"}\n",
|
||||
BreakBeforeBrace);
|
||||
|
||||
verifyFormat("#ifdef _DEBUG\n"
|
||||
"int foo(int i = 0)\n"
|
||||
"#else\n"
|
||||
|
|
Loading…
Reference in New Issue