https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120895
--- Comment #15 from Jonathan Wakely <redi at gcc dot gnu.org> --- The code in std::allocator<T>::allocate is: #if __cpp_aligned_new && __cplusplus >= 201103L if (alignof(_Tp) > __STDCPP_DEFAULT_NEW_ALIGNMENT__) { std::align_val_t __al = std::align_val_t(alignof(_Tp)); return static_cast<_Tp*>(_GLIBCXX_OPERATOR_NEW(__n * sizeof(_Tp), __al)); } #endif return static_cast<_Tp*>(_GLIBCXX_OPERATOR_NEW(__n * sizeof(_Tp)));