the C11 _Alignas keyword is not present in C++, and despite it being in the reserved namespace and thus reasonable to support even in non-C11 modes, compilers seem to fail to support it.
@@ -27,7 +27,11 @@ TYPEDEF long double float_t;
TYPEDEF long double double_t;
#endif
+#ifdef __cplusplus
+TYPEDEF struct { alignas(8) long long __ll; long double __ld; } max_align_t;
+#else
TYPEDEF struct { _Alignas(8) long long __ll; long double __ld; } max_align_t;
+#endif
TYPEDEF long time_t;
TYPEDEF long suseconds_t;