Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!uflorida!haven!adm!smoke!gwyn From: gwyn@smoke.BRL.MIL (Doug Gwyn) Newsgroups: comp.lang.c Subject: Re: Creating pointer with all bits 0 (was: Referencing NULL pointers) Message-ID: <11019@smoke.BRL.MIL> Date: 10 Sep 89 10:49:21 GMT References: <1989Aug31.052756.18524@sq.sq.com> <2030@se-sd.NCR.COM> <1989Sep6.052228.17374@algor2.algorists.com> <10816@riks.csl.sony.co.jp> <2433@auspex.auspex.com> <1989Sep10.040055.10651@algor2.algorists.com> Reply-To: gwyn@brl.arpa (Doug Gwyn) Organization: Ballistic Research Lab (BRL), APG, MD. Lines: 29 In article <1989Sep10.040055.10651@algor2.algorists.com> jeffrey@algor2.UUCP (Jeffrey Kegler) writes: >1.6 defines an object as "a region of data storage in the execution >environment, the contents of which can represent values." >Note this means Doug Gwyn's workaround (having a dummy for the null >pointer to point to, if worst comes to worst) to 3.2.2.3, while it >will achieve the intent of the standard, still violates its exact >wording as quoted above. Not really, since a null pointer implemented as a dummy would still be incapable of having contents. That's the same reason "void" is not an object type. They're both special language elements treated differently from objects by the compiler. >Can sections of the standard be rewritten in the "interpretation >phase"? It seems this might be what it amounts to. No; the most that can happen is that X3J11 can issue "information bulletins" containing guidance for interpreting the Standard; however, such bulletins are not considered (legally?) part of the Standard. >[ Aside: In this context 3.1.2.4 reads very strangely. It says every >object has one of two storage durations (static and automatic). It >goes on to say that the storage duration depends on the declaration, >apparently assuming every object has one, which of course is not the >case. ] I think it meant "every object tagged with an identifier". It would be useful for an official ruling on this interpretation..