On Wed, May 21, 2025 at 11:31:01PM +0200, Alejandro Colomar wrote:
> The preexisting ones are not just the outermost ones.  The preexisting
> code was 
> 
>               (in_sizeof
>                ? "sizeof"
>                : (in_typeof ? "typeof" : "alignof")));
> 
> The only pattern I can find in that code is wrapping every ?:
> subexpression in ().  I would find not doing so for the last one I'm
> adding inconsistent with it.  On the other hand, I would agree that
> limiting it to just the outermost ones would be more readable, but that
> would mean removing existing ()s.  So can you please confirm that I
> should remove the existing inner ()?

I think
    warning_at (loc, OPT_Wc___compat,
                "defining type in %qs expression is invalid in C++",
                in_sizeof ? "sizeof" : in_typeof ? "typeof"
                : in_alignof ? "alignof" : "_Countof");
or say
                (in_sizeof ? "sizeof"
                 : in_typeof ? "typeof"
                 : in_alignof ? "alignof"
                 : "_Countof"));
or that without the extra () would look better.
Those are the styles used elsewhere, e.g.
alias.cc-  sizey = (!MEM_P (rtly) ? poly_int64 (GET_MODE_SIZE (GET_MODE (rtly)))
alias.cc:          : MEM_SIZE_KNOWN_P (rtly) ? MEM_SIZE (rtly)
alias.cc-          : -1);
or
cfgexpand.cc-                   allows_reg ? EXPAND_NORMAL
cfgexpand.cc:                   : allows_mem ? EXPAND_MEMORY
cfgexpand.cc-                   : EXPAND_INITIALIZER);
or
combine.cc-       inner = simplify_binary_operation (code == MINUS ? PLUS
combine.cc:                                          : code == DIV ? MULT
combine.cc-                                          : code,
combine.cc-                                          mode, inner_op0, 
inner_op1);
etc.

        Jakub

Reply via email to