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