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>
|
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
|
* include/bits/range_cmp.h (ranges::less::operator()): Inline the
|
||||||
logic from std::less::operator() to remove the dependency on it.
|
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;
|
sz = 1;
|
||||||
|
|
||||||
#if _GLIBCXX_HAVE_ALIGNED_ALLOC
|
#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
|
/* 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*))
|
if (align < sizeof(void*))
|
||||||
align = sizeof(void*);
|
align = sizeof(void*);
|
||||||
# endif
|
# endif
|
||||||
|
|
Loading…
Reference in New Issue