https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113099
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> --- It's mostly OK to mix code with -frtti and -fno-rtti, but sometimes it bites you. The crash with older releases seems like __dynamic_cast should gracefully handle missing RTTI and just fail, not segfault. The ODR violation in current releaes is a non-issue. The code has the same semantics either way.