Hello world,
this patch fixes the same kind of problems that PR 49479 addressed,
by applying the same kind of fix to another class of function.
I have not bothered to find a test case. Regression-tested.
OK for trunk and (after a few days) for 4.6?
Thomas
2011-09-08 Thomas Koenig <tkoe...@gcc.gnu.org>
PR fortran/49479
* generated/m4/ifunction.m4: Always call internal_malloc_size
even when there is no return array.
* generated/generated/maxloc1_16_i16.c: Regenerated.
* generated/generated/maxloc1_16_i1.c: Regenerated.
* generated/generated/maxloc1_16_i2.c: Regenerated.
* generated/generated/maxloc1_16_i4.c: Regenerated.
* generated/generated/maxloc1_16_i8.c: Regenerated.
* generated/generated/maxloc1_16_r10.c: Regenerated.
* generated/generated/maxloc1_16_r16.c: Regenerated.
* generated/generated/maxloc1_16_r4.c: Regenerated.
* generated/generated/maxloc1_16_r8.c: Regenerated.
* generated/generated/maxloc1_4_i16.c: Regenerated.
* generated/generated/maxloc1_4_i1.c: Regenerated.
* generated/generated/maxloc1_4_i2.c: Regenerated.
* generated/generated/maxloc1_4_i4.c: Regenerated.
* generated/generated/maxloc1_4_i8.c: Regenerated.
* generated/generated/maxloc1_4_r10.c: Regenerated.
* generated/generated/maxloc1_4_r16.c: Regenerated.
* generated/generated/maxloc1_4_r4.c: Regenerated.
* generated/generated/maxloc1_4_r8.c: Regenerated.
* generated/generated/maxloc1_8_i16.c: Regenerated.
* generated/generated/maxloc1_8_i1.c: Regenerated.
* generated/generated/maxloc1_8_i2.c: Regenerated.
* generated/generated/maxloc1_8_i4.c: Regenerated.
* generated/generated/maxloc1_8_i8.c: Regenerated.
* generated/generated/maxloc1_8_r10.c: Regenerated.
* generated/generated/maxloc1_8_r16.c: Regenerated.
* generated/generated/maxloc1_8_r4.c: Regenerated.
* generated/generated/maxloc1_8_r8.c: Regenerated.
* generated/generated/maxval_i16.c: Regenerated.
* generated/generated/maxval_i1.c: Regenerated.
* generated/generated/maxval_i2.c: Regenerated.
* generated/generated/maxval_i4.c: Regenerated.
* generated/generated/maxval_i8.c: Regenerated.
* generated/generated/maxval_r10.c: Regenerated.
* generated/generated/maxval_r16.c: Regenerated.
* generated/generated/maxval_r4.c: Regenerated.
* generated/generated/maxval_r8.c: Regenerated.
* generated/generated/minloc1_16_i16.c: Regenerated.
* generated/generated/minloc1_16_i1.c: Regenerated.
* generated/generated/minloc1_16_i2.c: Regenerated.
* generated/generated/minloc1_16_i4.c: Regenerated.
* generated/generated/minloc1_16_i8.c: Regenerated.
* generated/generated/minloc1_16_r10.c: Regenerated.
* generated/generated/minloc1_16_r16.c: Regenerated.
* generated/generated/minloc1_16_r4.c: Regenerated.
* generated/generated/minloc1_16_r8.c: Regenerated.
* generated/generated/minloc1_4_i16.c: Regenerated.
* generated/generated/minloc1_4_i1.c: Regenerated.
* generated/generated/minloc1_4_i2.c: Regenerated.
* generated/generated/minloc1_4_i4.c: Regenerated.
* generated/generated/minloc1_4_i8.c: Regenerated.
* generated/generated/minloc1_4_r10.c: Regenerated.
* generated/generated/minloc1_4_r16.c: Regenerated.
* generated/generated/minloc1_4_r4.c: Regenerated.
* generated/generated/minloc1_4_r8.c: Regenerated.
* generated/generated/minloc1_8_i16.c: Regenerated.
* generated/generated/minloc1_8_i1.c: Regenerated.
* generated/generated/minloc1_8_i2.c: Regenerated.
* generated/generated/minloc1_8_i4.c: Regenerated.
* generated/generated/minloc1_8_i8.c: Regenerated.
* generated/generated/minloc1_8_r10.c: Regenerated.
* generated/generated/minloc1_8_r16.c: Regenerated.
* generated/generated/minloc1_8_r4.c: Regenerated.
* generated/generated/minloc1_8_r8.c: Regenerated.
* generated/generated/minval_i16.c: Regenerated.
* generated/generated/minval_i1.c: Regenerated.
* generated/generated/minval_i2.c: Regenerated.
* generated/generated/minval_i4.c: Regenerated.
* generated/generated/minval_i8.c: Regenerated.
* generated/generated/minval_r10.c: Regenerated.
* generated/generated/minval_r16.c: Regenerated.
* generated/generated/minval_r4.c: Regenerated.
* generated/generated/minval_r8.c: Regenerated.
* generated/generated/product_c10.c: Regenerated.
* generated/generated/product_c16.c: Regenerated.
* generated/generated/product_c4.c: Regenerated.
* generated/generated/product_c8.c: Regenerated.
* generated/generated/product_i16.c: Regenerated.
* generated/generated/product_i1.c: Regenerated.
* generated/generated/product_i2.c: Regenerated.
* generated/generated/product_i4.c: Regenerated.
* generated/generated/product_i8.c: Regenerated.
* generated/generated/product_r10.c: Regenerated.
* generated/generated/product_r16.c: Regenerated.
* generated/generated/product_r4.c: Regenerated.
* generated/generated/product_r8.c: Regenerated.
* generated/generated/sum_c10.c: Regenerated.
* generated/generated/sum_c16.c: Regenerated.
* generated/generated/sum_c4.c: Regenerated.
* generated/generated/sum_c8.c: Regenerated.
* generated/generated/sum_i16.c: Regenerated.
* generated/generated/sum_i1.c: Regenerated.
* generated/generated/sum_i2.c: Regenerated.
* generated/generated/sum_i4.c: Regenerated.
* generated/generated/sum_i8.c: Regenerated.
* generated/generated/sum_r10.c: Regenerated.
* generated/generated/sum_r16.c: Regenerated.
* generated/generated/sum_r4.c: Regenerated.
* generated/generated/sum_r8.c: Regenerated.
Index: m4/ifunction.m4
===================================================================
--- m4/ifunction.m4 (Revision 178139)
+++ m4/ifunction.m4 (Arbeitskopie)
@@ -88,6 +88,7 @@ name`'rtype_qual`_'atype_code (rtype * const restr
alloc_size = sizeof (rtype_name) * GFC_DESCRIPTOR_STRIDE(retarray,rank-1)
* extent[rank-1];
+ retarray->data = internal_malloc_size (alloc_size);
if (alloc_size == 0)
{
/* Make sure we have a zero-sized array. */
@@ -95,8 +96,6 @@ name`'rtype_qual`_'atype_code (rtype * const restr
return;
}
- else
- retarray->data = internal_malloc_size (alloc_size);
}
else
{