diff --git a/libcxx/include/cstddef b/libcxx/include/cstddef
index 7ef16ff2a367ccbca9579bc26a6e5ae6dd169956..0030ec289a8ca2f41680bb58fc114d88663a6ff0 100644
--- a/libcxx/include/cstddef
+++ b/libcxx/include/cstddef
@@ -52,7 +52,12 @@ _LIBCPP_BEGIN_NAMESPACE_STD
 using ::ptrdiff_t;
 using ::size_t;
 
+#if defined(__CLANG_MAX_ALIGN_T_DEFINED) || defined(_GCC_MAX_ALIGN_T)
+// Re-use the compiler's <stddef.h> max_align_t where possible.
+using ::max_align_t;
+#else
 typedef long double max_align_t;
+#endif
 
 #ifdef _LIBCPP_HAS_NO_NULLPTR