From 8952068489526571690
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: f78e5,e94695845965b249
X-Google-Attributes: gidf78e5,public
X-Google-ArrivalTime: 1992-12-21 10:52:12 PST
Newsgroups: comp.std.c++
Path: sparky!uunet!munnari.oz.au!cs.mu.OZ.AU!munta.cs.mu.OZ.AU!fjh
From: fjh@munta.cs.mu.OZ.AU (Fergus James HENDERSON)
Subject: Re: Zero-length structures and pointer comparisons
Message-ID: <9235623.27245@mulga.cs.mu.OZ.AU>
Sender: news@cs.mu.OZ.AU
Organization: Computer Science, University of Melbourne, Australia
References: <1992Dec14.225659.24225@microsoft.com> <1992Dec16.150144.6004@ucc.su.OZ.AU> <BzDJHu.t2@frumious.uucp> <1992Dec18.195647.20074@ucc.su.OZ.AU>
Date: Mon, 21 Dec 1992 12:59:46 GMT
Lines: 29

(Sorry for the zillions of articles I seem to have posted today,
I'm just trying to keep up with maxtal ;-)

maxtal@extro.ucc.su.OZ.AU (John MAX Skaller) writes:

>	Thats not the issue. It might be UNIMPLEMENTABLE on
>some architectures. In fact, == is UNIMPLEMENTABLE in general
                                                    ^^^^^^^^^^
>on the 386 in protected mode, given the sloppy definition
>of 'same object' in the ARM. Its quite possible on the 386
>to have two logical addresses which convert to the 
>same linear address, but NOT BE ABLE TO TELL THAT THIS IS THE CASE.
>Because to tell implies access to the LDT/GDT and the typical
>process is not able to read those tables. A special
>operating system function would be required to do this,
>and that would make C++ unimplementable on systems not
>having this function.

C++ implementations are not required to implement the correct
semantics for == in the general case, they only have to do so
for conforming programs. The compiler could ensure that
conforming programs never create two logical addresses which
map to the same linear address, and then the problem would not arise.

-- 
Fergus Henderson             fjh@munta.cs.mu.OZ.AU      
This .signature virus is a self-referential statement that is true - but 
you will only be able to consistently believe it if you copy it to your own
.signature file!


