summaryrefslogtreecommitdiff
path: root/lang/sr/files/patch-rts__array.c
diff options
context:
space:
mode:
Diffstat (limited to 'lang/sr/files/patch-rts__array.c')
-rw-r--r--lang/sr/files/patch-rts__array.c60
1 files changed, 60 insertions, 0 deletions
diff --git a/lang/sr/files/patch-rts__array.c b/lang/sr/files/patch-rts__array.c
new file mode 100644
index 000000000000..6d4ce2b41871
--- /dev/null
+++ b/lang/sr/files/patch-rts__array.c
@@ -0,0 +1,60 @@
+--- rts/array.c.orig Sat Dec 13 19:38:54 2003
++++ rts/array.c Sat Dec 13 19:52:13 2003
+@@ -1,7 +1,7 @@
+ /* array.c -- runtime support of arrays */
+
+ #include "rts.h"
+-#include <varargs.h>
++#include <stdarg.h>
+
+
+ static void slices ();
+@@ -22,13 +22,10 @@
+ */
+ /*VARARGS*/
+ Array *
+-sr_init_array (va_alist)
+-va_dcl
++sr_init_array (char *locn, Array *addr, ...)
+ {
+ va_list ap;
+- char *locn;
+ int ndim, elemsize, alcsize, i, n;
+- Array *addr;
+ Dim *d;
+ Ptr p, q, initvalue;
+ int *lb, *ub, la[MAX_DIMENS], ua[MAX_DIMENS], size[MAX_DIMENS+1];
+@@ -39,9 +36,7 @@
+ /*
+ * Calculate the size of each dimension.
+ */
+- va_start (ap);
+- locn = va_arg (ap, char *);
+- addr = va_arg (ap, Array *);
++ va_start (ap, addr);
+ elemsize = va_arg (ap, int);
+ initvalue = va_arg (ap, Ptr);
+ ndim = va_arg (ap, int);
+@@ -251,11 +246,9 @@
+
+ /*VARARGS*/
+ Ptr
+-sr_slice (va_alist)
+-va_dcl
++sr_slice (char *locn, ...)
+ {
+ va_list ap;
+- char *locn;
+ Array *a1, *a2;
+ int elemsize, nbounds;
+ int adim, lb[MAX_DIMENS], ub[MAX_DIMENS]; /* array dims*/
+@@ -266,8 +259,7 @@
+ sr_check_stk (CUR_STACK);
+
+ /* get fixed arguments */
+- va_start (ap);
+- locn = va_arg (ap, char *); /* SR source code location */
++ va_start (ap, locn);
+ a1 = va_arg (ap, Array *); /* contiguous array */
+ a2 = va_arg (ap, Array *); /* sliced array */
+ elemsize = va_arg (ap, int); /* array element size */