I think you need to also define __CLANG_MAX_ALIGN_T_DEFINED and perhaps _GCC_MAX_ALIGN_T to avoid libcxx from redefining max_align_t as a different type. E.g. in src/lib/libcxx/include/stddef.h
// Re-use the compiler's <stddef.h> max_align_t where possible. #if !defined(__CLANG_MAX_ALIGN_T_DEFINED) && !defined(_GCC_MAX_ALIGN_T) typedef long double max_align_t; #endif FreeBSD defines both __CLANG_MAX_ALIGN_T_DEFINED and _GCC_MAX_ALIGN_T when defining max_align_t in stddef.h, we probably need to as well. - todd