We generate incompatible RTTI with the following: struct A {}; struct B : A { virtual void f(); }; struct C : virtual B, A {}; struct D : C {}; D d; http://reviews.llvm.org/D3833