From: Jonathan Wakely Date: Thu, 24 Oct 2019 15:31:00 +0000 (+0100) Subject: PR libstdc++/92143 adjust for OS X aligned_alloc behaviour X-Git-Tag: releases/gcc-7.5.0~45 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=474aa6a4fda4d9f3bae339e379987a5a2f565007;p=thirdparty%2Fgcc.git PR libstdc++/92143 adjust for OS X aligned_alloc behaviour OS X 10.15 adds aligned_alloc but it has the same restriction as the AIX version, namely that alignments smaller than sizeof(void*) are not supported. Backport from mainline 2019-10-18 Jonathan Wakely PR libstdc++/92143 * libsupc++/new_opa.cc (operator new) [__APPLE__]: Increase alignment to at least sizeof(void*). From-SVN: r277414 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index b51beb4c28eb..1cad1c582412 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,12 @@ 2019-10-24 Jonathan Wakely + Backport from mainline + 2019-10-18 Jonathan Wakely + + PR libstdc++/92143 + * libsupc++/new_opa.cc (operator new) [__APPLE__]: Increase alignment + to at least sizeof(void*). + Backport from mainline 2019-10-08 Jonathan Wakely diff --git a/libstdc++-v3/libsupc++/new_opa.cc b/libstdc++-v3/libsupc++/new_opa.cc index 94e79cadb0e2..d7461227c29d 100644 --- a/libstdc++-v3/libsupc++/new_opa.cc +++ b/libstdc++-v3/libsupc++/new_opa.cc @@ -114,9 +114,10 @@ operator new (std::size_t sz, std::align_val_t al) sz = 1; #if _GLIBCXX_HAVE_ALIGNED_ALLOC -# ifdef _AIX +# if defined _AIX || defined __APPLE__ /* AIX 7.2.0.0 aligned_alloc incorrectly has posix_memalign's requirement - * that alignment is a multiple of sizeof(void*). */ + * that alignment is a multiple of sizeof(void*). + * OS X 10.15 has the same requirement. */ if (align < sizeof(void*)) align = sizeof(void*); # endif