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