Yep. Thank you!
On Mon, Jan 6, 2014 at 12:21 AM, Sean Silva <[email protected]> wrote: > Thanks! Did you mean to close <http://llvm.org/bugs/show_bug.cgi?id=16517 > >? > > -- Sean Silva > > > On Sun, Jan 5, 2014 at 5:38 AM, Daniel Jasper <[email protected]> wrote: > >> Author: djasper >> Date: Sun Jan 5 06:38:10 2014 >> New Revision: 198558 >> >> URL: http://llvm.org/viewvc/llvm-project?rev=198558&view=rev >> Log: >> clang-format: Allow formatting short enums on a single line. >> >> Before: >> enum ShortEnum { >> A, >> B, >> C >> }; >> >> After: >> enum ShortEnum { A, B, C }; >> >> This seems to be the predominant choice in LLVM/Clang as well as in >> Google style. >> >> Modified: >> cfe/trunk/lib/Format/ContinuationIndenter.cpp >> cfe/trunk/lib/Format/TokenAnnotator.cpp >> cfe/trunk/unittests/Format/FormatTest.cpp >> >> Modified: cfe/trunk/lib/Format/ContinuationIndenter.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Format/ContinuationIndenter.cpp?rev=198558&r1=198557&r2=198558&view=diff >> >> ============================================================================== >> --- cfe/trunk/lib/Format/ContinuationIndenter.cpp (original) >> +++ cfe/trunk/lib/Format/ContinuationIndenter.cpp Sun Jan 5 06:38:10 2014 >> @@ -182,10 +182,6 @@ bool ContinuationIndenter::mustBreak(con >> State.Stack.back().ObjCSelectorNameFound && >> State.Stack.back().BreakBeforeParameter) >> return true; >> - if (Current.Type == TT_CtorInitializerColon && >> - (!Style.AllowShortFunctionsOnASingleLine || >> - Style.BreakConstructorInitializersBeforeComma || >> Style.ColumnLimit != 0)) >> - return true; >> if (Previous.ClosesTemplateDeclaration && State.ParenLevel == 0 && >> !Current.isTrailingComment()) >> return true; >> @@ -199,6 +195,18 @@ bool ContinuationIndenter::mustBreak(con >> (State.Stack.back().BreakBeforeParameter && >> State.Stack.back().ContainsUnwrappedBuilder))) >> return true; >> + >> + // The following could be precomputed as they do not depend on the >> state. >> + // However, as they should take effect only if the UnwrappedLine does >> not fit >> + // into the ColumnLimit, they are checked here in the >> ContinuationIndenter. >> + if (Previous.BlockKind == BK_Block && Previous.is(tok::l_brace) && >> + !Current.isOneOf(tok::r_brace, tok::comment)) >> + return true; >> + if (Current.Type == TT_CtorInitializerColon && >> + (!Style.AllowShortFunctionsOnASingleLine || >> + Style.BreakConstructorInitializersBeforeComma || >> Style.ColumnLimit != 0)) >> + return true; >> + >> return false; >> } >> >> >> Modified: cfe/trunk/lib/Format/TokenAnnotator.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Format/TokenAnnotator.cpp?rev=198558&r1=198557&r2=198558&view=diff >> >> ============================================================================== >> --- cfe/trunk/lib/Format/TokenAnnotator.cpp (original) >> +++ cfe/trunk/lib/Format/TokenAnnotator.cpp Sun Jan 5 06:38:10 2014 >> @@ -1438,9 +1438,6 @@ bool TokenAnnotator::mustBreakBefore(con >> Style.BreakConstructorInitializersBeforeComma && >> !Style.ConstructorInitializerAllOnOneLineOrOnePerLine) { >> return true; >> - } else if (Right.Previous->BlockKind == BK_Block && >> - Right.Previous->isNot(tok::r_brace) && >> Right.isNot(tok::r_brace)) { >> - return true; >> } else if (Right.is(tok::l_brace) && (Right.BlockKind == BK_Block)) { >> return Style.BreakBeforeBraces == FormatStyle::BS_Allman || >> Style.BreakBeforeBraces == FormatStyle::BS_GNU; >> >> Modified: cfe/trunk/unittests/Format/FormatTest.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/Format/FormatTest.cpp?rev=198558&r1=198557&r2=198558&view=diff >> >> ============================================================================== >> --- cfe/trunk/unittests/Format/FormatTest.cpp (original) >> +++ cfe/trunk/unittests/Format/FormatTest.cpp Sun Jan 5 06:38:10 2014 >> @@ -1650,18 +1650,21 @@ TEST_F(FormatTest, FormatsEnum) { >> verifyFormat("enum X f() {\n a();\n return 42;\n}"); >> verifyFormat("enum {\n" >> " Bar = Foo<int, int>::value\n" >> - "};"); >> + "};", >> + getLLVMStyleWithColumns(30)); >> + >> + verifyFormat("enum ShortEnum { A, B, C };"); >> } >> >> TEST_F(FormatTest, FormatsEnumsWithErrors) { >> verifyFormat("enum Type {\n" >> - " One = 0;\n" // These semicolons should be commas. >> + " One = 0; // These semicolons should be commas.\n" >> " Two = 1;\n" >> "};"); >> verifyFormat("namespace n {\n" >> "enum Type {\n" >> " One,\n" >> - " Two,\n" // missing }; >> + " Two, // missing };\n" >> " int i;\n" >> "}\n" >> "void g() {}"); >> @@ -1703,13 +1706,11 @@ TEST_F(FormatTest, FormatsEnumClass) { >> >> TEST_F(FormatTest, FormatsEnumTypes) { >> verifyFormat("enum X : int {\n" >> - " A,\n" >> - " B\n" >> - "};"); >> - verifyFormat("enum X : std::uint32_t {\n" >> - " A,\n" >> + " A, // Force multiple lines.\n" >> " B\n" >> "};"); >> + verifyFormat("enum X : int { A, B };"); >> + verifyFormat("enum X : std::uint32_t { A, B };"); >> } >> >> TEST_F(FormatTest, FormatsBitfields) { >> @@ -6605,7 +6606,7 @@ TEST_F(FormatTest, ConfigurableUseOfTab) >> "};", >> Tab); >> verifyFormat("enum A {\n" >> - "\ta1,\n" >> + "\ta1, // Force multiple lines\n" >> "\ta2,\n" >> "\ta3\n" >> "};", >> >> >> _______________________________________________ >> cfe-commits mailing list >> [email protected] >> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits >> > >
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
