libc++'s stddef.h uses non-standard macros to detect if max_align_t exists, which break on musl. We reluctantly add musl's non-public macro the list for now, but this should be fixed more fundamentally. diff --git a/libcxx/include/stddef.h b/libcxx/include/stddef.h index 8841bbe..faf8552 100644 --- a/libcxx/include/stddef.h +++ b/libcxx/include/stddef.h @@ -53,7 +53,8 @@ using std::nullptr_t; } // Re-use the compiler's max_align_t where possible. -#if !defined(__CLANG_MAX_ALIGN_T_DEFINED) && !defined(_GCC_MAX_ALIGN_T) +#if !defined(__CLANG_MAX_ALIGN_T_DEFINED) && !defined(_GCC_MAX_ALIGN_T) && \ + !defined(__DEFINED_max_align_t) typedef long double max_align_t; #endif