On Mon, Jul 13, 2020 at 01:51:41PM +0200, Peter Zijlstra wrote:
> On Sat, Jul 11, 2020 at 05:59:54PM +0300, Alexey Dobriyan wrote:
> > Leading comma prevents arbitrary reordering of initialisation clauses.
> > The whole point of C99 initialisation is to allow any such reordering.
> 
> I'm conflicted on this argument, the only reason I'd be inclined to take
> this patch is that it allows fixing the initialization order to not be
> random.

Yes, this is how the issue was noticed.

> That is, I'd fold in the below.
> 
> --- a/include/linux/rwsem.h
> +++ b/include/linux/rwsem.h
> @@ -89,9 +89,9 @@ static inline int rwsem_is_locked(struct
>  #define __RWSEM_INITIALIZER(name)                            \
>       { __RWSEM_INIT_COUNT(name),                             \
>         .owner = ATOMIC_LONG_INIT(0),                         \
> -       .wait_list = LIST_HEAD_INIT((name).wait_list),        \
> -       .wait_lock = __RAW_SPIN_LOCK_UNLOCKED(name.wait_lock),\
>         __RWSEM_OPT_INIT(name)                                \
> +       .wait_lock = __RAW_SPIN_LOCK_UNLOCKED(name.wait_lock),\
> +       .wait_list = LIST_HEAD_INIT((name).wait_list),        \

One less chunk to compile with g++, a billion to go :^)

Reply via email to