From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tim Hollebeek To: davek-ml@ntlworld.com (Dave Korn) Cc: tim@hollebeek.com (Tim Hollebeek), geoffk@geoffk.org (Geoff Keating), aoliva@redhat.com (Alexandre Oliva), kenner@vlsi1.ultra.nyu.edu, gcc@gcc.gnu.org (gcc), dewar@gnat.com (Robert Dewar) Subject: Re: Bug in loop optimize (invalid postinc to preinc transformation) Date: Fri, 29 Dec 2000 01:51:00 -0000 Message-id: <200012291011.FAA30132@cj44686-b.reston1.va.home.com> References: <028901c0715f$36a61620$1998fd3e@ubik> X-SW-Source: 2000-12/msg00830.html Dave Korn writes ... > > ----- Original Message ----- > From: "Tim Hollebeek" > Sent: Thursday, December 28, 2000 11:42 PM > > > If pointers are implementation as unsigned offsets into a flat memory s/implementation/implemented/ > > model, one of two things is true: > > Nope. Pointers are abstract types. The mere fact that the underlying > implementation uses what are effectively 32 bit unsigned ints (which isn't > even the case on segmented architectures) isn't relevant. Read "If ..." as "Assuming ...". So "Nope" isn't really a possible response. I intentionally restricted my post to an ISO C compiler on a particular type of architecture and that implements pointers in a particular way, in an attempt to point out that *even if* pointers are (essentially) unsigned integers, the standard is written in such a way that wrapping *still* isn't relevant. Sorry if that wasn't clear. (discussion of the abstract semantics deleted; you're preaching to the choir here)