<div dir="ltr">Hi Hans,<div><br></div><div>Marshall gave this commit and r<span style="font-size:12.8px">292560 permission to be merged into 4.0, which I will being doing shortly.</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">/Eric</span></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jan 19, 2017 at 6:47 PM, Eric Fiselier via cfe-commits <span dir="ltr"><<a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: ericwf<br>
Date: Thu Jan 19 19:47:26 2017<br>
New Revision: 292564<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=292564&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project?rev=292564&view=rev</a><br>
Log:<br>
Disable aligned new/delete on Apple platforms without posix_memalign<br>
<br>
Summary:<br>
This patch disables the aligned new/delet overloads on Apple platforms without `posix_memalign`. This fixes libc++.dylib build regressions on such platforms.<br>
This fixes <a href="http://llvm.org/PR31448" rel="noreferrer" target="_blank">http://llvm.org/PR31448</a>.<br>
<br>
This patch should also be merged into the 4.0 release branch<br>
<br>
<br>
Reviewers: mclow.lists, rsmith, dexonsmith, jeremyhu<br>
<br>
Reviewed By: mclow.lists<br>
<br>
Subscribers: cfe-commits<br>
<br>
Differential Revision: <a href="https://reviews.llvm.org/D28931" rel="noreferrer" target="_blank">https://reviews.llvm.org/<wbr>D28931</a><br>
<br>
Modified:<br>
    libcxx/trunk/include/__config<br>
    libcxx/trunk/include/new<br>
    libcxx/trunk/src/new.cpp<br>
<br>
Modified: libcxx/trunk/include/__config<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/__config?rev=292564&r1=292563&r2=292564&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/libcxx/trunk/include/_<wbr>_config?rev=292564&r1=292563&<wbr>r2=292564&view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- libcxx/trunk/include/__config (original)<br>
+++ libcxx/trunk/include/__config Thu Jan 19 19:47:26 2017<br>
@@ -848,6 +848,18 @@ template <unsigned> struct __static_asse<br>
 #define _DECLARE_C99_LDBL_MATH 1<br>
 #endif<br>
<br>
+#if defined(__APPLE__)<br>
+# if !defined(__MAC_OS_X_VERSION_<wbr>MIN_REQUIRED) && \<br>
+     defined(__ENVIRONMENT_MAC_OS_<wbr>X_VERSION_MIN_REQUIRED__)<br>
+#   define __MAC_OS_X_VERSION_MIN_<wbr>REQUIRED __ENVIROMENT_MAC_OS_X_VERSION_<wbr>MIN_REQUIRED__<br>
+# endif<br>
+# if defined(__MAC_OS_X_VERSION_<wbr>MIN_REQUIRED)<br>
+#   if __MAC_OS_X_VERSION_MIN_<wbr>REQUIRED < 1060<br>
+#     define _LIBCPP_HAS_NO_ALIGNED_<wbr>ALLOCATION<br>
+#   endif<br>
+# endif<br>
+#endif // defined(__APPLE__)<br>
+<br>
 #if defined(__APPLE__) || defined(__FreeBSD__)<br>
 #define _LIBCPP_HAS_DEFAULTRUNELOCALE<br>
 #endif<br>
<br>
Modified: libcxx/trunk/include/new<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/new?rev=292564&r1=292563&r2=292564&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/libcxx/trunk/include/<wbr>new?rev=292564&r1=292563&r2=<wbr>292564&view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- libcxx/trunk/include/new (original)<br>
+++ libcxx/trunk/include/new Thu Jan 19 19:47:26 2017<br>
@@ -101,8 +101,9 @@ void  operator delete[](void* ptr, void*<br>
 # define _LIBCPP_HAS_NO_SIZED_<wbr>DEALLOCATION<br>
 #endif<br>
<br>
-#if !(defined(_LIBCPP_BUILDING_<wbr>NEW) || _LIBCPP_STD_VER > 14 || \<br>
-    (defined(__cpp_aligned_new) && __cpp_aligned_new >= 201606))<br>
+#if !defined(_LIBCPP_HAS_NO_<wbr>ALIGNED_ALLOCATION) && \<br>
+    (!(defined(_LIBCPP_BUILDING_<wbr>NEW) || _LIBCPP_STD_VER > 14 || \<br>
+    (defined(__cpp_aligned_new) && __cpp_aligned_new >= 201606)))<br>
 # define _LIBCPP_HAS_NO_ALIGNED_<wbr>ALLOCATION<br>
 #endif<br>
<br>
<br>
Modified: libcxx/trunk/src/new.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/libcxx/trunk/src/new.cpp?rev=292564&r1=292563&r2=292564&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/libcxx/trunk/src/new.<wbr>cpp?rev=292564&r1=292563&r2=<wbr>292564&view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- libcxx/trunk/src/new.cpp (original)<br>
+++ libcxx/trunk/src/new.cpp Thu Jan 19 19:47:26 2017<br>
@@ -151,6 +151,8 @@ operator delete[] (void* ptr, size_t) _N<br>
     ::operator delete[](ptr);<br>
 }<br>
<br>
+#if !defined(_LIBCPP_HAS_NO_<wbr>ALIGNED_ALLOCATION)<br>
+<br>
 _LIBCPP_WEAK<br>
 void *<br>
 operator new(std::size_t size, std::align_val_t alignment) _THROW_BAD_ALLOC<br>
@@ -275,6 +277,8 @@ operator delete[] (void* ptr, size_t, st<br>
     ::operator delete[](ptr, alignment);<br>
 }<br>
<br>
+#endif // !defined(_LIBCPP_HAS_NO_<wbr>ALIGNED_ALLOCATION)<br>
+<br>
 #endif // !__GLIBCXX__<br>
<br>
 namespace std<br>
<br>
<br>
______________________________<wbr>_________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/cfe-commits</a><br>
</blockquote></div><br></div>