#includevoid foo() { printf("foo" #include "version.h" ); } with version.h #define foo 1
$ clang -c -O2 -D_FORTIFY_SOURCE=2 foo.c
foo.c:5:2: error: embedding a #include directive within macro arguments is not
supported
#include "version.h"
^
1 error generated.
# Works
$ gcc -c -O2 -D_FORTIFY_SOURCE=2 foo.c