fix type issues in stdint.h so underlying types of 64-bit types match ABI
[musl] / arch / i386 / bits / alltypes.h.sh
index a5ba060..aec7373 100755 (executable)
@@ -18,39 +18,39 @@ union \1 \2;\
 
 TYPEDEF unsigned size_t;
 TYPEDEF int ssize_t;
-TYPEDEF long ptrdiff_t;
+TYPEDEF int ptrdiff_t;
+
+#if __GNUC__ >= 3
+TYPEDEF __builtin_va_list va_list;
+#else
 TYPEDEF struct __va_list * va_list;
+#endif
 
+#ifndef __cplusplus
+#ifdef __WCHAR_TYPE__
+TYPEDEF __WCHAR_TYPE__ wchar_t;
+#else
 TYPEDEF long wchar_t;
+#endif
+#endif
 TYPEDEF long wint_t;
-TYPEDEF long wctrans_t;
-TYPEDEF long wctype_t;
+TYPEDEF const int * wctrans_t;
+TYPEDEF unsigned long wctype_t;
 
-TYPEDEF char      int8_t;
-TYPEDEF short     int16_t;
-TYPEDEF int       int32_t;
-TYPEDEF long long int64_t;
+TYPEDEF signed char int8_t;
+TYPEDEF short       int16_t;
+TYPEDEF int         int32_t;
+TYPEDEF long long   int64_t;
 
 TYPEDEF unsigned char      uint8_t;
 TYPEDEF unsigned short     uint16_t;
 TYPEDEF unsigned int       uint32_t;
 TYPEDEF unsigned long long uint64_t;
 
-TYPEDEF unsigned char      __uint8_t;
 TYPEDEF unsigned short     __uint16_t;
 TYPEDEF unsigned int       __uint32_t;
 TYPEDEF unsigned long long __uint64_t;
 
-TYPEDEF int8_t  int_least8_t;
-TYPEDEF int16_t int_least16_t;
-TYPEDEF int32_t int_least32_t;
-TYPEDEF int64_t int_least64_t;
-
-TYPEDEF uint8_t  uint_least8_t;
-TYPEDEF uint16_t uint_least16_t;
-TYPEDEF uint32_t uint_least32_t;
-TYPEDEF uint64_t uint_least64_t;
-
 TYPEDEF int8_t    int_fast8_t;
 TYPEDEF int       int_fast16_t;
 TYPEDEF int       int_fast32_t;
@@ -67,9 +67,17 @@ TYPEDEF unsigned long uintptr_t;
 TYPEDEF long long          intmax_t;
 TYPEDEF unsigned long long uintmax_t;
 
+#if defined(__FLT_EVAL_METHOD__) && __FLT_EVAL_METHOD__ == 0
+TYPEDEF float float_t;
+TYPEDEF double double_t;
+#else
+TYPEDEF long double float_t;
+TYPEDEF long double double_t;
+#endif
+
 TYPEDEF long time_t;
-TYPEDEF unsigned useconds_t;
 TYPEDEF int suseconds_t;
+TYPEDEF unsigned useconds_t;
 STRUCT timeval { time_t tv_sec; int tv_usec; };
 STRUCT timespec { time_t tv_sec; long tv_nsec; };
 
@@ -78,7 +86,22 @@ TYPEDEF int id_t;
 TYPEDEF int uid_t;
 TYPEDEF int gid_t;
 TYPEDEF int key_t;
+
 TYPEDEF struct __pthread * pthread_t;
+TYPEDEF int pthread_once_t;
+TYPEDEF int pthread_key_t;
+TYPEDEF int pthread_spinlock_t;
+
+TYPEDEF struct { union { int __i[9]; size_t __s[9]; } __u; } pthread_attr_t;
+TYPEDEF unsigned pthread_mutexattr_t;
+TYPEDEF unsigned pthread_condattr_t;
+TYPEDEF unsigned pthread_barrierattr_t;
+TYPEDEF struct { unsigned __attr[2]; } pthread_rwlockattr_t;
+
+TYPEDEF struct { union { int __i[6]; void *__p[6]; } __u; } pthread_mutex_t;
+TYPEDEF struct { union { int __i[12]; void *__p[12]; } __u; } pthread_cond_t;
+TYPEDEF struct { union { int __i[8]; void *__p[8]; } __u; } pthread_rwlock_t;
+TYPEDEF struct { union { int __i[5]; void *__p[5]; } __u; } pthread_barrier_t;
 
 TYPEDEF long long off_t;