Could -Wall add on -Wundef by default ?

Jonny Grant jg@jguk.org
Sat Mar 2 13:35:00 GMT 2019



On 22/02/2019 15:41, David Brown wrote:
> 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.

Perhaps just adding to -Wextra would make sense?

Regards, Jonny



More information about the Gcc-help mailing list