aboutsummaryrefslogtreecommitdiff
path: root/gcc/f/runtime/libF77/F77_aloc.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/f/runtime/libF77/F77_aloc.c')
-rw-r--r--gcc/f/runtime/libF77/F77_aloc.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/gcc/f/runtime/libF77/F77_aloc.c b/gcc/f/runtime/libF77/F77_aloc.c
new file mode 100644
index 00000000000..8754fe2ef70
--- /dev/null
+++ b/gcc/f/runtime/libF77/F77_aloc.c
@@ -0,0 +1,32 @@
+#include "f2c.h"
+#undef abs
+#undef min
+#undef max
+#include <stdio.h>
+
+static integer memfailure = 3;
+
+#ifdef KR_headers
+extern char *malloc();
+extern void G77_exit_0 ();
+
+ char *
+F77_aloc(Len, whence) integer Len; char *whence;
+#else
+#include <stdlib.h>
+extern void G77_exit_0 (integer*);
+
+ char *
+F77_aloc(integer Len, char *whence)
+#endif
+{
+ char *rv;
+ unsigned int uLen = (unsigned int) Len; /* for K&R C */
+
+ if (!(rv = (char*)malloc(uLen))) {
+ fprintf(stderr, "malloc(%u) failure in %s\n",
+ uLen, whence);
+ G77_exit_0 (&memfailure);
+ }
+ return rv;
+ }