diff options
author | Paolo Carlini <paolo.carlini@oracle.com> | 2014-06-18 09:44:15 +0000 |
---|---|---|
committer | Ramana Radhakrishnan <ramana@gcc.gnu.org> | 2014-06-18 09:44:15 +0000 |
commit | ad4684c22a15c7ec945c11a2ae9688b622d63cff (patch) | |
tree | 92ee512606e8a582a24ddee9330a66cd6853260a | |
parent | a5852beabcf2e8c5bdfd6143191df3183c0db590 (diff) | |
download | gcc-ad4684c22a15c7ec945c11a2ae9688b622d63cff.zip gcc-ad4684c22a15c7ec945c11a2ae9688b622d63cff.tar.gz gcc-ad4684c22a15c7ec945c11a2ae9688b622d63cff.tar.bz2 |
Fix libstdc++/61536 - Export out of line typeinfo comparison operators
2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR libstdc++/61536
* config/abi/pre/gnu.ver: Adjust for out of line comparisons.
Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
From-SVN: r211774
-rw-r--r-- | libstdc++-v3/ChangeLog | 6 | ||||
-rw-r--r-- | libstdc++-v3/config/abi/pre/gnu.ver | 17 |
2 files changed, 23 insertions, 0 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 5f23ef0..44168d0 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2014-06-18 Paolo Carlini <paolo.carlini@oracle.com> + Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> + + PR libstdc++/61536 + * config/abi/pre/gnu.ver: Adjust for out of line comparisons. + 2014-06-14 Jonathan Wakely <jwakely@redhat.com> * 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 e7de756..63c9130 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 ## <http://www.gnu.org/licenses/>. +// 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*; |