__STDC__ and non-conforming ANSI C compilers

Casey Leedom casey at gauss.llnl.gov
Thu Dec 22 13:15:44 AEST 1988


[[I'm sending this just because I'm pissed at Apollo and the subject
conforms to the bitch.  If this has already been mentioned on this
subject thread, I'm sorry.  I just started looking at this group again
after a long absence.]]

  The Apollo SR10 compiler defines __STDC__.  It supports functional
prototyping.  It does not support any other feature of ANSI C that I know
of.  In particular, I know that it does not support the new "##"
preprocessor syntax to generate a null length break between preprocessor
macros.  This causes breakage in programs which have had a lot of
attention leveled at them to make them as portable as possible.  Apollo
has taken an already difficult conversion task (converting from K&R C to
ANSI C) and simply muddied the waters.  We will probably see

	#ifdef __STDC__
	#ifdef apollo
		...
	#else
		...
	#endif
	#endif

for many years to come because of this.  Three cheers for idiocy at
Apollo.  [[It should be noted that Apollo doesn't see any problem with the
described situation.  They don't feel that they are misusing the __STDC__
symbol.]]

Casey



More information about the Comp.std.c mailing list