https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100064
--- Comment #1 from joseph at codesourcery dot com <joseph at codesourcery dot com> --- This conversion is required to be diagnosed by ISO C. Some way of marking a particular cast as being an inheritance cast (thus, to be diagnosed if the types don't in fact match) would seem better than disabling it by default and assuming an implicit conversion is deliberate rather than a user mistake.