From ad4684c22a15c7ec945c11a2ae9688b622d63cff Mon Sep 17 00:00:00 2001 From: Paolo Carlini Date: Wed, 18 Jun 2014 09:44:15 +0000 Subject: [PATCH] Fix libstdc++/61536 - Export out of line typeinfo comparison operators 2014-06-18 Paolo Carlini Ramana Radhakrishnan PR libstdc++/61536 * config/abi/pre/gnu.ver: Adjust for out of line comparisons. Co-Authored-By: Ramana Radhakrishnan From-SVN: r211774 --- libstdc++-v3/ChangeLog | 6 ++++++ libstdc++-v3/config/abi/pre/gnu.ver | 17 +++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 5f23ef09e16..44168d0eda9 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2014-06-18 Paolo Carlini + Ramana Radhakrishnan + + PR libstdc++/61536 + * config/abi/pre/gnu.ver: Adjust for out of line comparisons. + 2014-06-14 Jonathan Wakely * doc/xml/manual/status_cxx2014.xml: Update Fundamentals TS status. diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver index e7de7563352..63c9130cbe8 100644 --- a/libstdc++-v3/config/abi/pre/gnu.ver +++ b/libstdc++-v3/config/abi/pre/gnu.ver @@ -16,6 +16,18 @@ ## You should have received a copy of the GNU General Public License along ## with this library; see the file COPYING3. If not see ## . +// By default follow the old inline rules to avoid ABI changes. +// Logic similar to libsupc++/typeinfo (libstdc++/61536). See +// commentary on out of line comparisons. + +#ifndef __GXX_TYPEINFO_EQUALITY_INLINE + #if !__GXX_WEAK__ + #define __GXX_TYPEINFO_EQUALITY_INLINE 0 + #else + #define __GXX_TYPEINFO_EQUALITY_INLINE 1 + #endif +#endif + GLIBCXX_3.4 { @@ -760,6 +772,11 @@ GLIBCXX_3.4 { _ZNKSt9type_info1*; _ZNSt9type_infoD*; +#if !__GXX_TYPEINFO_EQUALITY_INLINE + _ZNKSt9type_info6before*; + _ZNKSt9type_infoeq*; +#endif + # std::exception _ZNKSt9exception4whatEv; _ZNSt9exceptionD*;