https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92143
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |WAITING Last reconfirmed| |2019-10-17 Component|c++ |libstdc++ Ever confirmed|0 |1 --- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> --- More likely is that OS X has a non-conforming aligned_alloc, similar to AIX: #if _GLIBCXX_HAVE_ALIGNED_ALLOC # ifdef _AIX /* AIX 7.2.0.0 aligned_alloc incorrectly has posix_memalign's requirement * that alignment is a multiple of sizeof(void*). */ if (align < sizeof(void*)) align = sizeof(void*); # endif /* C11: the value of size shall be an integral multiple of alignment. */ sz = (sz + align - 1) & ~(align - 1); #endif Please attach the output of compiling your example with -E -dM so I can see which macros are defined.