feature test macros: make _GNU_SOURCE enable everything
[musl] / include / signal.h
index e0dae19..b24f43a 100644 (file)
@@ -5,11 +5,7 @@
 extern "C" {
 #endif
 
-#if __STDC_VERSION__ >= 199901L
-#define __restrict restrict
-#elif !defined(__GNUC__)
-#define __restrict
-#endif
+#include <features.h>
 
 #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
  || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \
@@ -17,6 +13,7 @@ extern "C" {
 
 #ifdef _GNU_SOURCE
 #define __siginfo siginfo
+#define __ucontext ucontext
 #endif
 
 #define __NEED_size_t
@@ -211,7 +208,11 @@ void (*sigset(int, void (*)(int)))(int);
 #define SIGSTKSZ 8192
 #endif
 
-#ifdef _BSD_SOURCE
+#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
+#define NSIG _NSIG
+#endif
+
+#if defined(_BSD_SOURCE) || defined(_GNU_SOURCE)
 typedef void (*sig_t)(int);
 #endif