https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66145
--- Comment #11 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Malcolm Parsons from comment #10) > Why doesn't this apply to the std::ios_base exceptions? Because the C++11 standard mandated an ABI change for std::ios_base::failure, by giving it a std::system_error base class that wasn't present in C++03.