Bjarni Ingi Gislason wrote: > While compiling "groff" with gcc (Debian 13.2.0-2) 13.2.0) and "-std=gnu2x": > > ../lib/openat-die.c: In function 'openat_save_fail': > ./lib/error.h:410:8: warning: ISO C forbids braced-groups within expressions > [-Wpedantic] > 410 | : ({ \ > | ^ > ./lib/error.h:470:7: note: in expansion of macro '__gl_error_call' > 470 | __gl_error_call (error, status, __VA_ARGS__) > | ^~~~~~~~~~~~~~~ > ../lib/openat-die.c:37:3: note: in expansion of macro 'error' > 37 | error (exit_failure, errnum, > | ^~~~~ > ../lib/openat-die.c: In function 'openat_restore_fail': > ./lib/error.h:410:8: warning: ISO C forbids braced-groups within expressions > [-Wpedantic] > 410 | : ({ \ > | ^ > ./lib/error.h:470:7: note: in expansion of macro '__gl_error_call' > 470 | __gl_error_call (error, status, __VA_ARGS__) > | ^~~~~~~~~~~~~~~ > ../lib/openat-die.c:56:3: note: in expansion of macro 'error' > 56 | error (exit_failure, errnum, > | ^~~~~
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. Bruno