home *** CD-ROM | disk | FTP | other *** search
- 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!
-