fix C++ incompatibility in i386 definition of max_align_t
[oweals/musl.git] / arch / i386 / bits / alltypes.h.in
1 #define _Addr int
2 #define _Int64 long long
3 #define _Reg int
4
5 #if __GNUC__ >= 3
6 TYPEDEF __builtin_va_list va_list;
7 TYPEDEF __builtin_va_list __isoc_va_list;
8 #else
9 TYPEDEF struct __va_list * va_list;
10 TYPEDEF struct __va_list * __isoc_va_list;
11 #endif
12
13 #ifndef __cplusplus
14 #ifdef __WCHAR_TYPE__
15 TYPEDEF __WCHAR_TYPE__ wchar_t;
16 #else
17 TYPEDEF long wchar_t;
18 #endif
19 #endif
20 TYPEDEF unsigned wint_t;
21
22 #if defined(__FLT_EVAL_METHOD__) && __FLT_EVAL_METHOD__ == 0
23 TYPEDEF float float_t;
24 TYPEDEF double double_t;
25 #else
26 TYPEDEF long double float_t;
27 TYPEDEF long double double_t;
28 #endif
29
30 #ifdef __cplusplus
31 TYPEDEF struct { alignas(8) long long __ll; long double __ld; } max_align_t;
32 #else
33 TYPEDEF struct { _Alignas(8) long long __ll; long double __ld; } max_align_t;
34 #endif
35
36 TYPEDEF long time_t;
37 TYPEDEF long suseconds_t;
38
39 TYPEDEF struct { union { int __i[9]; unsigned __s[9]; } __u; } pthread_attr_t;
40 TYPEDEF struct { union { int __i[6]; volatile void *volatile __p[6]; } __u; } pthread_mutex_t;
41 TYPEDEF struct { union { int __i[6]; volatile void *volatile __p[6]; } __u; } mtx_t;
42 TYPEDEF struct { union { int __i[12]; void *__p[12]; } __u; } pthread_cond_t;
43 TYPEDEF struct { union { int __i[12]; void *__p[12]; } __u; } cnd_t;
44 TYPEDEF struct { union { int __i[8]; void *__p[8]; } __u; } pthread_rwlock_t;
45 TYPEDEF struct { union { int __i[5]; void *__p[5]; } __u; } pthread_barrier_t;