[newlib-cygwin] Define BSD u_intN_t types indiscriminately

Corinna Vinschen corinna@sourceware.org
Thu Mar 24 14:52:00 GMT 2016


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=db5bfdbd8ab2729a95c95638fbcc1db8cbfef162

commit db5bfdbd8ab2729a95c95638fbcc1db8cbfef162
Author: Corinna Vinschen <corinna@vinschen.de>
Date:   Thu Mar 24 11:05:46 2016 +0100

    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 <corinna@vinschen.de>

Diff:
---
 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 feea7af..ebed1c0 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 <sys/cdefs.h>
-
-#ifndef __INTTYPES_DEFINED__
-#define __INTTYPES_DEFINED__
-
+#include <sys/cdefs.h>
 #include <machine/_types.h>
 
-#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 b01ae95..61a1bb6 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;



More information about the Cygwin-cvs mailing list