From mboxrd@z Thu Jan 1 00:00:00 1970 From: Franz Sirl To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org Subject: Re: c++/2817 Date: Sat, 19 May 2001 10:06:00 -0000 Message-id: <20010519170600.6518.qmail@sourceware.cygnus.com> X-SW-Source: 2001-05/msg00466.html List-Id: The following reply was made to PR c++/2817; it has been noted by GNATS. From: Franz Sirl To: Mark Mitchell , Franz.Sirl-kernel@lauterbach.com Cc: mmitchel@gcc.gnu.org, gcc-gnats@gcc.gnu.org, nobody@gcc.gnu.org Subject: Re: c++/2817 Date: Sat, 19 May 2001 19:07:45 +0200 --------------Boundary-00=_X8EL8AXX8XYK9S4EE0KL Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit On Saturday 19 May 2001 18:48, Mark Mitchell wrote: > >>>>> "Franz" == Franz Sirl writes: > > Franz> Well, I think it's a bit pointless to attach sourcecode > Franz> already in the testsuite, but here it is. > > The reason is that I don't have the PowerPC headers, which is where > ptrdiff_t will come from, which is one of the critical things for me > to look at the aliasing stuff. I clicked on the wrong file anyway, heres the .ii. BTW, if you want access to the PPC developer machine, that's no problem. Franz. --------------Boundary-00=_X8EL8AXX8XYK9S4EE0KL Content-Type: text/plain; charset="iso-8859-1"; name="vtable2.ii" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="vtable2.ii" # 5 "vtable2.C" # 1 "/usr/lib/gcc-lib/ppc-linux/3.0/include/stddef.h" 1 3 # 147 "/usr/lib/gcc-lib/ppc-linux/3.0/include/stddef.h" 3 typedef int ptrdiff_t; # 199 "/usr/lib/gcc-lib/ppc-linux/3.0/include/stddef.h" 3 typedef unsigned int size_t; # 6 "vtable2.C" 2 struct S0 { virtual void s0 (); }; struct S1 : virtual public S0 { virtual void s1 (); }; struct S2 : virtual public S1 { virtual void s1 (); virtual void s0 (); }; struct S3 { virtual void s3 (); }; struct S4 : public S3, virtual public S2 { virtual void s1 (); }; void S0::s0 () { } void S1::s1 () { } void S2::s1 () { } void S2::s0 () { } void S3::s3 () { } void S4::s1 () { } # 124 "vtable2.C" extern "C" { void _ZN2S32s3Ev (); void _ZN2S42s1Ev (); } int main () { S4 s4; volatile ptrdiff_t **vptr; volatile ptrdiff_t *vtbl; vptr = (volatile ptrdiff_t **) (char*) &s4; vtbl = *vptr; vtbl -= 5; if (*vtbl++ != ((char*) (S0*) &s4) - (char*) &s4) return 1; # 175 "vtable2.C" } --------------Boundary-00=_X8EL8AXX8XYK9S4EE0KL--