__STDC__ and non-conforming ANSI C compilers

Geoff Rimmer geoff at warwick.UUCP
Fri Jan 13 13:23:06 AEST 1989


I think I read in the Microsoft 5.1 C compiler manual that __STDC__ is
defined to be 0 in that compiler, since it doesn't fully comply to the ANSI
standard.  If this is so, it makes lines like the following, useless.

#ifdef __STDC__
printf("yabbadabbadoo!!! ansi compat C !!!\n");
#else
printf("uggh! old C\n");
#endif

Anyone know of any other compilers that don't comply with the correct use of
the __STDC__ macro?  (I know someone already mentioned apollo which defines
__STDC__ even though it doesn't support the stringizing operator (##))

If I misread the manual, I apologise to Microsoft!

Geoff
	------------------------------------------------------------
	Geoff Rimmer, Computer Science, Warwick University, England.
			geoff at uk.ac.warwick.emerald

	"So, this is what a restaurant looks like!"
		- Filthy Rich and Catflap, 1986.
	------------------------------------------------------------



More information about the Comp.std.c mailing list