From: Daniel Jasper Date: Thu, 22 May 2014 13:25:26 +0000 (+0000) Subject: clang-format: Fix corner case in AllowShortBlocksOnASingleLine. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=370a3848f4eda9bc25ac305dfc57d6828bc2828d;p=clang clang-format: Fix corner case in AllowShortBlocksOnASingleLine. Before: template struct A4 { A4() { } }; After: template struct A4 { A4() {} }; This fixes llvm.org/PR19813 (at least the part that isn't working as intended). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209438 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Format/Format.cpp b/lib/Format/Format.cpp index 2821e4aa2c..3df1366900 100644 --- a/lib/Format/Format.cpp +++ b/lib/Format/Format.cpp @@ -690,8 +690,7 @@ private: if (I[1]->Last->Type == TT_LineComment) return 0; do { - if (Tok->is(tok::l_brace) && Tok->BlockKind != BK_BracedInit && - !Style.AllowShortBlocksOnASingleLine) + if (Tok->is(tok::l_brace) && Tok->BlockKind != BK_BracedInit) return 0; Tok = Tok->Next; } while (Tok); diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp index 729eeaf439..b3fb776a7a 100644 --- a/unittests/Format/FormatTest.cpp +++ b/unittests/Format/FormatTest.cpp @@ -378,6 +378,11 @@ TEST_F(FormatTest, FormatShortBracedStatements) { "}", AllowSimpleBracedStatements); + verifyFormat("template struct A2 {\n" + " struct B {};\n" + "};", + AllowSimpleBracedStatements); + AllowSimpleBracedStatements.AllowShortIfStatementsOnASingleLine = false; verifyFormat("if (true) {\n" " f();\n"