From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexandre Oliva To: Richard.Earnshaw@arm.com Cc: Joern Rennecke , wilson@cygnus.com (Jim Wilson), gcc@gcc.gnu.org, gcc-patches@gcc.gnu.org, gdb@sources.redhat.com Subject: Re: C++ ptrmemfun break if FUNCTION_BOUNDARY < 2 * BITS_PER_UNIT Date: Wed, 18 Apr 2001 12:11:00 -0000 Message-id: References: <200104181247.NAA23421@cam-mail2.cambridge.arm.com> X-SW-Source: 2001-04/msg00134.html On Apr 18, 2001, Richard Earnshaw wrote: > aoliva@redhat.com said: >> I don't want to extract a bit. I want to extract the remaining bits. >> The delta was shifted left (or multiplied by 2) to make room for the >> vbit; now I want the delta back. It's a signed offset. > This is OK, provided that you can guarantee that the left shift won't > cause the "sign" bit to change value. Since the delta is as wide as a pointer, in order for a left-shift to modify its sign bit we'd need a single C++ object that takes more than half the address space of a machine. Actually, we need a C++ object so complicated that one of its bases ends up with such a large offset. I believe we can assume no such objects are never going to be defined. -- Alexandre Oliva Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/ Red Hat GCC Developer aoliva@{cygnus.com, redhat.com} CS PhD student at IC-Unicamp oliva@{lsd.ic.unicamp.br, gnu.org} Free Software Evangelist *Please* write to mailing lists, not to me