aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Carlini <paolo.carlini@oracle.com>2014-06-18 09:44:15 +0000
committerRamana Radhakrishnan <ramana@gcc.gnu.org>2014-06-18 09:44:15 +0000
commitad4684c22a15c7ec945c11a2ae9688b622d63cff (patch)
tree92ee512606e8a582a24ddee9330a66cd6853260a
parenta5852beabcf2e8c5bdfd6143191df3183c0db590 (diff)
downloadgcc-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/ChangeLog6
-rw-r--r--libstdc++-v3/config/abi/pre/gnu.ver17
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*;