[Bug c++/26426] Type layout bug
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=26426 --- Comment #4 from Chris Lattner --- Works for me, I'm not following GCC bugs these days. Thanks, -Chris
[Bug c++/26426] Type layout bug
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=26426 Eric Gallager changed: What|Removed |Added Status|WAITING |RESOLVED Resolution|--- |INVALID --- Comment #3 from Eric Gallager --- (In reply to Jonathan Wakely from comment #2) > See https://gcc.gnu.org/ml/gcc-bugs/2017-08/msg01667.html where I said: > > I don't think this is a bug. B is the primary base class for Z so has already > been allocated (as part of the Y subobject, in I-2b), and so the B base class > of the X subobject is not allocated as part of the X (in III). > > https://itanium-cxx-abi.github.io/cxx-abi/abi.html#a17 Since Chris hasn't responded, I'm closing this accordingly.
[Bug c++/26426] Type layout bug
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=26426 --- Comment #2 from Jonathan Wakely --- See https://gcc.gnu.org/ml/gcc-bugs/2017-08/msg01667.html where I said: I don't think this is a bug. B is the primary base class for Z so has already been allocated (as part of the Y subobject, in I-2b), and so the B base class of the X subobject is not allocated as part of the X (in III). https://itanium-cxx-abi.github.io/cxx-abi/abi.html#a17
[Bug c++/26426] Type layout bug
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=26426 Eric Gallager changed: What|Removed |Added Status|UNCONFIRMED |WAITING Last reconfirmed||2017-08-17 CC||egallager at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Eric Gallager --- Redoing lost https://gcc.gnu.org/ml/gcc-bugs/2017-08/msg01612.html Eric Gallager changed: What|Removed |Added Status|UNCONFIRMED |WAITING Last reconfirmed||2017-08-14 CC||egallager at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Eric Gallager --- How are you getting the byte values? I compiled the testcase but I don't know what I'm supposed to be looking for in the output... $ /usr/local/bin/g++ -Wall -Wextra -Wreorder -Wpacked -Wpadded -c 26426.cc $ size 26426.o __TEXT __DATA __OBJC others dec hex 1237232 0 16 14855cd $ nm 26426.o 041c s EH_frame1 012c S __ZN1AC2Ev U __ZN1AD2Ev 0148 S __ZN1BC2Ev U __ZN1BD2Ev 0164 S __ZN1XC2Ev 01ac S __ZN1XD2Ev 01f4 S __ZN1YC2Ev U __ZN1YD2Ev 007a T __ZN1ZC1Ev T __ZN1ZC2Ev 02e6 S __ZN1ZD0Ev 0222 S __ZN1ZD1Ev 038c S __ZTC1Z0_1Y 03a4 S __ZTC1Z4_1X U __ZTI1A U __ZTI1B 03f4 S __ZTI1X U __ZTI1Y 03d4 S __ZTI1Z 0417 S __ZTS1X 0414 S __ZTS1Z 0368 S __ZTT1Z U __ZTV1A U __ZTV1B 032c S __ZTV1Z U __ZTVN10__cxxabiv121__vmi_class_type_infoE 0311 S __ZTv0_n12_N1ZD0Ev 02d4 S __ZTv0_n12_N1ZD1Ev U __ZdlPvm 0323 S ___x86.get_pc_thunk.ax 0327 S ___x86.get_pc_thunk.bx 05c4 s l__ZTT1Z$non_lazy_ptr 05c8 s l__ZTV1A$non_lazy_ptr 05cc s l__ZTV1B$non_lazy_ptr 05c0 s l__ZTV1Z$non_lazy_ptr $ --- New Comment --- Jonathan Wakely also had a comment that got lost in the Bugzilla outage, but my browser doesn't seem to want to load my email or the archived copy, so he'll have to re-add it himself... (I think he said something like this wasn't actually a bug...)
[Bug c++/26426] Type layout bug
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=26426 --- Comment #2 from Jonathan Wakely --- I don't think this is a bug. B is the primary base class for Z so has already been allocated (as part of the Y subobject, in I-2b), and so the B base class of the X subobject is not allocated as part of the X (in III). https://itanium-cxx-abi.github.io/cxx-abi/abi.html#a17
[Bug c++/26426] Type layout bug
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=26426 Eric Gallager changed: What|Removed |Added Status|UNCONFIRMED |WAITING Last reconfirmed||2017-08-14 CC||egallager at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Eric Gallager --- How are you getting the byte values? I compiled the testcase but I don't know what I'm supposed to be looking for in the output... $ /usr/local/bin/g++ -Wall -Wextra -Wreorder -Wpacked -Wpadded -c 26426.cc $ size 26426.o __TEXT __DATA __OBJC others dec hex 1237232 0 16 14855cd $ nm 26426.o 041c s EH_frame1 012c S __ZN1AC2Ev U __ZN1AD2Ev 0148 S __ZN1BC2Ev U __ZN1BD2Ev 0164 S __ZN1XC2Ev 01ac S __ZN1XD2Ev 01f4 S __ZN1YC2Ev U __ZN1YD2Ev 007a T __ZN1ZC1Ev T __ZN1ZC2Ev 02e6 S __ZN1ZD0Ev 0222 S __ZN1ZD1Ev 038c S __ZTC1Z0_1Y 03a4 S __ZTC1Z4_1X U __ZTI1A U __ZTI1B 03f4 S __ZTI1X U __ZTI1Y 03d4 S __ZTI1Z 0417 S __ZTS1X 0414 S __ZTS1Z 0368 S __ZTT1Z U __ZTV1A U __ZTV1B 032c S __ZTV1Z U __ZTVN10__cxxabiv121__vmi_class_type_infoE 0311 S __ZTv0_n12_N1ZD0Ev 02d4 S __ZTv0_n12_N1ZD1Ev U __ZdlPvm 0323 S ___x86.get_pc_thunk.ax 0327 S ___x86.get_pc_thunk.bx 05c4 s l__ZTT1Z$non_lazy_ptr 05c8 s l__ZTV1A$non_lazy_ptr 05cc s l__ZTV1B$non_lazy_ptr 05c0 s l__ZTV1Z$non_lazy_ptr $