[Bug libstdc++/85222] [7/8 Regression] ABI breakage of __throw_ios_failure by r244498

rguenther at suse dot de gcc-bugzilla@gcc.gnu.org
Fri Apr 6 08:50:00 GMT 2018


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>


More information about the Gcc-bugs mailing list