From db5bfdbd8ab2729a95c95638fbcc1db8cbfef162 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Thu, 24 Mar 2016 11:05:46 +0100 Subject: [PATCH] Define BSD u_intN_t types indiscriminately The u_intN_t types are BSD types but sanctioned by POSIX. They are always defined when using Glibc headers so we follow suit. newlib: * libc/include/sys/types.h: Drop outdated __INTTYPES_DEFINED__ macro. Always define u_intN_t types. cygwin: * include/cygwin/types.h: Remove definition of u_intN_t types. Signed-off-by: Corinna Vinschen --- newlib/libc/include/sys/types.h | 31 +++++++++++++--------------- winsup/cygwin/include/cygwin/types.h | 17 --------------- 2 files changed, 14 insertions(+), 34 deletions(-) diff --git a/newlib/libc/include/sys/types.h b/newlib/libc/include/sys/types.h index feea7af05..ebed1c010 100644 --- a/newlib/libc/include/sys/types.h +++ b/newlib/libc/include/sys/types.h @@ -18,21 +18,12 @@ #ifndef _SYS_TYPES_H #include <_ansi.h> -# include - -#ifndef __INTTYPES_DEFINED__ -#define __INTTYPES_DEFINED__ - +#include #include -#if defined(__rtems__) || defined(__XMK__) -/* - * The following section is RTEMS specific and is needed to more - * closely match the types defined in the BSD sys/types.h. - * This is needed to let the RTEMS/BSD TCP/IP stack compile. - */ - -/* deprecated */ +/* BSD types permitted by POSIX and always exposed as in Glibc. Only provided + for backward compatibility with BSD code. The uintN_t standard types should + be preferred in new code. */ #if ___int8_t_defined typedef __uint8_t u_int8_t; #endif @@ -42,19 +33,25 @@ typedef __uint16_t u_int16_t; #if ___int32_t_defined typedef __uint32_t u_int32_t; #endif - #if ___int64_t_defined typedef __uint64_t u_int64_t; +#endif + +#if defined(__rtems__) || defined(__XMK__) +/* + * The following section is RTEMS specific and is needed to more + * closely match the types defined in the BSD sys/types.h. + * This is needed to let the RTEMS/BSD TCP/IP stack compile. + */ /* deprecated */ +#if ___int64_t_defined typedef __uint64_t u_quad_t; typedef __int64_t quad_t; typedef quad_t * qaddr_t; #endif -#endif - -#endif /* ! __INTTYPES_DEFINED */ +#endif /* __rtems__ || __XMK__ */ #ifndef __need_inttypes diff --git a/winsup/cygwin/include/cygwin/types.h b/winsup/cygwin/include/cygwin/types.h index b01ae9593..61a1bb6d4 100644 --- a/winsup/cygwin/include/cygwin/types.h +++ b/winsup/cygwin/include/cygwin/types.h @@ -141,23 +141,6 @@ typedef unsigned long vm_size_t; typedef void *vm_object_t; #endif /* __vm_object_t_defined */ -#ifndef __u_int8_t_defined -#define __u_int8_t_defined -typedef unsigned char u_int8_t; -#endif -#ifndef __u_int16_t_defined -#define __u_int16_t_defined -typedef __uint16_t u_int16_t; -#endif -#ifndef __u_int32_t_defined -#define __u_int32_t_defined -typedef __uint32_t u_int32_t; -#endif -#ifndef __u_int64_t_defined -#define __u_int64_t_defined -typedef __uint64_t u_int64_t; -#endif - #ifndef __register_t_defined #define __register_t_defined typedef __int32_t register_t;