From -6026753168710380320
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: f78e5,e94695845965b249
X-Google-Attributes: gidf78e5,public
X-Google-ArrivalTime: 1992-12-19 15:59:34 PST
Newsgroups: comp.std.c++
Path: sparky!uunet!pmafire!news.dell.com!natinst.com!cs.utexas.edu!usc!rpi!batcomputer!munnari.oz.au!metro!extro.ucc.su.OZ.AU!maxtal
From: maxtal@extro.ucc.su.OZ.AU (John MAX Skaller)
Subject: Re: Zero-length structures and pointer comparisons
Message-ID: <1992Dec18.192202.17023@ucc.su.OZ.AU>
Sender: news@ucc.su.OZ.AU
Nntp-Posting-Host: extro.ucc.su.oz.au
Organization: MAXTAL P/L C/- University Computing Centre, Sydney
References: <1992Dec9.133956.29659@lth.se> <1992Dec9.191606.5665@lucid.com> <BzCG7K.2sG@frumious.uucp>
Date: Fri, 18 Dec 1992 19:22:02 GMT
Lines: 44

In article <BzCG7K.2sG@frumious.uucp> pat@frumious.uucp (Patrick Smith) writes:
>dag@seldon.control.lth.se (Dag Bruck) writes:
>| Suggested semantics: for any pointers p and q:
>|
>|       p == q   <=>   ptrcmp(p,q) == 0
>|
>|       p != q   <=>   ptrcmp(p,q) != 0
>|
>|       if p < q is defined,  ptrcmp(p,q) < 0   <=>  p < q
>
>On the other hand, this might be fairly cheap, given that
>we're already insisting on
>
>   p == q   =>   ptrcmp(p,q) == 0
>

	I'm NOT agreeing with this at present. I reject any relationship
between p ? q and ptrcmp. On some machines any such relationship
might make ptrcmp unimplementable, and thus defeat the proposal completely.
It is only Jims suggestion that ptrcmp might always return 0 that
makes it possible to make its existence mandatory.

In fact, p==q iff objects equal is unimplementable on some machines.
That is, even the existing ARM requirement is unworkable.

Consider that p < q is implementation defined, so it could mean
almosty anything. It does not have to obey ANY rules, unless
the pointers are into the same array.

As such tying < to ptrcmp, or any such function which requires
a total order immediately makes the specification inconsistent,
and thus it will have to be rejected.

Lets stop having 'wish lists' here and analyse the problem
properly. The first thing we have to do is fix the
unworkable requirement that p==q iff p,q point to same object.


	
-- 
;----------------------------------------------------------------------
        JOHN (MAX) SKALLER,         maxtal@extro.ucc.su.oz.au
	Maxtal Pty Ltd, 6 MacKay St ASHFIELD, NSW 2131, AUSTRALIA
;--------------- SCIENTIFIC AND ENGINEERING SOFTWARE ------------------


