__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