Xref: utzoo comp.sys.atari.st:16623 comp.misc:6179 Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!ucsd!ucbvax!tut.cis.ohio-state.edu!cs.utexas.edu!uunet!mcvax!siebren From: siebren@cwi.nl (Siebren van der Zee) Newsgroups: comp.sys.atari.st,comp.misc Subject: Re: Mark Williams C Message-ID: <8137@boring.cwi.nl> Date: 23 May 89 10:55:29 GMT References: <24094@agate.BERKELEY.EDU> <431fba10.14a1f@gtephx.UUCP> <8120@boring.cwi.nl> <857@per2.UUCP> Sender: news@cwi.nl Organization: CWI, Amsterdam Lines: 34 In article <857@per2.UUCP> dag@per2.UUCP (Daniel A. Glasser) writes: >In article <8120@boring.cwi.nl>, steven@cwi.nl (Steven Pemberton) writes: >> Surprisingly, Mark Williams C 2.0 already has a lot of ANSI C in it. >> But the naughties, they #define __STDC__ but do *not* implement all of >__STDC__ is defined as 0 in MWC V3.0 (and earlier). This means that the [...] >Ie, don't use "#ifdef __STDC__", use instead "#if __STDC__". If the >macro is undefined, the #if evaluates to false. If your preprocessor >does not allow #if on undefined symbols, it isn't even Unix V7 compatible. >Section 3.8.8 of the ANSI X3J11 standard defines __STDC__ to be the >decimal constant 1. (Steven is a collegue of mine, I complained about this on the net too) So what? They put in an annoying symbol that has _NO_ meaning, and _NO_ purpose other that polluting my namespace. Remember that once, a long, long time ago, #if did not even exist. Not even for defined symbols. Steven's config program works for all compilers I know of, including one that doesn't implement #if. Ever thought about how careful you have to code to accomplish that? Ok, then MWC comes around, defines a macro without any meaning, but completely correct. He had to make a decision whether to support MWC or the other compiler. I think his decision not to support MWC V3 is the right one, especially since they are probably working on an ANSI version. > >It is not the compiler that has it wrong... That right. But that doesn't solve our problems. If only somebody could explain to me what use the definition of __STDC__ as 0 might mean, why I might want to have my compiler to define it... Siebren van der Zee, siebren@cwi.nl -- waiting for MWC V4