------- Comment #3 from ghazi at gcc dot gnu dot org 2008-02-08 18:21 ------- Below is what I get from gdb with mainline on x86_64-unknown-linux-gnu. We're aborting because the constructor for Baz's "struct bar" member isn't called.
(gdb) run Starting program: /home/ghazi/gcc-testing/43/build/gcc/testsuite/obj-c++/cxx-ivars-2.exe Program received signal SIGABRT, Aborted. 0x00002af76a25407b in raise () from /lib/libc.so.6 (gdb) bt full #0 0x00002af76a25407b in raise () from /lib/libc.so.6 No symbol table info available. #1 0x00002af76a25584e in abort () from /lib/libc.so.6 No symbol table info available. #2 0x00000000004008fb in main () at /home/ghazi/gcc-testing/43/egcc-SVN20080208/gcc/testsuite/obj-c++.dg/cxx-ivars-2.mm:59 baz = (class Baz *) 0x504f50 foo = (class Foo *) 0x0 (gdb) up #1 0x00002af76a25584e in abort () from /lib/libc.so.6 (gdb) up #2 0x00000000004008fb in main () at testsuite/obj-c++.dg/cxx-ivars-2.mm:59 59 CHECK_IF(ctor1_called && !ctor2_called && !dtor1_called); Current language: auto; currently minimal (gdb) p ctor1_called $1 = 0 (gdb) p ctor2_called $2 = 0 (gdb) p dtor1_called $3 = 0 (gdb) p baz.aa.a $4 = 0 (gdb) p baz.aa.b $5 = 0 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27247