refactor headers, especially alltypes.h, and improve C++ ABI compat
[musl] / arch / i386 / bits / alltypes.h.in
1 #define _Addr int
2 #define _Int64 long long
3
4 #if __GNUC__ >= 3
5 TYPEDEF __builtin_va_list va_list;
6 TYPEDEF __builtin_va_list __isoc_va_list;
7 #else
8 TYPEDEF struct __va_list * va_list;
9 TYPEDEF struct __va_list * __isoc_va_list;
10 #endif
11
12 #ifndef __cplusplus
13 #ifdef __WCHAR_TYPE__
14 TYPEDEF __WCHAR_TYPE__ wchar_t;
15 #else
16 TYPEDEF long wchar_t;
17 #endif
18 #endif
19 TYPEDEF long wint_t;
20
21 #if defined(__FLT_EVAL_METHOD__) && __FLT_EVAL_METHOD__ == 0
22 TYPEDEF float float_t;
23 TYPEDEF double double_t;
24 #else
25 TYPEDEF long double float_t;
26 TYPEDEF long double double_t;
27 #endif
28
29 TYPEDEF long time_t;
30 TYPEDEF long suseconds_t;
31
32 TYPEDEF struct { union { int __i[9]; unsigned __s[9]; } __u; } pthread_attr_t;
33 TYPEDEF struct { union { int __i[6]; void *__p[6]; } __u; } pthread_mutex_t;
34 TYPEDEF struct { union { int __i[12]; void *__p[12]; } __u; } pthread_cond_t;
35 TYPEDEF struct { union { int __i[8]; void *__p[8]; } __u; } pthread_rwlock_t;
36 TYPEDEF struct { union { int __i[5]; void *__p[5]; } __u; } pthread_barrier_t;