Xref: utzoo comp.sys.atari.st:16656 comp.misc:6193 Path: utzoo!attcan!utgpu!utstat!jarvis.csri.toronto.edu!rutgers!att!chinet!saj From: saj@chinet.chi.il.us (Stephen Jacobs) Newsgroups: comp.sys.atari.st,comp.misc Subject: Re: Mark Williams C Summary: You answered your own question Message-ID: <8530@chinet.chi.il.us> Date: 24 May 89 16:48:13 GMT References: <24094@agate.BERKELEY.EDU> <431fba10.14a1f@gtephx.UUCP> <8137@boring.cwi.nl> Followup-To: comp.sys.atari.st Organization: Chinet - Chicago, Ill. Lines: 20 In article <8137@boring.cwi.nl>, siebren@cwi.nl (Siebren van der Zee) writes: > 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 > 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 This whole discussion has been about telling whether a compiler complies with the proposed standard. Defining __STDC__ as zero is a very reasonable way of telling a program that you don't comply with the standard. As far as I can see, it's the only way that's consistent with the obviously intended 'Other Shoe': a future language standard will define __STDC__ as 2. As to why one might want a non-complying compiler in a world of complying ones, there are the usual maintenance/library arguments. I've seen machines with 3 generations of FORTRAN compilers, or 2 levels of Pascal available. Steve J.