https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94856
--- Comment #4 from Martin Liška <marxin at gcc dot gnu.org> --- Reduced test-case: class a { public: virtual ~a() {} }; class b { public: virtual void c(); }; class C : a, public b {}; class d : C { ~d(); void c(); }; d::~d() { ((b *)this)->c(); } void d::c() {}