Note I've sent a carbon to the list as I think this is still relevant.
itz> Hmmm. I have actually solved the compilation problem, and it was
itz> unrelated; in other words, __STDC__ _is_ defined during normal
itz> compiles. Any gcc guru here to explain why it doesn't show in
itz> the output of the above command?
John> I'm not a guru, but... I can only guess that this is defined
John> internally by the compiler. Only things that may change between
John> machines and compiler versions would be defined "externally"
John> like this. These defines are normally in a spec file
John> somewhere. "gcc -v" will tell you where the spec file is, under
John> /usr/lib/gcc-lib somewhere IIRC. The useful ones are the
John> architecture/CPU/binary formats, although we don't normally need
John> to worry about these unless you're embedding assembly code or
John> doing some cunning tweak.
I know where my specs it, I checked it and this symbol is not
John> I initially thought that maybe the -ansi flag was needed, but
John> this defines __STRICT_ANSI__.
I travelled the same road ..
John> so gcc's pre-processor defines a whole lot of macros.
Yes, but according to the info file spitting _all of them_ out is
exactly what the -dM flag should do.
Ian Zimmerman, Oakland, California, U.S.A.
In his own soul a man bears the source
from which he draws all his sorrows and his joys.