Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 12 Feb 2014 18:14:50 +0000 (UTC)
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r261801 - head/contrib/libc++/include
Message-ID:  <201402121814.s1CIEo5A016765@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201402121814.s1CIEo5A016765>