aboutsummaryrefslogtreecommitdiff
path: root/gcc/f/runtime/libF77/signal1.h0
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/f/runtime/libF77/signal1.h0')
-rw-r--r--gcc/f/runtime/libF77/signal1.h025
1 files changed, 25 insertions, 0 deletions
diff --git a/gcc/f/runtime/libF77/signal1.h0 b/gcc/f/runtime/libF77/signal1.h0
new file mode 100644
index 00000000000..8800a18d77b
--- /dev/null
+++ b/gcc/f/runtime/libF77/signal1.h0
@@ -0,0 +1,25 @@
+/* You may need to adjust the definition of signal1 to supply a */
+/* cast to the correct argument type. This detail is system- and */
+/* compiler-dependent. The #define below assumes signal.h declares */
+/* type SIG_PF for the signal function's second argument. */
+
+#include <signal.h>
+
+#ifndef Sigret_t
+#define Sigret_t void
+#endif
+#ifndef Sigarg_t
+#ifdef KR_headers
+#define Sigarg_t
+#else
+#define Sigarg_t int
+#endif
+#endif /*Sigarg_t*/
+
+#ifdef USE_SIG_PF /* compile with -DUSE_SIG_PF under IRIX */
+#define sig_pf SIG_PF
+#else
+typedef Sigret_t (*sig_pf)(Sigarg_t);
+#endif
+
+#define signal1(a,b) signal(a,(sig_pf)b)