fix type issues in stdint.h so underlying types of 64-bit types match ABI
[musl] / arch / arm / bits / alltypes.h.sh
index ddc5c06..c1db1a0 100755 (executable)
@@ -18,7 +18,7 @@ union \1 \2;\
 
 TYPEDEF unsigned size_t;
 TYPEDEF int ssize_t;
-TYPEDEF long ptrdiff_t;
+TYPEDEF int ptrdiff_t;
 
 TYPEDEF __builtin_va_list va_list;
 
@@ -26,13 +26,13 @@ TYPEDEF __builtin_va_list va_list;
 TYPEDEF unsigned wchar_t;
 #endif
 TYPEDEF int 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;
@@ -56,11 +56,15 @@ TYPEDEF uint64_t           uint_fast64_t;
 TYPEDEF long          intptr_t;
 TYPEDEF unsigned long uintptr_t;
 
+TYPEDEF long long          intmax_t;
+TYPEDEF unsigned long long uintmax_t;
+
 TYPEDEF float float_t;
 TYPEDEF double double_t;
 
 TYPEDEF long time_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; };