Ah, that makes sense. Thanks :-)
On Tue, Apr 29, 2014 at 10:01 PM, Daniel Jasper <[email protected]> wrote: > Not really. > > Before, this was horribly broken and definitely contradicted they style > guide. Now, it is just an open question of whether you are allowed to but a > short function onto a single line and AFAIU, there is a bit of disagreement > on that. And (with ColumnLimit == 0) clang-format will just leave the > authors choice. Thus, if you wrap the function on multiple lines, it will > also put the braces on their own line. If you decide put it on a single > line, it will leave that intact. > > And if one day, WebKit developers decide that this is not the way to go, > single-line functions can be prevented by a flag flip. > > > On Tue, Apr 29, 2014 at 7:44 PM, Nico Weber <[email protected]> wrote: >> >> On Tue, Apr 29, 2014 at 7:05 AM, Daniel Jasper <[email protected]> wrote: >>> >>> Author: djasper >>> Date: Tue Apr 29 09:05:20 2014 >>> New Revision: 207527 >>> >>> URL: http://llvm.org/viewvc/llvm-project?rev=207527&view=rev >>> Log: >>> clang-format: Allow single-line function in WebKit style. >>> >>> Before: >>> void f() { >>> return; } >>> >>> After: >>> void f() { return; } >>> >>> Modified: >>> cfe/trunk/lib/Format/ContinuationIndenter.cpp >>> cfe/trunk/lib/Format/Format.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=207527&r1=207526&r2=207527&view=diff >>> >>> ============================================================================== >>> --- cfe/trunk/lib/Format/ContinuationIndenter.cpp (original) >>> +++ cfe/trunk/lib/Format/ContinuationIndenter.cpp Tue Apr 29 09:05:20 >>> 2014 >>> @@ -207,8 +207,8 @@ bool ContinuationIndenter::mustBreak(con >>> // 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)) >>> + if (Style.ColumnLimit != 0 && Previous.BlockKind == BK_Block && >>> + Previous.is(tok::l_brace) && !Current.isOneOf(tok::r_brace, >>> tok::comment)) >>> return true; >>> >>> return false; >>> >>> Modified: cfe/trunk/lib/Format/Format.cpp >>> URL: >>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Format/Format.cpp?rev=207527&r1=207526&r2=207527&view=diff >>> >>> ============================================================================== >>> --- cfe/trunk/lib/Format/Format.cpp (original) >>> +++ cfe/trunk/lib/Format/Format.cpp Tue Apr 29 09:05:20 2014 >>> @@ -499,6 +499,8 @@ public: >>> bool Newline = >>> Indenter->mustBreak(State) || >>> (Indenter->canBreak(State) && State.NextToken->NewlinesBefore >>> > 0); >>> + llvm::errs() << State.NextToken->Tok.getName() << " " >>> + << Indenter->mustBreak(State) << "\n"; >>> Indenter->addTokenToState(State, Newline, /*DryRun=*/false); >>> } >>> } >>> >>> Modified: cfe/trunk/unittests/Format/FormatTest.cpp >>> URL: >>> http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/Format/FormatTest.cpp?rev=207527&r1=207526&r2=207527&view=diff >>> >>> ============================================================================== >>> --- cfe/trunk/unittests/Format/FormatTest.cpp (original) >>> +++ cfe/trunk/unittests/Format/FormatTest.cpp Tue Apr 29 09:05:20 2014 >>> @@ -8198,6 +8198,9 @@ TEST_F(FormatTest, FormatsWithWebKitStyl >>> "}", >>> Style)); >>> >>> + // Allow functions on a single line. >>> + verifyFormat("void f() { return; }", Style); >> >> >> This seems to contradict >> http://www.webkit.org/coding/coding-style.html#braces-function . What's the >> motivation for this change? >> >>> >>> + >>> // Constructor initializers are formatted one per line with the "," on >>> the >>> // new line. >>> verifyFormat("Constructor()\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
