Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!uwm.edu!uakari.primate.wisc.edu!aplcen!haven!adm!smoke!gwyn From: gwyn@smoke.BRL.MIL (Doug Gwyn) Newsgroups: comp.lang.c Subject: Re: pointer representation (was: Re: effect of free()) Message-ID: <11028@smoke.BRL.MIL> Date: 12 Sep 89 02:53:13 GMT References: <319@cubmol.BIO.COLUMBIA.EDU> <3756@buengc.BU.EDU> <11021@smoke.BRL.MIL> <2075@munnari.oz.au> Reply-To: gwyn@brl.arpa (Doug Gwyn) Organization: Ballistic Research Lab (BRL), APG, MD. Lines: 11 In article <2075@munnari.oz.au> ok@cs.mu.oz.au (Richard O'Keefe) writes: >My point is that optimising compilers generally assume that "equals may >be subsituted for equals" (that's what equality is all about), so that >*correct* source code is very likely to be incorrectly *optimised*. Any my point is that the code was NOT correct, because it relied on the unwarranted assumption that C pointers' associated ring numbers were preserved, while the C implementation specifically ignores the ring numbers, which should be a tip-off that they should not be relied on. I still maintain that the proper way to deal with this is via some implementation-specific code that explicitly knows about ring numbers.