Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site rlgvax.UUCP Path: utzoo!linus!philabs!cmcl2!seismo!rlgvax!guy From: guy@rlgvax.UUCP (Guy Harris) Newsgroups: net.lang.c Subject: Re: offsets in structures. Message-ID: <196@rlgvax.UUCP> Date: Sun, 14-Oct-84 19:10:35 EDT Article-I.D.: rlgvax.196 Posted: Sun Oct 14 19:10:35 1984 Date-Received: Tue, 16-Oct-84 03:42:21 EDT References: <393@orion.UUCP> <5172@brl-tgr.ARPA>, <6542@mordor.UUCP> <5272@brl-tgr.ARPA> Organization: CCI Office Systems Group, Reston, VA Lines: 17 > As has been discussed before, a 0 pointer in C is not > appropriately mapped to a special nil pointer in tagged > architectures. Do you mean "(existing) implementations of C on tagged architectures do not perform the appropriate mapping of a 0 pointer to a special nil pointer", or "it is not appropriate to map a 0 pointer to a special nil pointer in a tagged architecture?" If the latter, I disagree; there is no committment to the bit pattern of a 0 pointer in C, and no committment to being able to dereference it. As such, I see no reason not to map a 0 pointer onto bit pattern you want, as long as 1) it's distinct from *all* bit patterns for legitimate pointers in C (i.e., your C implementation must make sure no C function or variable has an address with that bit pattern) and 2) it fits in the same number of bits as any other pointer. Guy Harris {seismo,ihnp4,allegra}!rlgvax!guy