On 10 August 2016 at 11:06, Paolo Bonzini <bonz...@gnu.org> wrote: > While I disagree with their inclusion of the warning to -Wall, I think > it is a good addition overall. First, it is a logical extension of the > existing warning for breaking defined across a macro and its caller. > Second, it is good to make these warnings for `defined' available with > a command-line option other than -pedantic. In fact this warning is > not mandated by the standard and thus is a strange case of a non-pedwarn > enabled by -pedantic. As a side effect of using the command-line parsing > machinery to attach the new warning to -pedantic, it would become an > error for -pedantic-errors, which would be weird for a diagnostic that > is not mandated by the standard.
Note that the definition of -pedantic-errors says: "in some cases where there is undefined behavior at compile-time". Thus, this would be allowed according to our current definitions. However, the definition of -Wpedantic does not mention that, thus it could be a pedwarn not controlled by -Wpedantic. My only fear is that people not using -Wpedantic nor -pedantic-errors expect that GNU extensions work. This is a GNU extension that defines something that is undefined according to ISO. Enabling the warning with -Wextra is just annoying those people who may not care about other compilers. Thus, my opinion is that the current definition of -Wpedantic is too restrictive and it should contain the "in some cases where there is undefined behavior at compile-time". And thus, this should be a pedwarn enabled by -Wpedantic, not by -Wextra and an error with -pedantic-errors. But you should wait for other opinions, specially Joseph, before redoing it, even if you agree with me. Cheers, Manuel.