This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
Re: c++/10893: wrong class mapping for empty bases
- From: Andrew Pinski <pinskia at physics dot uc dot edu>
- To: nobody at gcc dot gnu dot org
- Cc: gcc-prs at gcc dot gnu dot org,
- Date: 21 May 2003 03:06:01 -0000
- Subject: Re: c++/10893: wrong class mapping for empty bases
- Reply-to: Andrew Pinski <pinskia at physics dot uc dot edu>
The following reply was made to PR c++/10893; it has been noted by GNATS.
From: Andrew Pinski <pinskia@physics.uc.edu>
To: yanliu@ca.ibm.com
Cc: Andrew Pinski <pinskia@physics.uc.edu>, gcc-gnats@gcc.gnu.org
Subject: Re: c++/10893: wrong class mapping for empty bases
Date: Tue, 20 May 2003 23:01:08 -0400
This has been fixed in 3.4 (I think 3.3 also) but only if you say that
you want the lasted c++ abi.
3.4:
Class D1
size=8 align=4
base size=8 base align=4
D1 (0x103f240) 0
vptridx=0 vptr=((&D1::_ZTV2D1) + 12)
D (0x103f280) 0 nearly-empty
primary-for D1 (0x103f240)
subvttidx=4
E1 (0x103f2c0) 4 empty virtual
vbaseoffset=-12
E (0x103f300) 4 empty
E2 (0x103f340) 0 empty
E (0x103f380) 0 empty
3.4 with -fabi-version=0 aka the latest abi:
Class D1
size=12 align=4
base size=8 base align=4
D1 (0x103e240) 0
vptridx=0 vptr=((&D1::_ZTV2D1) + 12)
D (0x103e280) 0 nearly-empty
primary-for D1 (0x103e240)
subvttidx=4
E1 (0x103e2c0) 8 empty virtual
vbaseoffset=-12
E (0x103e300) 12 empty
E2 (0x103e340) 0 empty
E (0x103e380) 0 empty
Thanks,
Andrew Pinski