https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111776
--- Comment #2 from Lénárd Szolnoki <leni536 at gmail dot com> --- Same ICE without destroying delete: ``` struct A { void operator delete(void *); }; struct B { void operator delete(void *); }; struct C : A, B { using A::operator delete; using B::operator delete; }; void f(C* ptr) { delete ptr; } ``` This goes back to GCC 7. GCC 6 accepts it and calls `A::operator delete`, which is not much better. https://godbolt.org/z/cczfdKoqb