From b1660f25a3a95c3fe3682faa921b21f7493356f8 Mon Sep 17 00:00:00 2001 From: pault Date: Mon, 13 Mar 2006 22:49:56 +0000 Subject: 2006-03-13 Paul Thomas PR fortran/25378 * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Set the initial position to zero and modify the condition for updating it, to implement the F2003 requirement for all(mask) is false. 2006-03-13 Paul Thomas PR fortran/25378 * libgfortran/m4/minloc1.m4: Set the initial position to zero and modify the condition for updating it, to implement the F2003 requirement for all(mask).eq.false. * libgfortran/m4/maxloc1.m4: The same. * libgfortran/m4/iforeach.m4: The same. * libgfortran/m4/minloc0.m4: The same. * libgfortran/m4/maxloc0.m4: The same. * libgfortran/generated/maxloc0_16_i16.c: Regenerated, together with 41 others. * libgfortran/generated/minloc0_16_i16.c: Regenerated, together with 41 others. 2006-03-13 Paul Thomas PR fortran/25378 * gfortran.fortran-torture/execute/intrinsic_mmloc_3.f90: Expand test to include more permuatations of mask and index. * testsuite/gfortran.dg/scalar_mask_1.f90: Modify last test to respond to F2003 spec. that the position returned for an all false mask && condition is zero. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112028 138bc75d-0d04-0410-961f-82ee72b054a4 --- libgfortran/m4/minloc0.m4 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'libgfortran/m4/minloc0.m4') diff --git a/libgfortran/m4/minloc0.m4 b/libgfortran/m4/minloc0.m4 index 10fb3a9119d..1c2aa18cf08 100644 --- a/libgfortran/m4/minloc0.m4 +++ b/libgfortran/m4/minloc0.m4 @@ -45,7 +45,7 @@ FOREACH_FUNCTION( minval = atype_max;' , -` if (*base < minval) +` if (*base < minval || !dest[0]) { minval = *base; for (n = 0; n < rank; n++) @@ -57,7 +57,7 @@ MASKED_FOREACH_FUNCTION( minval = atype_max;' , -` if (*mbase && *base < minval) +` if (*mbase && (*base < minval || !dest[0])) { minval = *base; for (n = 0; n < rank; n++) -- cgit v1.2.1