Oops, you may be right. Where do other definition of __STDC__, presumably #define __STDC__ come from, your command line, i.e., -D__STDC__? Compilers define it; I believe it's specified in the C standard. The gcc manual has some discussion about it.