https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85222
--- Comment #18 from rguenther at suse dot de <rguenther at suse dot de> --- On Fri, 6 Apr 2018, redi at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85222 > > --- Comment #15 from Jonathan Wakely <redi at gcc dot gnu.org> --- > (In reply to Richard Biener from comment #13) > > I'm probably going to locally patch it to be consistent with the default ABI > > choice - that at least keeps programs working that do not explicitely choose > > the ABI via #define _GLIBCXX_USE_CXX11_ABI and is consistent with the system > > integrators choice of the default ABI to keep compatibility to older GCC > > versions. > > That makes sense. Maybe we should do that on trunk too (it doesn't affect the > default configuration where the new ABI is the default). FYI: Index: libstdc++-v3/src/c++11/ios.cc =================================================================== --- libstdc++-v3/src/c++11/ios.cc (revision 258812) +++ libstdc++-v3/src/c++11/ios.cc (working copy) @@ -26,9 +26,8 @@ // ISO C++ 14882: 27.4 Iostreams base classes // -// Determines the version of ios_base::failure thrown by __throw_ios_failure. -// If !_GLIBCXX_USE_DUAL_ABI this will get undefined automatically. -#define _GLIBCXX_USE_CXX11_ABI 1 +// The ABI version of ios_base::failure thrown by __throw_ios_failure +// is determined by the default ABI version choosed at configure time #include <ios> #include <limits>