Path: utzoo!attcan!uunet!lll-winken!lll-lcc!ncis.llnl.gov!helios.ee.lbl.gov!pasteur!agate!bionet!ig!arizona!mike From: mike@arizona.edu (Mike Coffin) Newsgroups: comp.std.c Subject: Re: Re: Re: __STDC__ and non-conforming ANSI C compilers Message-ID: <8792@megaron.arizona.edu> Date: 20 Jan 89 01:26:34 GMT References: <9445@smoke.BRL.MIL> Organization: U of Arizona CS Dept, Tucson Lines: 23 This is really getting messy. I originally advocated setting __STDC__ = 0 to indicate "almost ANSI", or "so close to ANSI we doubt if you'll notice." This was rejected essentially on the grounds that if you set it to 0 it is easy to write code that accidentally thinks that it is 1. (I.e., using #ifdef instead of #if.) Now people are instead advocating setting it to 1 even if the compiler is nonconforming, so long as the non-conformance is "minor" or "harmless." Yuk! I think it is a BIG mistake to define __STDC__ = 1 if the compiler is nonconforming. Please don't lie to my code. We started by arguing that "#ifdef __STDC__" should guarantee that the compiler is conforming --- no ifs ands or buts. The point was made that if it wasn't ANSI, no one knows WHAT it might be. Now we're saying that even if you carefully write "#if __STDC__ = 1", you can't expect to get ANSI compliance. This sounds very bad. -- Mike Coffin mike@arizona.edu Univ. of Ariz. Dept. of Comp. Sci. {allegra,cmcl2}!arizona!mike Tucson, AZ 85721 (602)621-2858