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.