Could -Wall add on -Wundef by default ?

David Brown
Fri Feb 22 15:43:00 GMT 2019

On 22/02/2019 15:29, Jonny Grant wrote:
> Would be good for -Wundef to be on by default
> We see a few times code silently left out of a build unless we use -Wundef
> Example below, the bug is this file didn't have a #define PROJ_DEF 1
> Jonny
> // gcc -Wall -Wextra -c pre.c
> #include <stdio.h>
> int main()
> {
> #if PROJ_DEF
>     printf("hello\n");
> #endif
>     return 0;
> }

I think far too much code relies on this sort of construct and would
throw up warnings while otherwise passing -Wall cleanly.

As far as I can see from the C standards, using "#if PROJ_DEF" without
defining the macro "PROJ_DEF" is not allowed, but I could be wrong - and
it certainly has been common usage even if the standards disallow it.

More information about the Gcc-help mailing list