diff options
author | dim <dim@FreeBSD.org> | 2014-02-12 18:14:49 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2014-02-12 18:14:49 +0000 |
commit | 5c48f599e6cca1a5840b03ef326e580c002e997f (patch) | |
tree | f2db0931459b54ea9a3230fb68ee34c113e788df /contrib/libc++ | |
parent | 66d02c4143f267d07b6f3fb687c296d442382660 (diff) | |
download | FreeBSD-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/__config | 2 |
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 |