https://gcc.gnu.org/bugzilla/show_bug.cgi?id=22395
--- Comment #7 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Eric Gallager from comment #6) > Note that clang goes even farther in splitting up -Wdelete-non-virtual-dtor > into different warnings based on whether the dtor is abstract or not: > https://clang.llvm.org/docs/DiagnosticsReference.html#wdelete-abstract-non- > virtual-dtor That's about whether the *class* is abstract or not. There's no such thing as an abstract non-virtual destructor. I don't see much benefit to splitting it up. It's undefined behaviour either way, so I don't see a valid use case for enabling the warning in some cases but not others.