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. PR libstdc++/92143 * libsupc++/new_opa.cc (operator new) [__APPLE__]: Increase alignment to at least sizeof(void*). From-SVN: r277151
This commit is contained in:
parent
7e4b7d7bac
commit
15abd9320d
|
@ -1,5 +1,9 @@
|
|||
2019-10-18 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
PR libstdc++/92143
|
||||
* libsupc++/new_opa.cc (operator new) [__APPLE__]: Increase alignment
|
||||
to at least sizeof(void*).
|
||||
|
||||
* include/bits/range_cmp.h (ranges::less::operator()): Inline the
|
||||
logic from std::less::operator() to remove the dependency on it.
|
||||
|
||||
|
|
|
@ -108,9 +108,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
|
||||
|
|
Loading…
Reference in New Issue