diff --git a/arch/arm/bits/alltypes.h.in b/arch/arm/bits/alltypes.h.in index 0d750cc8..183c4c41 100644 --- a/arch/arm/bits/alltypes.h.in +++ b/arch/arm/bits/alltypes.h.in @@ -13,6 +13,8 @@ TYPEDEF unsigned wint_t; TYPEDEF float float_t; TYPEDEF double double_t; +TYPEDEF struct { long long __ll; long double __ld; } max_align_t; + TYPEDEF long time_t; TYPEDEF long suseconds_t; diff --git a/arch/i386/bits/alltypes.h.in b/arch/i386/bits/alltypes.h.in index 502c8822..8ba8f6f3 100644 --- a/arch/i386/bits/alltypes.h.in +++ b/arch/i386/bits/alltypes.h.in @@ -27,6 +27,8 @@ TYPEDEF long double float_t; TYPEDEF long double double_t; #endif +TYPEDEF struct { _Alignas(8) long long __ll; long double __ld; } max_align_t; + TYPEDEF long time_t; TYPEDEF long suseconds_t; diff --git a/arch/microblaze/bits/alltypes.h.in b/arch/microblaze/bits/alltypes.h.in index 4657d14d..a03e1b89 100644 --- a/arch/microblaze/bits/alltypes.h.in +++ b/arch/microblaze/bits/alltypes.h.in @@ -13,6 +13,8 @@ TYPEDEF unsigned wint_t; TYPEDEF float float_t; TYPEDEF double double_t; +TYPEDEF struct { long long __ll; long double __ld; } max_align_t; + TYPEDEF long time_t; TYPEDEF long suseconds_t; diff --git a/arch/mips/bits/alltypes.h.in b/arch/mips/bits/alltypes.h.in index 4657d14d..a03e1b89 100644 --- a/arch/mips/bits/alltypes.h.in +++ b/arch/mips/bits/alltypes.h.in @@ -13,6 +13,8 @@ TYPEDEF unsigned wint_t; TYPEDEF float float_t; TYPEDEF double double_t; +TYPEDEF struct { long long __ll; long double __ld; } max_align_t; + TYPEDEF long time_t; TYPEDEF long suseconds_t; diff --git a/arch/or1k/bits/alltypes.h.in b/arch/or1k/bits/alltypes.h.in index 0d750cc8..183c4c41 100644 --- a/arch/or1k/bits/alltypes.h.in +++ b/arch/or1k/bits/alltypes.h.in @@ -13,6 +13,8 @@ TYPEDEF unsigned wint_t; TYPEDEF float float_t; TYPEDEF double double_t; +TYPEDEF struct { long long __ll; long double __ld; } max_align_t; + TYPEDEF long time_t; TYPEDEF long suseconds_t; diff --git a/arch/powerpc/bits/alltypes.h.in b/arch/powerpc/bits/alltypes.h.in index 378124ca..ee7f1373 100644 --- a/arch/powerpc/bits/alltypes.h.in +++ b/arch/powerpc/bits/alltypes.h.in @@ -13,6 +13,8 @@ TYPEDEF unsigned wint_t; TYPEDEF float float_t; TYPEDEF double double_t; +TYPEDEF struct { long long __ll; long double __ld; } max_align_t; + TYPEDEF long time_t; TYPEDEF long suseconds_t; diff --git a/arch/sh/bits/alltypes.h.in b/arch/sh/bits/alltypes.h.in index 378124ca..ee7f1373 100644 --- a/arch/sh/bits/alltypes.h.in +++ b/arch/sh/bits/alltypes.h.in @@ -13,6 +13,8 @@ TYPEDEF unsigned wint_t; TYPEDEF float float_t; TYPEDEF double double_t; +TYPEDEF struct { long long __ll; long double __ld; } max_align_t; + TYPEDEF long time_t; TYPEDEF long suseconds_t; diff --git a/arch/x32/bits/alltypes.h.in b/arch/x32/bits/alltypes.h.in index 8930efa3..8e396c97 100644 --- a/arch/x32/bits/alltypes.h.in +++ b/arch/x32/bits/alltypes.h.in @@ -18,6 +18,8 @@ TYPEDEF float float_t; TYPEDEF double double_t; #endif +TYPEDEF struct { long long __ll; long double __ld; } max_align_t; + TYPEDEF long long time_t; TYPEDEF long long suseconds_t; diff --git a/arch/x86_64/bits/alltypes.h.in b/arch/x86_64/bits/alltypes.h.in index 34b7d6ac..7b4f3e72 100644 --- a/arch/x86_64/bits/alltypes.h.in +++ b/arch/x86_64/bits/alltypes.h.in @@ -18,6 +18,8 @@ TYPEDEF float float_t; TYPEDEF double double_t; #endif +TYPEDEF struct { long long __ll; long double __ld; } max_align_t; + TYPEDEF long time_t; TYPEDEF long suseconds_t; diff --git a/include/stddef.h b/include/stddef.h index 0a329190..bd753853 100644 --- a/include/stddef.h +++ b/include/stddef.h @@ -10,6 +10,9 @@ #define __NEED_ptrdiff_t #define __NEED_size_t #define __NEED_wchar_t +#if __STDC_VERSION__ >= 201112L || __cplusplus >= 201103L +#define __NEED_max_align_t +#endif #include