This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
[PATCH v2 2/3] Avoid <sys/cdefs.h> dependency in <sys/_types.h>
- From: Sebastian Huber <sebastian dot huber at embedded-brains dot de>
- To: newlib at sourceware dot org
- Date: Thu, 16 May 2019 14:40:33 +0200
- Subject: [PATCH v2 2/3] Avoid <sys/cdefs.h> dependency in <sys/_types.h>
- References: <20190516124034.10978-1-sebastian.huber@embedded-brains.de>
Including <sys/cdefs.h> could result in cyclic header dependencies.
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
---
newlib/libc/include/sys/_types.h | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/newlib/libc/include/sys/_types.h b/newlib/libc/include/sys/_types.h
index 90383b083..0ed56ed44 100644
--- a/newlib/libc/include/sys/_types.h
+++ b/newlib/libc/include/sys/_types.h
@@ -210,10 +210,15 @@ typedef unsigned short __nlink_t;
typedef long __suseconds_t; /* microseconds (signed) */
typedef unsigned long __useconds_t; /* microseconds (unsigned) */
-#ifdef __GNUCLIKE_BUILTIN_VARARGS
+/*
+ * Must be identical to the __GNUCLIKE_BUILTIN_VAALIST definition in
+ * <sys/cdefs.h>. The <sys/cdefs.h> must not be included here to avoid cyclic
+ * header dependencies.
+ */
+#if __GNUC_MINOR__ > 95 || __GNUC__ >= 3
typedef __builtin_va_list __va_list;
#else
typedef char * __va_list;
-#endif /* __GNUCLIKE_BUILTIN_VARARGS */
+#endif
#endif /* _SYS__TYPES_H */
--
2.16.4