summaryrefslogtreecommitdiff
path: root/toolchain/musl/include/features.h
diff options
context:
space:
mode:
Diffstat (limited to 'toolchain/musl/include/features.h')
-rw-r--r--toolchain/musl/include/features.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/toolchain/musl/include/features.h b/toolchain/musl/include/features.h
new file mode 100644
index 0000000..df54c16
--- /dev/null
+++ b/toolchain/musl/include/features.h
@@ -0,0 +1,56 @@
+#ifndef _FEATURES_H
+#define _FEATURES_H
+
+#ifdef _ALL_SOURCE
+#define _GNU_SOURCE 1
+#endif
+
+#if !defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE) \
+ && !defined(_XOPEN_SOURCE) && !defined(_GNU_SOURCE) \
+ && !defined(_BSD_SOURCE) && !defined(__STRICT_ANSI__)
+#define _BSD_SOURCE 1
+#define _XOPEN_SOURCE 700
+#endif
+
+#if __STDC_VERSION__ >= 199901L
+#define __restrict restrict
+#elif !defined(__GNUC__)
+#define __restrict
+#endif
+
+#if __STDC_VERSION__ >= 199901L || defined(__cplusplus)
+#define __inline inline
+#endif
+
+#if __STDC_VERSION__ >= 201112L
+#elif defined(__GNUC__)
+#define _Noreturn __attribute__((__noreturn__))
+#else
+#define _Noreturn
+#endif
+
+/* Convenience macros to test the versions of glibc and gcc.
+ Use them like this:
+ #if __GNUC_PREREQ (2,8)
+ ... code requiring gcc 2.8 or later ...
+ #endif
+ Note - they won't work for gcc1 or glibc1, since the _MINOR macros
+ were not defined then. */
+#if defined __GNUC__ && defined __GNUC_MINOR__
+# define __GNUC_PREREQ(maj, min) \
+ ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
+#else
+# define __GNUC_PREREQ(maj, min) 0
+#endif
+
+#if !defined __FORCE_NOGLIBC && (!defined _LIBC || defined __FORCE_GLIBC)
+#undef __GNU_LIBRARY__
+#define __GNU_LIBRARY__ 6
+
+#define __GLIBC__ 2
+#define __GLIBC_MINOR__ 16
+#endif
+
+#include <sys/glibc-types.h>
+
+#endif