[llvm-dev] Codifying our Brace rules-

David Blaikie via llvm-dev llvm-dev at lists.llvm.org
Mon Jun 15 12:56:20 PDT 2020


For my part, I think I've tended to leave this case as pretty much
entirely discretionary - don't think I've ever given code review
feedback about adding/removing braces on these associated blocks
because there were necessary braces on one of them. (similarly, I
don't think I've complained either way about braces on multiline
single statement blocks)

If I had to pick a rule (not sure we have to) - yeah, I'd probably
lean towards the all/nothing camp for associated blocks (& probably
/not/ putting braces on multiline single statement blocks).

But I think they're both areas where discretion/local readability
isn't super problematic.

On Mon, Jun 15, 2020 at 12:46 PM Keane, Erich via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
>
> Hi all-
>
>
>
> A few weeks ago I noticed that our “omit braces with single line blocks” rule wasn’t written down!  Additionally, as a group on IRC and in review, noticed that the enforcement of this rule has been extremely inconsistent.  We made a first run at codifying our existing practice here: https://reviews.llvm.org/D80947, which was then committed after significant time on llvm-commits.
>
>
>
> I would like to encourage the list via discussion and further reviews/commits to come to a consensus on what we actually MEAN by this rule.  For example, a recent comment points out that :
>
>
>
> If (cond)
>
>   Stmt;
>
> else if (cond)
>
>   Stmt;
>
> else {
>
>   Stmt;
>
>   Stmt;
>
> }
>
>
>
> Should require braces on all of the conditions!  However, we are extraordinarily inconsistent here.  My wish is for us to become more consistent, so I would like us to use this thread to organize our collective thoughts on figuring out what the rule actually SHOULD be, and organizing a handful of commits to the coding standard to make sure it says what we mean.
>
>
> Thanks,
> Erich
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev


More information about the llvm-dev mailing list