[newlib-cygwin] Feature test macros overhaul: sys/types.h
Yaakov Selkowitz
yselkowitz@sourceware.org
Fri Mar 18 02:12:00 GMT 2016
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=396942b0b59da602797ab63a502fe315b14fed84
commit 396942b0b59da602797ab63a502fe315b14fed84
Author: Yaakov Selkowitz <yselkowi@redhat.com>
Date: Mon Mar 14 21:20:02 2016 -0500
Feature test macros overhaul: sys/types.h
The u_int/u_char/etc. BSD types are needed by Cygwin's netinet/*.h
headers, so they always need to be available.
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
Diff:
---
newlib/libc/include/sys/types.h | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/newlib/libc/include/sys/types.h b/newlib/libc/include/sys/types.h
index c9f0fc7..c09866b 100644
--- a/newlib/libc/include/sys/types.h
+++ b/newlib/libc/include/sys/types.h
@@ -84,13 +84,14 @@ typedef quad_t * qaddr_t;
#define _ST_INT32
#endif
-# if __BSD_VISIBLE
-
+#if __BSD_VISIBLE
#include <sys/select.h>
-
# define physadr physadr_t
# define quad quad_t
+#endif
+/* These types are required by netinet/*.h on Cygwin */
+#if __BSD_VISIBLE || defined(__CYGWIN__)
#ifndef _BSDTYPES_DEFINED
/* also defined in mingw/gmon.h and in w32api/winsock[2].h */
#ifndef __u_char_defined
@@ -111,11 +112,13 @@ typedef unsigned long u_long;
#endif
#define _BSDTYPES_DEFINED
#endif
+#endif /*__BSD_VISIBLE || __CYGWIN__ */
+#if __MISC_VISIBLE
typedef unsigned short ushort; /* System V compatibility */
typedef unsigned int uint; /* System V compatibility */
typedef unsigned long ulong; /* System V compatibility */
-# endif /*__BSD_VISIBLE */
+#endif
#ifndef __clock_t_defined
typedef _CLOCK_T_ clock_t;
More information about the Newlib-cvs
mailing list