------- Comment #10 from navinkumar+bugs at gmail dot com 2009-11-09 18:08 ------- After review, I agree it is not a bug.
Because _0_emptyB and _2_emptyB both inherent from empty_t, the compiler is obligated to ensure that static_cast<empty_t*>(static_cast<_0_emptyB*>(compositeB2)) != static_cast<empty_t*>(static_cast<_2_emptyB*>(compositeB2)). The zero-size base class optimization doesn't apply when the grandparent empty class is repeated. -- navinkumar+bugs at gmail dot com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39981