@@ -30,7 +30,7 @@
# define __TIME64_T_TYPE __TIME_T_TYPE
#else
/* Define a 64-bit time type alongsize the 32-bit one. */
-# define __TIME64_T_TYPE __SQUAD_TYPE
+# define __TIME64_T_TYPE __S64_TYPE
#endif
#endif /* bits/time64.h */
@@ -26,24 +26,24 @@
/* See <bits/types.h> for the meaning of these macros. This file exists so
that <bits/types.h> need not vary across different GNU platforms. */
-#define __DEV_T_TYPE __UQUAD_TYPE
+#define __DEV_T_TYPE __U64_TYPE
#define __UID_T_TYPE __U32_TYPE
#define __GID_T_TYPE __U32_TYPE
#define __INO_T_TYPE __ULONGWORD_TYPE
-#define __INO64_T_TYPE __UQUAD_TYPE
+#define __INO64_T_TYPE __U64_TYPE
#define __MODE_T_TYPE __U32_TYPE
#define __NLINK_T_TYPE __UWORD_TYPE
#define __OFF_T_TYPE __SLONGWORD_TYPE
-#define __OFF64_T_TYPE __SQUAD_TYPE
+#define __OFF64_T_TYPE __S64_TYPE
#define __PID_T_TYPE __S32_TYPE
#define __RLIM_T_TYPE __ULONGWORD_TYPE
-#define __RLIM64_T_TYPE __UQUAD_TYPE
+#define __RLIM64_T_TYPE __U64_TYPE
#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
-#define __BLKCNT64_T_TYPE __SQUAD_TYPE
+#define __BLKCNT64_T_TYPE __S64_TYPE
#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
-#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
+#define __FSBLKCNT64_T_TYPE __U64_TYPE
#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
-#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
+#define __FSFILCNT64_T_TYPE __U64_TYPE
#define __FSWORD_T_TYPE __SWORD_TYPE
#define __ID_T_TYPE __U32_TYPE
#define __CLOCK_T_TYPE __SLONGWORD_TYPE
@@ -27,12 +27,6 @@
#include <bits/wordsize.h>
#include <bits/timesize.h>
-/* Convenience types. */
-typedef unsigned char __u_char;
-typedef unsigned short int __u_short;
-typedef unsigned int __u_int;
-typedef unsigned long int __u_long;
-
/* Fixed-size types, underlying types depend on word size and compiler. */
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
@@ -43,9 +37,11 @@ typedef unsigned int __uint32_t;
#if __WORDSIZE == 64
typedef signed long int __int64_t;
typedef unsigned long int __uint64_t;
-#else
+#elif __WORDSIZE == 32
__extension__ typedef signed long long int __int64_t;
__extension__ typedef unsigned long long int __uint64_t;
+#else
+# error "Unsupported value for __WORDSIZE"
#endif
/* Smallest types with at least a given width. */
@@ -58,24 +54,9 @@ typedef __uint32_t __uint_least32_t;
typedef __int64_t __int_least64_t;
typedef __uint64_t __uint_least64_t;
-/* quad_t is also 64 bits. */
-#if __WORDSIZE == 64
-typedef long int __quad_t;
-typedef unsigned long int __u_quad_t;
-#else
-__extension__ typedef long long int __quad_t;
-__extension__ typedef unsigned long long int __u_quad_t;
-#endif
-
/* Largest integral types. */
-#if __WORDSIZE == 64
-typedef long int __intmax_t;
-typedef unsigned long int __uintmax_t;
-#else
-__extension__ typedef long long int __intmax_t;
-__extension__ typedef unsigned long long int __uintmax_t;
-#endif
-
+typedef __int64_t __intmax_t;
+typedef __uint64_t __uintmax_t;
/* The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
macros for each of the OS types we define below. The definitions
@@ -87,136 +68,107 @@ __extension__ typedef unsigned long long int __uintmax_t;
32 -- "natural" 32-bit type (always int)
64 -- "natural" 64-bit type (long or long long)
LONG32 -- 32-bit type, traditionally long
- QUAD -- 64-bit type, traditionally long long
WORD -- natural type of __WORDSIZE bits (int or long)
LONGWORD -- type of __WORDSIZE bits, traditionally long
- We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the
- conventional uses of `long' or `long long' type modifiers match the
- types we define, even when a less-adorned type would be the same size.
- This matters for (somewhat) portably writing printf/scanf formats for
- these types, where using the appropriate l or ll format modifiers can
- make the typedefs and the formats match up across all GNU platforms. If
- we used `long' when it's 64 bits where `long long' is expected, then the
- compiler would warn about the formats not matching the argument types,
- and the programmer changing them to shut up the compiler would break the
- program's portability.
+ We distinguish WORD/LONGWORD and 64/QUAD so that the conventional
+ uses of `long' or `long long' type modifiers match the types we
+ define, even when a less-adorned type would be the same size.
+ This matters for (somewhat) portably writing printf/scanf formats
+ for these types, where using the appropriate l or ll format
+ modifiers can make the typedefs and the formats match up across all
+ GNU platforms. If we used `long' when it's 64 bits where `long
+ long' is expected, then the compiler would warn about the formats
+ not matching the argument types, and the programmer changing them
+ to shut up the compiler would break the program's portability.
Here we assume what is presently the case in all the GCC configurations
we support: long long is always 64 bits, long is always word/address size,
and int is always 32 bits. */
-#define __S16_TYPE short int
-#define __U16_TYPE unsigned short int
-#define __S32_TYPE int
-#define __U32_TYPE unsigned int
+#define __S16_TYPE __int16_t
+#define __U16_TYPE __uint16_t
+#define __S32_TYPE __int32_t
+#define __U32_TYPE __uint32_t
+#define __S64_TYPE __int64_t
+#define __U64_TYPE __uint64_t
+
#define __SLONGWORD_TYPE long int
#define __ULONGWORD_TYPE unsigned long int
#if __WORDSIZE == 32
-# define __SQUAD_TYPE __int64_t
-# define __UQUAD_TYPE __uint64_t
# define __SWORD_TYPE int
# define __UWORD_TYPE unsigned int
# define __SLONG32_TYPE long int
# define __ULONG32_TYPE unsigned long int
-# define __S64_TYPE __int64_t
-# define __U64_TYPE __uint64_t
-/* We want __extension__ before typedef's that use nonstandard base types
- such as `long long' in C89 mode. */
-# define __STD_TYPE __extension__ typedef
-#elif __WORDSIZE == 64
-# define __SQUAD_TYPE long int
-# define __UQUAD_TYPE unsigned long int
+#else /* __WORDSIZE == 64 */
# define __SWORD_TYPE long int
# define __UWORD_TYPE unsigned long int
# define __SLONG32_TYPE int
# define __ULONG32_TYPE unsigned int
-# define __S64_TYPE long int
-# define __U64_TYPE unsigned long int
-/* No need to mark the typedef with __extension__. */
-# define __STD_TYPE typedef
-#else
-# error
#endif
#include <bits/typesizes.h> /* Defines __*_T_TYPE macros. */
#include <bits/time64.h> /* Defines __TIME*_T_TYPE macros. */
+/* Types from core POSIX: */
+typedef __BLKCNT_T_TYPE __blkcnt_t; /* Disk block counts. */
+typedef __CLOCKID_T_TYPE __clockid_t; /* Clock IDs. */
+typedef __DEV_T_TYPE __dev_t; /* Device numbers. */
+typedef __FSBLKCNT_T_TYPE __fsblkcnt_t; /* File system block counts. */
+typedef __FSFILCNT_T_TYPE __fsfilcnt_t; /* File system inode counts. */
+typedef __GID_T_TYPE __gid_t; /* Group IDs. */
+typedef __INO_T_TYPE __ino_t; /* File serial numbers. */
+typedef __MODE_T_TYPE __mode_t; /* File attribute bitmasks. */
+typedef __NLINK_T_TYPE __nlink_t; /* File link counts. */
+typedef __OFF_T_TYPE __off_t; /* File sizes and offsets. */
+typedef __PID_T_TYPE __pid_t; /* Process IDs. */
+typedef __RLIM_T_TYPE __rlim_t; /* Resource measurements. */
+typedef __SSIZE_T_TYPE __ssize_t; /* Byte count, or error. */
+typedef __TIME_T_TYPE __time_t; /* Seconds since the Epoch. */
+typedef __TIMER_T_TYPE __timer_t; /* Timer IDs. */
+typedef __UID_T_TYPE __uid_t; /* Type of user identifications. */
-__STD_TYPE __DEV_T_TYPE __dev_t; /* Type of device numbers. */
-__STD_TYPE __UID_T_TYPE __uid_t; /* Type of user identifications. */
-__STD_TYPE __GID_T_TYPE __gid_t; /* Type of group identifications. */
-__STD_TYPE __INO_T_TYPE __ino_t; /* Type of file serial numbers. */
-__STD_TYPE __INO64_T_TYPE __ino64_t; /* Type of file serial numbers (LFS).*/
-__STD_TYPE __MODE_T_TYPE __mode_t; /* Type of file attribute bitmasks. */
-__STD_TYPE __NLINK_T_TYPE __nlink_t; /* Type of file link counts. */
-__STD_TYPE __OFF_T_TYPE __off_t; /* Type of file sizes and offsets. */
-__STD_TYPE __OFF64_T_TYPE __off64_t; /* Type of file sizes and offsets (LFS). */
-__STD_TYPE __PID_T_TYPE __pid_t; /* Type of process identifications. */
-__STD_TYPE __FSID_T_TYPE __fsid_t; /* Type of file system IDs. */
-__STD_TYPE __CLOCK_T_TYPE __clock_t; /* Type of CPU usage counts. */
-__STD_TYPE __RLIM_T_TYPE __rlim_t; /* Type for resource measurement. */
-__STD_TYPE __RLIM64_T_TYPE __rlim64_t; /* Type for resource measurement (LFS). */
-__STD_TYPE __ID_T_TYPE __id_t; /* General type for IDs. */
-__STD_TYPE __TIME_T_TYPE __time_t; /* Seconds since the Epoch. */
-__STD_TYPE __TIME64_T_TYPE __time64_t; /* Seconds since the Epoch (Y2038). */
-__STD_TYPE __USECONDS_T_TYPE __useconds_t; /* Count of microseconds. */
-__STD_TYPE __SUSECONDS_T_TYPE __suseconds_t; /* Signed count of microseconds. */
+/* Types added by LFS: */
+typedef __BLKCNT64_T_TYPE __blkcnt64_t;
+typedef __FSBLKCNT64_T_TYPE __fsblkcnt64_t;
+typedef __FSFILCNT64_T_TYPE __fsfilcnt64_t;
+typedef __INO64_T_TYPE __ino64_t;
+typedef __OFF64_T_TYPE __off64_t;
+typedef __RLIM64_T_TYPE __rlim64_t;
-__STD_TYPE __KEY_T_TYPE __key_t; /* Type of an IPC key. */
+/* Types added by Y2038: */
+typedef __TIME64_T_TYPE __time64_t;
-/* Clock ID used in clock and timer functions. */
-__STD_TYPE __CLOCKID_T_TYPE __clockid_t;
+/* Types added by XSI: */
+typedef __BLKSIZE_T_TYPE __blksize_t; /* Size of a disk block. */
+typedef __CLOCK_T_TYPE __clock_t; /* CPU usage counts. */
+typedef __ID_T_TYPE __id_t; /* General IDs. */
+typedef __KEY_T_TYPE __key_t; /* "SysV" IPC keys. */
+typedef __SUSECONDS_T_TYPE __suseconds_t; /* Signed count of microseconds. */
+typedef __USECONDS_T_TYPE __useconds_t; /* Count of microseconds. */
-/* Timer ID returned by `timer_create'. */
-__STD_TYPE __TIMER_T_TYPE __timer_t;
+/* Types added by BSD: */
+typedef __FSID_T_TYPE __fsid_t; /* File system IDs. */
+typedef __REGISTER_T_TYPE __register_t; /* Integer register. */
-/* Type to represent block size. */
-__STD_TYPE __BLKSIZE_T_TYPE __blksize_t;
-
-/* Types from the Large File Support interface. */
-
-/* Type to count number of disk blocks. */
-__STD_TYPE __BLKCNT_T_TYPE __blkcnt_t;
-__STD_TYPE __BLKCNT64_T_TYPE __blkcnt64_t;
-
-/* Type to count file system blocks. */
-__STD_TYPE __FSBLKCNT_T_TYPE __fsblkcnt_t;
-__STD_TYPE __FSBLKCNT64_T_TYPE __fsblkcnt64_t;
-
-/* Type to count file system nodes. */
-__STD_TYPE __FSFILCNT_T_TYPE __fsfilcnt_t;
-__STD_TYPE __FSFILCNT64_T_TYPE __fsfilcnt64_t;
-
-/* Type of miscellaneous file system fields. */
-__STD_TYPE __FSWORD_T_TYPE __fsword_t;
-
-__STD_TYPE __SSIZE_T_TYPE __ssize_t; /* Type of a byte count, or error. */
-
-/* Signed long type used in system calls. */
-__STD_TYPE __SYSCALL_SLONG_TYPE __syscall_slong_t;
-/* Unsigned long type used in system calls. */
-__STD_TYPE __SYSCALL_ULONG_TYPE __syscall_ulong_t;
+/* Types added by Linux: */
+typedef __FSWORD_T_TYPE __fsword_t; /* Miscellaneous file system fields. */
+typedef __SYSCALL_SLONG_TYPE __syscall_slong_t;
+typedef __SYSCALL_ULONG_TYPE __syscall_ulong_t;
/* These few don't really vary by system, they always correspond
to one of the other defined types. */
-typedef __off64_t __loff_t; /* Type of file sizes and offsets (LFS). */
-typedef char *__caddr_t; /* Type of a memory address (BSD). */
-__STD_TYPE __S32_TYPE __daddr_t; /* Type of a disk address (BSD). */
-/* Duplicates info from stdint.h but this is used in unistd.h. */
-__STD_TYPE __SWORD_TYPE __intptr_t;
+/* ISO C: */
+typedef __SWORD_TYPE __intptr_t; /* Signed type that can hold void*. */
+typedef __UWORD_TYPE __uintptr_t; /* Unsigned type that can hold void*. */
+typedef int __sig_atomic_t; /* Atomic access relative to signals. */
-/* Duplicate info from sys/socket.h. */
-__STD_TYPE __U32_TYPE __socklen_t;
+/* POSIX: */
+typedef __U32_TYPE __socklen_t; /* Size of a socket address. */
-/* C99: An integer type that can be accessed as an atomic entity,
- even in the presence of asynchronous interrupts.
- It is not currently necessary for this to be machine-specific. */
-typedef int __sig_atomic_t;
-
-/* BSD: Size of a general-purpose integer register. */
-__STD_TYPE __REGISTER_T_TYPE __register_t;
-
-#undef __STD_TYPE
+/* BSD: */
+typedef char *__caddr_t; /* Memory address. */
+typedef __S32_TYPE __daddr_t; /* Disk address. */
+typedef __off64_t __loff_t; /* File sizes and offsets. */
#endif /* bits/types.h */
@@ -30,12 +30,12 @@ __BEGIN_DECLS
#ifdef __USE_MISC
# ifndef __u_char_defined
-typedef __u_char u_char;
-typedef __u_short u_short;
-typedef __u_int u_int;
-typedef __u_long u_long;
-typedef __quad_t quad_t;
-typedef __u_quad_t u_quad_t;
+typedef unsigned char u_char;
+typedef unsigned short int u_short;
+typedef unsigned int u_int;
+typedef unsigned long int u_long;
+typedef __int64_t quad_t;
+typedef __uint64_t u_quad_t;
typedef __fsid_t fsid_t;
# define __u_char_defined
# endif
@@ -280,9 +280,8 @@ class ObsoletePrivateDefinitionsAllowed(ConstructChecker):
self.prev_token = None
def examine(self, tok):
- # bits/types.h hides 'typedef' in a macro sometimes.
if (tok.kind == "IDENT"
- and tok.text in ("typedef", "__STD_TYPE")
+ and tok.text == "typedef"
and tok.context is None):
self.in_typedef = True
elif tok.kind == "PUNCTUATOR" and tok.text == ";" and self.in_typedef:
@@ -312,9 +311,12 @@ class ObsoletePublicDefinitionsAllowed(ConstructChecker):
typedef __obsolete obsolete; // identifiers must agree
typedef __uintN_t u_intN_t; // N must agree
- typedef unsigned long int ulong;
- typedef unsigned short int ushort;
- typedef unsigned int uint;
+ typedef unsigned long int u_?long;
+ typedef unsigned short int u_?short;
+ typedef unsigned int u_?int;
+ typedef unsigned char u_char;
+ typedef __int64_t quad_t;
+ typedef __uint64_t u_quad_t;
"""
def __init__(self, reporter):
super().__init__(reporter)
@@ -357,41 +359,40 @@ class ObsoletePublicDefinitionsAllowed(ConstructChecker):
self._reset()
def _permissible_public_definition(self, m):
- if m.group(1) == "__": return False
- name = m.group(2)
- toks = self.typedef_tokens
- ntok = len(toks)
- if ntok == 3 and toks[1].kind == "IDENT":
- defn = toks[1].text
- n = OBSOLETE_TYPE_RE_.match(defn)
- if n and n.group(1) == "__" and n.group(2) == name:
- return True
-
- if (name[:5] == "u_int" and name[-2:] == "_t"
- and defn[:6] == "__uint" and defn[-2:] == "_t"
- and name[5:-2] == defn[6:-2]):
- return True
-
+ if m.group(1) == "__":
return False
+ name = m.group(2)
- if (name == "ulong" and ntok == 5
- and toks[1].kind == "IDENT" and toks[1].text == "unsigned"
- and toks[2].kind == "IDENT" and toks[2].text == "long"
- and toks[3].kind == "IDENT" and toks[3].text == "int"):
- return True
+ toks = self.typedef_tokens
+ if len(toks) > 5:
+ return False
+ if any(tk.kind != "IDENT" for tk in toks):
+ return False
+ defn = " ".join(tk.text for tk in toks[1:-1])
- if (name == "ushort" and ntok == 5
- and toks[1].kind == "IDENT" and toks[1].text == "unsigned"
- and toks[2].kind == "IDENT" and toks[2].text == "short"
- and toks[3].kind == "IDENT" and toks[3].text == "int"):
- return True
+ if name == "u_char":
+ return defn == "unsigned char"
- if (name == "uint" and ntok == 4
- and toks[1].kind == "IDENT" and toks[1].text == "unsigned"
- and toks[2].kind == "IDENT" and toks[2].text == "int"):
- return True
+ if name in ("ushort", "u_short"):
+ return defn == "unsigned short int"
+
+ if name in ("uint", "u_int"):
+ return defn == "unsigned int"
+
+ if name in ("ulong", "u_long"):
+ return defn == "unsigned long int"
+
+ if name == "quad_t":
+ return defn == "__int64_t"
+
+ if name == "u_quad_t":
+ return defn == "__uint64_t"
+
+ if name[:5] == "u_int" and name[-2:] == "_t":
+ return defn == "__uint" + name[5:-2] + "_t"
+
+ return defn == "__" + name
- return False
def ObsoleteTypedefChecker(reporter, fname):
"""Factory: produce an instance of the appropriate
@@ -82,20 +82,11 @@ typedef unsigned long long int uint_fast64_t;
/* Types for `void *' pointers. */
-#if __WORDSIZE == 64
# ifndef __intptr_t_defined
-typedef long int intptr_t;
+typedef __intptr_t intptr_t;
# define __intptr_t_defined
# endif
-typedef unsigned long int uintptr_t;
-#else
-# ifndef __intptr_t_defined
-typedef int intptr_t;
-# define __intptr_t_defined
-# endif
-typedef unsigned int uintptr_t;
-#endif
-
+typedef __uintptr_t uintptr_t;
/* Largest integral types. */
typedef __intmax_t intmax_t;
@@ -75,12 +75,12 @@ typedef unsigned long rpcport_t;
#endif
#ifndef __u_char_defined
-typedef __u_char u_char;
-typedef __u_short u_short;
-typedef __u_int u_int;
-typedef __u_long u_long;
-typedef __quad_t quad_t;
-typedef __u_quad_t u_quad_t;
+typedef unsigned char u_char;
+typedef unsigned short int u_short;
+typedef unsigned int u_int;
+typedef unsigned long int u_long;
+typedef __int64_t quad_t;
+typedef __uint64_t u_quad_t;
typedef __fsid_t fsid_t;
# define __u_char_defined
#endif
@@ -30,20 +30,20 @@
#define __UID_T_TYPE __U32_TYPE
#define __GID_T_TYPE __U32_TYPE
#define __INO_T_TYPE __ULONGWORD_TYPE
-#define __INO64_T_TYPE __UQUAD_TYPE
+#define __INO64_T_TYPE __U64_TYPE
#define __MODE_T_TYPE __U32_TYPE
#define __NLINK_T_TYPE __UWORD_TYPE
#define __OFF_T_TYPE __SLONGWORD_TYPE
-#define __OFF64_T_TYPE __SQUAD_TYPE
+#define __OFF64_T_TYPE __S64_TYPE
#define __PID_T_TYPE __S32_TYPE
#define __RLIM_T_TYPE __ULONGWORD_TYPE
-#define __RLIM64_T_TYPE __UQUAD_TYPE
+#define __RLIM64_T_TYPE __U64_TYPE
#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
-#define __BLKCNT64_T_TYPE __SQUAD_TYPE
+#define __BLKCNT64_T_TYPE __S64_TYPE
#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
-#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
+#define __FSBLKCNT64_T_TYPE __U64_TYPE
#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
-#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
+#define __FSFILCNT64_T_TYPE __U64_TYPE
#define __FSWORD_T_TYPE __SWORD_TYPE
#define __ID_T_TYPE __U32_TYPE
#define __CLOCK_T_TYPE __SLONGWORD_TYPE
@@ -54,7 +54,7 @@
#define __CLOCKID_T_TYPE __S32_TYPE
#define __TIMER_T_TYPE __S32_TYPE
#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE
-#define __FSID_T_TYPE __UQUAD_TYPE
+#define __FSID_T_TYPE __U64_TYPE
#define __SSIZE_T_TYPE __SWORD_TYPE
#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
@@ -27,24 +27,24 @@
/* See <bits/types.h> for the meaning of these macros. This file exists so
that <bits/types.h> need not vary across different GNU platforms. */
-#define __DEV_T_TYPE __UQUAD_TYPE
+#define __DEV_T_TYPE __U64_TYPE
#define __UID_T_TYPE __U32_TYPE
#define __GID_T_TYPE __U32_TYPE
#define __INO_T_TYPE __ULONGWORD_TYPE
-#define __INO64_T_TYPE __UQUAD_TYPE
+#define __INO64_T_TYPE __U64_TYPE
#define __MODE_T_TYPE __U32_TYPE
#define __NLINK_T_TYPE __U32_TYPE
#define __OFF_T_TYPE __SLONGWORD_TYPE
-#define __OFF64_T_TYPE __SQUAD_TYPE
+#define __OFF64_T_TYPE __S64_TYPE
#define __PID_T_TYPE __S32_TYPE
#define __RLIM_T_TYPE __ULONGWORD_TYPE
-#define __RLIM64_T_TYPE __UQUAD_TYPE
+#define __RLIM64_T_TYPE __U64_TYPE
#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
-#define __BLKCNT64_T_TYPE __SQUAD_TYPE
+#define __BLKCNT64_T_TYPE __S64_TYPE
#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
-#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
+#define __FSBLKCNT64_T_TYPE __U64_TYPE
#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
-#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
+#define __FSFILCNT64_T_TYPE __U64_TYPE
#define __FSWORD_T_TYPE __SWORD_TYPE
#define __ID_T_TYPE __U32_TYPE
#define __CLOCK_T_TYPE __SLONGWORD_TYPE
@@ -26,24 +26,24 @@
/* See <bits/types.h> for the meaning of these macros. This file exists so
that <bits/types.h> need not vary across different GNU platforms. */
-#define __DEV_T_TYPE __UQUAD_TYPE
+#define __DEV_T_TYPE __U64_TYPE
#define __UID_T_TYPE __U32_TYPE
#define __GID_T_TYPE __U32_TYPE
#define __INO_T_TYPE __ULONGWORD_TYPE
-#define __INO64_T_TYPE __UQUAD_TYPE
+#define __INO64_T_TYPE __U64_TYPE
#define __MODE_T_TYPE __U32_TYPE
#define __NLINK_T_TYPE __UWORD_TYPE
#define __OFF_T_TYPE __SLONGWORD_TYPE
-#define __OFF64_T_TYPE __SQUAD_TYPE
+#define __OFF64_T_TYPE __S64_TYPE
#define __PID_T_TYPE __S32_TYPE
#define __RLIM_T_TYPE __ULONGWORD_TYPE
-#define __RLIM64_T_TYPE __UQUAD_TYPE
+#define __RLIM64_T_TYPE __U64_TYPE
#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
-#define __BLKCNT64_T_TYPE __SQUAD_TYPE
+#define __BLKCNT64_T_TYPE __S64_TYPE
#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
-#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
+#define __FSBLKCNT64_T_TYPE __U64_TYPE
#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
-#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
+#define __FSFILCNT64_T_TYPE __U64_TYPE
#define __FSWORD_T_TYPE __SWORD_TYPE
#define __ID_T_TYPE __U32_TYPE
#define __CLOCK_T_TYPE __SLONGWORD_TYPE
@@ -61,7 +61,7 @@
#define __CPU_MASK_TYPE __ULONGWORD_TYPE
#if defined _ABIN32 && _MIPS_SIM == _ABIN32
-#define __REGISTER_T_TYPE __SQUAD_TYPE
+#define __REGISTER_T_TYPE __S64_TYPE
#else
#define __REGISTER_T_TYPE __SWORD_TYPE
#endif
@@ -26,24 +26,24 @@
/* See <bits/types.h> for the meaning of these macros. This file exists so
that <bits/types.h> need not vary across different GNU platforms. */
-#define __DEV_T_TYPE __UQUAD_TYPE
+#define __DEV_T_TYPE __U64_TYPE
#define __UID_T_TYPE __U32_TYPE
#define __GID_T_TYPE __U32_TYPE
#define __INO_T_TYPE __ULONGWORD_TYPE
-#define __INO64_T_TYPE __UQUAD_TYPE
+#define __INO64_T_TYPE __U64_TYPE
#define __MODE_T_TYPE __U32_TYPE
#define __NLINK_T_TYPE __UWORD_TYPE
#define __OFF_T_TYPE __SLONGWORD_TYPE
-#define __OFF64_T_TYPE __SQUAD_TYPE
+#define __OFF64_T_TYPE __S64_TYPE
#define __PID_T_TYPE __S32_TYPE
#define __RLIM_T_TYPE __ULONGWORD_TYPE
-#define __RLIM64_T_TYPE __UQUAD_TYPE
+#define __RLIM64_T_TYPE __U64_TYPE
#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
-#define __BLKCNT64_T_TYPE __SQUAD_TYPE
+#define __BLKCNT64_T_TYPE __S64_TYPE
#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
-#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
+#define __FSBLKCNT64_T_TYPE __U64_TYPE
#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
-#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
+#define __FSFILCNT64_T_TYPE __U64_TYPE
#define __FSWORD_T_TYPE __SWORD_TYPE
#define __ID_T_TYPE __U32_TYPE
#define __CLOCK_T_TYPE __SLONGWORD_TYPE
@@ -26,24 +26,24 @@
/* See <bits/types.h> for the meaning of these macros. This file exists so
that <bits/types.h> need not vary across different GNU platforms. */
-#define __DEV_T_TYPE __UQUAD_TYPE
+#define __DEV_T_TYPE __U64_TYPE
#define __UID_T_TYPE __U32_TYPE
#define __GID_T_TYPE __U32_TYPE
#define __INO_T_TYPE __ULONGWORD_TYPE
-#define __INO64_T_TYPE __UQUAD_TYPE
+#define __INO64_T_TYPE __U64_TYPE
#define __MODE_T_TYPE __U32_TYPE
#define __NLINK_T_TYPE __U32_TYPE
#define __OFF_T_TYPE __SLONGWORD_TYPE
-#define __OFF64_T_TYPE __SQUAD_TYPE
+#define __OFF64_T_TYPE __S64_TYPE
#define __PID_T_TYPE __S32_TYPE
#define __RLIM_T_TYPE __ULONGWORD_TYPE
-#define __RLIM64_T_TYPE __UQUAD_TYPE
+#define __RLIM64_T_TYPE __U64_TYPE
#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
-#define __BLKCNT64_T_TYPE __SQUAD_TYPE
+#define __BLKCNT64_T_TYPE __S64_TYPE
#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
-#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
+#define __FSBLKCNT64_T_TYPE __U64_TYPE
#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
-#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
+#define __FSFILCNT64_T_TYPE __U64_TYPE
#define __FSWORD_T_TYPE __SWORD_TYPE
#define __ID_T_TYPE __U32_TYPE
#define __CLOCK_T_TYPE __SLONGWORD_TYPE
@@ -28,20 +28,20 @@
/* X32 kernel interface is 64-bit. */
#if defined __x86_64__ && defined __ILP32__
-# define __SYSCALL_SLONG_TYPE __SQUAD_TYPE
-# define __SYSCALL_ULONG_TYPE __UQUAD_TYPE
-# define __REGISTER_T_TYPE __SQUAD_TYPE
+# define __SYSCALL_SLONG_TYPE __S64_TYPE
+# define __SYSCALL_ULONG_TYPE __U64_TYPE
+# define __REGISTER_T_TYPE __S64_TYPE
#else
# define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
# define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
# define __REGISTER_T_TYPE __SWORD_TYPE
#endif
-#define __DEV_T_TYPE __UQUAD_TYPE
+#define __DEV_T_TYPE __U64_TYPE
#define __UID_T_TYPE __U32_TYPE
#define __GID_T_TYPE __U32_TYPE
#define __INO_T_TYPE __SYSCALL_ULONG_TYPE
-#define __INO64_T_TYPE __UQUAD_TYPE
+#define __INO64_T_TYPE __U64_TYPE
#define __MODE_T_TYPE __U32_TYPE
#ifdef __x86_64__
# define __NLINK_T_TYPE __SYSCALL_ULONG_TYPE
@@ -51,16 +51,16 @@
# define __FSWORD_T_TYPE __SWORD_TYPE
#endif
#define __OFF_T_TYPE __SYSCALL_SLONG_TYPE
-#define __OFF64_T_TYPE __SQUAD_TYPE
+#define __OFF64_T_TYPE __S64_TYPE
#define __PID_T_TYPE __S32_TYPE
#define __RLIM_T_TYPE __SYSCALL_ULONG_TYPE
-#define __RLIM64_T_TYPE __UQUAD_TYPE
+#define __RLIM64_T_TYPE __U64_TYPE
#define __BLKCNT_T_TYPE __SYSCALL_SLONG_TYPE
-#define __BLKCNT64_T_TYPE __SQUAD_TYPE
+#define __BLKCNT64_T_TYPE __S64_TYPE
#define __FSBLKCNT_T_TYPE __SYSCALL_ULONG_TYPE
-#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
+#define __FSBLKCNT64_T_TYPE __U64_TYPE
#define __FSFILCNT_T_TYPE __SYSCALL_ULONG_TYPE
-#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
+#define __FSFILCNT64_T_TYPE __U64_TYPE
#define __ID_T_TYPE __U32_TYPE
#define __CLOCK_T_TYPE __SYSCALL_SLONG_TYPE
#define __TIME_T_TYPE __SYSCALL_SLONG_TYPE