On Sat, Sep 02, 2023 at 07:54:13PM +0200, Bruno Haible wrote: > The option "-std=gnu2x" is useful; however, the option "-Wpedantic" that you > have enabled is generally much less useful. > > This code in lib/error.h exists for the purpose of providing actually > useful warnings about the control flow, such as when a 'break;' statement > in a switch statement has been forgotten. We will not revert or change > this code, just for "-Wpedantic". > > GNU extensions like ({...}) have their purpose, and we use them because > they are useful here. > > You asked for -Wpedantic warnings; you obtained them.
We could, however, add use of the __extension__ keyword anywhere we use ({...}) in public macros, along with suitable magic to #define __extension__ to empty on non-gcc compilers, as a way to specifically tell the compiler that even when it is in pedantic mode, we are intentionally using extensions to the language. -- Eric Blake, Principal Software Engineer Red Hat, Inc. Virtualization: qemu.org | libguestfs.org