summaryrefslogtreecommitdiffstats
path: root/contrib/libc++
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2014-02-12 18:14:49 +0000
committerdim <dim@FreeBSD.org>2014-02-12 18:14:49 +0000
commit5c48f599e6cca1a5840b03ef326e580c002e997f (patch)
treef2db0931459b54ea9a3230fb68ee34c113e788df /contrib/libc++
parent66d02c4143f267d07b6f3fb687c296d442382660 (diff)
downloadFreeBSD-src-5c48f599e6cca1a5840b03ef326e580c002e997f.zip
FreeBSD-src-5c48f599e6cca1a5840b03ef326e580c002e997f.tar.gz
An ABI incompatibility crept into the libc++ 3.4 import in r261283. It
was caused by upstream libc++ commit r194536, which aimed to make the headers more standards-compliant, by making std::pair's copy constructor trivial. Unfortunately, this could cause certain C++ applications using shared libraries built against the previous version of libc++ to crash. Fix the ABI incompatibility by making std::pair's copy constructor non-trivial again. Please note: Any C++ applications or shared libraries built with libc++ between r261283 and this revision should be recompiled. Reported by: stefanf MFC after: 3 weeks X-MFC-With: r261283
Diffstat (limited to 'contrib/libc++')
-rw-r--r--contrib/libc++/include/__config2
1 files changed, 1 insertions, 1 deletions
diff --git a/contrib/libc++/include/__config b/contrib/libc++/include/__config
index aa8bc44..a8c3498 100644
--- a/contrib/libc++/include/__config
+++ b/contrib/libc++/include/__config
@@ -567,7 +567,7 @@ template <unsigned> struct __static_assert_check {};
#define _LIBCPP_WCTYPE_IS_MASK
#endif
-#if defined(__APPLE__)
+#if defined(__APPLE__) || defined(__FreeBSD__)
#ifndef _LIBCPP_TRIVIAL_PAIR_COPY_CTOR
# define _LIBCPP_TRIVIAL_PAIR_COPY_CTOR 0
#endif
OpenPOWER on IntegriCloud