https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92143
--- Comment #4 from Daryl Haresign <gcc-bugzilla at daryl dot haresign.com> --- As for conformance, the latest C draft says: The aligned_alloc function allocates space for an object whose alignment is specified by alignment, whose size is specified by size, and whose value is indeterminate. If the value of alignment is not a valid alignment supported by the implementation the function shall fail by returning a null pointer. C11 said: The aligned_alloc function allocates space for an object whose alignment is specified by alignment, whose size is specified by size, and whose value is indeterminate. The value of alignment shall be a valid alignment supported by the implementation and the value of size shall be an integral multiple of alignment. So it seems macOS and AIX's implementations are technically conformant. Perhaps GCC should determine whether the platform supports alignments less than sizeof(void*) when GCC is built, and put a new macro in c++config.h (assuming that's how that file is constructed)?