svn commit: r261801 - head/contrib/libc++/include

Dimitry Andric dim at FreeBSD.org
Wed Feb 12 18:14:50 UTC 2014


Author: dim
Date: Wed Feb 12 18:14:49 2014
New Revision: 261801
URL: http://svnweb.freebsd.org/changeset/base/261801

Log:
  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

Modified:
  head/contrib/libc++/include/__config

Modified: head/contrib/libc++/include/__config
==============================================================================
--- head/contrib/libc++/include/__config	Wed Feb 12 16:39:56 2014	(r261800)
+++ head/contrib/libc++/include/__config	Wed Feb 12 18:14:49 2014	(r261801)
@@ -567,7 +567,7 @@ template <unsigned> struct __static_asse
 #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


More information about the svn-src-all mailing list