This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/22488] [4.1 Regression] C++ generates incorrect overlapping fields
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 5 Sep 2005 14:20:09 -0000
- Subject: [Bug c++/22488] [4.1 Regression] C++ generates incorrect overlapping fields
- References: <20050714141428.22488.micis@gmx.de>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-05 14:20 -------
And here is a testcase for 64bits:
struct S02 { bool V01, V02; };
struct S03 {unsigned char V03; int V04; };
struct S05 { static void F01 ( int &P01, void *P02, void *P03 ); };
struct S07 {};
struct S09 : public virtual S02 {};
struct S10 : public S09
{
S10(int &P04, S07* P05, S05* P06, S03 &P07);
void F02(S03 F02);
S03 V05;
};
void S10::F02(S03 F02) { V05 = F02; }
void S05::F01(int &P04, void* P02, void* P03)
{
S05 *P09 = (S05*)P02;
S03 V06;
S03 P07;
S07 *P08 = (S07*)P03;
S10 F03(P04, P08, P09, P07);
S03 V07 = V06;
F03.F02(V07);
}
--
What |Removed |Added
----------------------------------------------------------------------------
GCC target triplet|32 bit targets |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22488