From bd082916b110c0c49e71bc83ff68dfd88bb8313a Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Thu, 11 Sep 2014 10:16:30 -0400 Subject: [PATCH] fix C++ incompatibility in i386 definition of max_align_t 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. --- arch/i386/bits/alltypes.h.in | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/i386/bits/alltypes.h.in b/arch/i386/bits/alltypes.h.in index a7882ed5..646922b1 100644 --- a/arch/i386/bits/alltypes.h.in +++ b/arch/i386/bits/alltypes.h.in @@ -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; -- 2.25.1