Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!uflorida!haven!adm!smoke!gwyn From: gwyn@smoke.BRL.MIL (Doug Gwyn) Newsgroups: comp.lang.c Subject: Re: problem with cc compiler Message-ID: <10633@smoke.BRL.MIL> Date: 31 Jul 89 13:34:03 GMT References: <712@unsvax.NEVADA.EDU> <10589@smoke.BRL.MIL> <1185@fcs280s.ncifcrf.gov> <3100@scolex.sco.COM> <10620@smoke.BRL.MIL> <3109@scolex.sco.COM> Reply-To: gwyn@brl.arpa (Doug Gwyn) Organization: Ballistic Research Lab (BRL), APG, MD. Lines: 28 In article <3109@scolex.sco.COM> seanf@scolex.UUCP (Sean Fagan) writes: >However, your response, at a time when there is not a *single* >ANSI-compliant C compiler (partially because there *is* not an ANSI >C standard) was on the order of "Well, you can't do that, nyah nyah nyah." The question was about name space pollution. I explained that such problems are addressed by the proposed C Standard, in addition to explaining how to determine what names to avoid in writing programs in a pre-Standard C environment. Even though ANSI has not yet ratified the proposed Standard, it is technically stable, and there have been several compilers claiming conformance or "compatibility" with the Standard. I have them on my Apple IIGS and one of the BRL Crays. I've seen them advertised for IBM PCs. Thus Standard conformance is a practical matter, not just an academic one. The "nyah, nyah, nyah" is solely in your own mind. I just answered the question, the only editorial comment being that it was unfortunate that the name space pollution issue hadn't been adequately addressed before the C Standard, an assessment I will stand by. >C related notice: has anybody but myself noticed that the current dpANS >does not seem to require that the implementation-dependent (or defined) >options can change between modules? Provided everything works, ... So long as the implementor is able to specify the required information, indeed arbitrarily complex rules could be adopted. As you say, the Standard specifications must be met. That does constrain the extent to which the implementation can vary its behavior from case to case.