[PATCH v2 2/3] Avoid <sys/cdefs.h> dependency in <sys/_types.h>
Sebastian Huber
sebastian.huber@embedded-brains.de
Thu May 16 12:40:00 GMT 2019
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
More information about the Newlib
mailing list