about summary refs log tree commit diff
path: root/bits
diff options
context:
space:
mode:
Diffstat (limited to 'bits')
-rw-r--r--bits/types.h17
1 files changed, 9 insertions, 8 deletions
diff --git a/bits/types.h b/bits/types.h
index 59b85acf8c..8abea03f57 100644
--- a/bits/types.h
+++ b/bits/types.h
@@ -51,14 +51,13 @@ __extension__ typedef signed long long int __int64_t;
 __extension__ typedef unsigned long long int __uint64_t;
 #endif
 
-/* quad_t is also 64 bits, but is traditionally defined as `long long'
-   even when `long' is also 64 bits.  */
-#ifdef __GLIBC_HAVE_LONG_LONG
-__extension__ typedef long long int __quad_t;
-__extension__ typedef unsigned long long int __u_quad_t;
-#elif __WORDSIZE == 64
+/* quad_t is also 64 bits.  */
+#if __WORDSIZE == 64
 typedef long int __quad_t;
 typedef unsigned long int __u_quad_t;
+#elif defined __GLIBC_HAVE_LONG_LONG
+__extension__ typedef long long int __quad_t;
+__extension__ typedef unsigned long long int __u_quad_t;
 #else
 typedef struct
 {
@@ -106,9 +105,9 @@ typedef struct
 #define __U32_TYPE		unsigned int
 #define __SLONGWORD_TYPE	long int
 #define __ULONGWORD_TYPE	unsigned long int
-#define	__SQUAD_TYPE		long long int
-#define	__UQUAD_TYPE		unsigned long long int
 #if __WORDSIZE == 32
+# define __SQUAD_TYPE		long long int
+# define __UQUAD_TYPE		unsigned long long int
 # define __SWORD_TYPE		int
 # define __UWORD_TYPE		unsigned int
 # define __SLONG32_TYPE		long int
@@ -116,6 +115,8 @@ typedef struct
 # define __S64_TYPE		__quad_t
 # define __U64_TYPE		__u_quad_t
 #elif __WORDSIZE == 64
+# define __SQUAD_TYPE		long int
+# define __UQUAD_TYPE		unsigned long int
 # define __SWORD_TYPE		long int
 # define __UWORD_TYPE		unsigned long int
 # define __SLONG32_TYPE		int