------- Comment #4 from tromey at gcc dot gnu dot org 2006-02-04 02:29 ------- Quick update... we debugged this a bit and found that the field decl representing Three's superclass (the one made by push_super_field) claims to have size 16 -- and yet the 'b' field claims to have offset 16. So, something seems to be going wrong with type layout in this case.
Also, a similar C program yields the expected results. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26042