canonicalize on internal_malloc_size
Richard Henderson
rth@redhat.com
Tue Dec 7 00:27:00 GMT 2004
This was a potential bug for 64-bit targets, truncating size_t
to GFC_INTEGER_4. Committed.
r~
* intrinsics/cshift0.c, intrinsics/eoshift0.c, intrinsics/eoshift2.c,
intrinsics/pack_generic.c, intrinsics/string_intrinsics.c,
intrinsics/transpose_generic.c, m4/ifunction.m4, m4/matmul.m4,
m4/matmull.m4, m4/transpose.m4: Use internal_malloc_size instead
of internal_malloc.
* generated/*: Rebuild.
Index: intrinsics/cshift0.c
===================================================================
RCS file: /cvs/gcc/gcc/libgfortran/intrinsics/cshift0.c,v
retrieving revision 1.4
diff -c -p -d -u -r1.4 cshift0.c
--- intrinsics/cshift0.c 3 Sep 2004 19:03:43 -0000 1.4
+++ intrinsics/cshift0.c 7 Dec 2004 00:22:17 -0000
@@ -109,7 +109,7 @@ __cshift0 (gfc_array_char * ret, const g
{
int i;
- ret->data = internal_malloc (size * size0 ((array_t *)array));
+ ret->data = internal_malloc_size (size * size0 ((array_t *)array));
ret->base = 0;
ret->dtype = array->dtype;
for (i = 0; i < GFC_DESCRIPTOR_RANK (array); i++)
Index: intrinsics/eoshift0.c
===================================================================
RCS file: /cvs/gcc/gcc/libgfortran/intrinsics/eoshift0.c,v
retrieving revision 1.4
diff -c -p -d -u -r1.4 eoshift0.c
--- intrinsics/eoshift0.c 7 Dec 2004 00:00:56 -0000 1.4
+++ intrinsics/eoshift0.c 7 Dec 2004 00:22:17 -0000
@@ -64,7 +64,7 @@ __eoshift0 (gfc_array_char * ret, const
{
int i;
- ret->data = internal_malloc (size * size0 ((array_t *)array));
+ ret->data = internal_malloc_size (size * size0 ((array_t *)array));
ret->base = 0;
ret->dtype = array->dtype;
for (i = 0; i < GFC_DESCRIPTOR_RANK (array); i++)
Index: intrinsics/eoshift2.c
===================================================================
RCS file: /cvs/gcc/gcc/libgfortran/intrinsics/eoshift2.c,v
retrieving revision 1.4
diff -c -p -d -u -r1.4 eoshift2.c
--- intrinsics/eoshift2.c 7 Dec 2004 00:00:56 -0000 1.4
+++ intrinsics/eoshift2.c 7 Dec 2004 00:22:17 -0000
@@ -65,7 +65,7 @@ __eoshift2 (gfc_array_char * ret, const
{
int i;
- ret->data = internal_malloc (size * size0 ((array_t *)array));
+ ret->data = internal_malloc_size (size * size0 ((array_t *)array));
ret->base = 0;
ret->dtype = array->dtype;
for (i = 0; i < GFC_DESCRIPTOR_RANK (array); i++)
Index: intrinsics/pack_generic.c
===================================================================
RCS file: /cvs/gcc/gcc/libgfortran/intrinsics/pack_generic.c,v
retrieving revision 1.4
diff -c -p -d -u -r1.4 pack_generic.c
--- intrinsics/pack_generic.c 7 Dec 2004 00:00:56 -0000 1.4
+++ intrinsics/pack_generic.c 7 Dec 2004 00:22:17 -0000
@@ -188,7 +188,7 @@ __pack (gfc_array_char * ret, const gfc_
ret->dim[0].ubound = total - 1;
ret->dim[0].stride = 1;
- ret->data = internal_malloc (size * total);
+ ret->data = internal_malloc_size (size * total);
ret->base = 0;
if (total == 0)
@@ -325,7 +325,7 @@ __pack_s (gfc_array_char * ret, const gf
ret->dim[0].lbound = 0;
ret->dim[0].ubound = -1;
ret->dim[0].stride = 1;
- ret->data = internal_malloc (0);
+ ret->data = internal_malloc_size (0);
ret->base = 0;
return;
@@ -337,7 +337,7 @@ __pack_s (gfc_array_char * ret, const gf
ret->dim[0].ubound = total - 1;
ret->dim[0].stride = 1;
- ret->data = internal_malloc (size * total);
+ ret->data = internal_malloc_size (size * total);
ret->base = 0;
}
Index: intrinsics/string_intrinsics.c
===================================================================
RCS file: /cvs/gcc/gcc/libgfortran/intrinsics/string_intrinsics.c,v
retrieving revision 1.6
diff -c -p -d -u -r1.6 string_intrinsics.c
--- intrinsics/string_intrinsics.c 7 Dec 2004 00:00:56 -0000 1.6
+++ intrinsics/string_intrinsics.c 7 Dec 2004 00:22:17 -0000
@@ -184,7 +184,7 @@ string_trim (GFC_INTEGER_4 * len, void *
if (*len > 0)
{
/* Allocate space for result string. */
- *dest = internal_malloc (*len);
+ *dest = internal_malloc_size (*len);
/* copy string if necessary. */
memmove (*dest, src, *len);
Index: intrinsics/transpose_generic.c
===================================================================
RCS file: /cvs/gcc/gcc/libgfortran/intrinsics/transpose_generic.c,v
retrieving revision 1.4
diff -c -p -d -u -r1.4 transpose_generic.c
--- intrinsics/transpose_generic.c 7 Dec 2004 00:00:56 -0000 1.4
+++ intrinsics/transpose_generic.c 7 Dec 2004 00:22:17 -0000
@@ -56,7 +56,7 @@ __transpose (gfc_array_char * ret, gfc_a
ret->dim[1].ubound = source->dim[0].ubound - source->dim[0].lbound;
ret->dim[1].stride = ret->dim[0].ubound+1;
- ret->data = internal_malloc (size * size0 ((array_t*)ret));
+ ret->data = internal_malloc_size (size * size0 ((array_t*)ret));
ret->base = 0;
}
Index: m4/ifunction.m4
===================================================================
RCS file: /cvs/gcc/gcc/libgfortran/m4/ifunction.m4,v
retrieving revision 1.4
diff -c -p -d -u -r1.4 ifunction.m4
--- m4/ifunction.m4 4 Aug 2004 14:30:46 -0000 1.4
+++ m4/ifunction.m4 7 Dec 2004 00:22:17 -0000
@@ -69,8 +69,10 @@ define(START_ARRAY_FUNCTION,
retarray->dim[n].stride = retarray->dim[n-1].stride * extent[n-1];
}
- retarray->data = internal_malloc (sizeof (rtype_name) *
- (retarray->dim[rank-1].stride * extent[rank-1]));
+ retarray->data
+ = internal_malloc_size (sizeof (rtype_name)
+ * retarray->dim[rank-1].stride
+ * extent[rank-1]);
retarray->base = 0;
}
Index: m4/matmul.m4
===================================================================
RCS file: /cvs/gcc/gcc/libgfortran/m4/matmul.m4,v
retrieving revision 1.5
diff -c -p -d -u -r1.5 matmul.m4
--- m4/matmul.m4 18 Nov 2004 08:45:11 -0000 1.5
+++ m4/matmul.m4 7 Dec 2004 00:22:17 -0000
@@ -87,7 +87,8 @@ void
retarray->dim[1].stride = retarray->dim[0].ubound+1;
}
- retarray->data = internal_malloc (sizeof (rtype_name) * size0 (retarray));
+ retarray->data
+ = internal_malloc_size (sizeof (rtype_name) * size0 (retarray));
retarray->base = 0;
}
@@ -201,4 +202,3 @@ sinclude(`matmul_asm_'rtype_code`.m4')dn
dest[x*rxstride + y*rystride] += abase[x*axstride + n*aystride] * bbase[n*bxstride + y*bystride];
}
}
-
Index: m4/matmull.m4
===================================================================
RCS file: /cvs/gcc/gcc/libgfortran/m4/matmull.m4,v
retrieving revision 1.4
diff -c -p -d -u -r1.4 matmull.m4
--- m4/matmull.m4 9 Aug 2004 14:34:39 -0000 1.4
+++ m4/matmull.m4 7 Dec 2004 00:22:17 -0000
@@ -77,7 +77,8 @@ void
retarray->dim[1].stride = retarray->dim[0].ubound+1;
}
- retarray->data = internal_malloc (sizeof (rtype_name) * size0 (retarray));
+ retarray->data
+ = internal_malloc_size (sizeof (rtype_name) * size0 (retarray));
retarray->base = 0;
}
@@ -180,4 +181,3 @@ sinclude(`matmul_asm_'rtype_code`.m4')dn
dest += rystride - (rxstride * xcount);
}
}
-
Index: m4/transpose.m4
===================================================================
RCS file: /cvs/gcc/gcc/libgfortran/m4/transpose.m4,v
retrieving revision 1.4
diff -c -p -d -u -r1.4 transpose.m4
--- m4/transpose.m4 4 Aug 2004 14:30:46 -0000 1.4
+++ m4/transpose.m4 7 Dec 2004 00:22:17 -0000
@@ -52,7 +52,7 @@ void
ret->dim[1].ubound = source->dim[0].ubound - source->dim[0].lbound;
ret->dim[1].stride = ret->dim[0].ubound+1;
- ret->data = internal_malloc (sizeof (rtype_name) * size0 (ret));
+ ret->data = internal_malloc_size (sizeof (rtype_name) * size0 (ret));
ret->base = 0;
}
More information about the Fortran
mailing list