aboutsummaryrefslogtreecommitdiff
path: root/gcc/f/runtime/libF77/exit_.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/f/runtime/libF77/exit_.c')
-rw-r--r--gcc/f/runtime/libF77/exit_.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/gcc/f/runtime/libF77/exit_.c b/gcc/f/runtime/libF77/exit_.c
new file mode 100644
index 00000000000..4c0582add12
--- /dev/null
+++ b/gcc/f/runtime/libF77/exit_.c
@@ -0,0 +1,37 @@
+/* This gives the effect of
+
+ subroutine exit(rc)
+ integer*4 rc
+ stop
+ end
+
+ * with the added side effect of supplying rc as the program's exit code.
+ */
+
+#include "f2c.h"
+#undef abs
+#undef min
+#undef max
+#ifndef KR_headers
+#include <stdlib.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+extern void f_exit(void);
+#endif
+
+ void
+#ifdef KR_headers
+G77_exit_0 (rc) integer *rc;
+#else
+G77_exit_0 (integer *rc)
+#endif
+{
+#ifdef NO_ONEXIT
+ f_exit();
+#endif
+ exit(*rc);
+ }
+#ifdef __cplusplus
+}
+#endif