Path: utzoo!attcan!uunet!lll-winken!gauss.llnl.gov!casey From: casey@gauss.llnl.gov (Casey Leedom) Newsgroups: comp.std.c Subject: Re: __STDC__ and non-conforming ANSI C compilers Message-ID: <14856@lll-winken.llnl.gov> Date: 22 Dec 88 03:15:44 GMT References: <3236@pegasus.ATT.COM> <9167@smoke.BRL.MIL> <22765@watmath.waterloo.edu> <6093@hoptoad.uucp> Sender: usenet@lll-winken.llnl.gov Reply-To: casey@gauss.llnl.gov.UUCP (Casey Leedom) Organization: Lawrence Livermore National Laboratory Lines: 27 [[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