------- Comment #8 from tkoenig at gcc dot gnu dot org 2006-03-27 20:05 ------- Subject: Bug 20935
Author: tkoenig Date: Mon Mar 27 20:05:24 2006 New Revision: 112425 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=112425 Log: 2006-03-27 Thomas Koenig <[EMAIL PROTECTED]> PR fortran/20935 Backport from mainline * m4/iforeach.m4: Add SCALAR_FOREACH_FUNCTION macro. * m4/ifunction.m4: Add SCALAR_ARRAY_FUNCTION macro. * m4/minloc0.m4: Use SCALAR_FOREACH_FUNCTION. * m4/minloc1.m4: Use SCALAR_ARRAY_FUNCTION. * m4/maxloc0.m4: Use SCALAR_FOREACH_FUNCTION. * m4/maxloc1.m4: Use SCALAR_ARRAY_FUNCTION. * m4/minval.m4: Likewise. * m4/maxval.m4: Likewise. * m4/product.m4: Likewise. * m4/sum.m4: Likewise. * minloc0_16_i16.c : Regenerated. * minloc0_16_i4.c : Regenerated. * minloc0_16_i8.c : Regenerated. * minloc0_16_r10.c : Regenerated. * minloc0_16_r16.c : Regenerated. * minloc0_16_r4.c : Regenerated. * minloc0_16_r8.c : Regenerated. * minloc0_4_i16.c : Regenerated. * minloc0_4_i4.c : Regenerated. * minloc0_4_i8.c : Regenerated. * minloc0_4_r10.c : Regenerated. * minloc0_4_r16.c : Regenerated. * minloc0_4_r4.c : Regenerated. * minloc0_4_r8.c : Regenerated. * minloc0_8_i16.c : Regenerated. * minloc0_8_i4.c : Regenerated. * minloc0_8_i8.c : Regenerated. * minloc0_8_r10.c : Regenerated. * minloc0_8_r16.c : Regenerated. * minloc0_8_r4.c : Regenerated. * minloc0_8_r8.c : Regenerated. * minloc1_16_i16.c : Regenerated. * minloc1_16_i4.c : Regenerated. * minloc1_16_i8.c : Regenerated. * minloc1_16_r10.c : Regenerated. * minloc1_16_r16.c : Regenerated. * minloc1_16_r4.c : Regenerated. * minloc1_16_r8.c : Regenerated. * minloc1_4_i16.c : Regenerated. * minloc1_4_i4.c : Regenerated. * minloc1_4_i8.c : Regenerated. * minloc1_4_r10.c : Regenerated. * minloc1_4_r16.c : Regenerated. * minloc1_4_r4.c : Regenerated. * minloc1_4_r8.c : Regenerated. * minloc1_8_i16.c : Regenerated. * minloc1_8_i4.c : Regenerated. * minloc1_8_i8.c : Regenerated. * minloc1_8_r10.c : Regenerated. * minloc1_8_r16.c : Regenerated. * minloc1_8_r4.c : Regenerated. * minloc1_8_r8.c : Regenerated. * maxloc0_16_i16.c : Regenerated. * maxloc0_16_i4.c : Regenerated. * maxloc0_16_i8.c : Regenerated. * maxloc0_16_r10.c : Regenerated. * maxloc0_16_r16.c : Regenerated. * maxloc0_16_r4.c : Regenerated. * maxloc0_16_r8.c : Regenerated. * maxloc0_4_i16.c : Regenerated. * maxloc0_4_i4.c : Regenerated. * maxloc0_4_i8.c : Regenerated. * maxloc0_4_r10.c : Regenerated. * maxloc0_4_r16.c : Regenerated. * maxloc0_4_r4.c : Regenerated. * maxloc0_4_r8.c : Regenerated. * maxloc0_8_i16.c : Regenerated. * maxloc0_8_i4.c : Regenerated. * maxloc0_8_i8.c : Regenerated. * maxloc0_8_r10.c : Regenerated. * maxloc0_8_r16.c : Regenerated. * maxloc0_8_r4.c : Regenerated. * maxloc0_8_r8.c : Regenerated. * maxloc1_16_i16.c : Regenerated. * maxloc1_16_i4.c : Regenerated. * maxloc1_16_i8.c : Regenerated. * maxloc1_16_r10.c : Regenerated. * maxloc1_16_r16.c : Regenerated. * maxloc1_16_r4.c : Regenerated. * maxloc1_16_r8.c : Regenerated. * maxloc1_4_i16.c : Regenerated. * maxloc1_4_i4.c : Regenerated. * maxloc1_4_i8.c : Regenerated. * maxloc1_4_r10.c : Regenerated. * maxloc1_4_r16.c : Regenerated. * maxloc1_4_r4.c : Regenerated. * maxloc1_4_r8.c : Regenerated. * maxloc1_8_i16.c : Regenerated. * maxloc1_8_i4.c : Regenerated. * maxloc1_8_i8.c : Regenerated. * maxloc1_8_r10.c : Regenerated. * maxloc1_8_r16.c : Regenerated. * maxloc1_8_r4.c : Regenerated. * maxloc1_8_r8.c : Regenerated. * maxval_i16.c : Regenerated. * maxval_i4.c : Regenerated. * maxval_i8.c : Regenerated. * maxval_r10.c : Regenerated. * maxval_r16.c : Regenerated. * maxval_r4.c : Regenerated. * maxval_r8.c : Regenerated. * minval_i16.c : Regenerated. * minval_i4.c : Regenerated. * minval_i8.c : Regenerated. * minval_r10.c : Regenerated. * minval_r16.c : Regenerated. * minval_r4.c : Regenerated. * minval_r8.c : Regenerated. * sum_c10.c : Regenerated. * sum_c16.c : Regenerated. * sum_c4.c : Regenerated. * sum_c8.c : Regenerated. * sum_i16.c : Regenerated. * sum_i4.c : Regenerated. * sum_i8.c : Regenerated. * sum_r10.c : Regenerated. * sum_r16.c : Regenerated. * sum_r4.c : Regenerated. * sum_r8.c : Regenerated. * product_c10.c : Regenerated. * product_c16.c : Regenerated. * product_c4.c : Regenerated. * product_c8.c : Regenerated. * product_i16.c : Regenerated. * product_i4.c : Regenerated. * product_i8.c : Regenerated. * product_r10.c : Regenerated. * product_r16.c : Regenerated. * product_r4.c : Regenerated. * product_r8.c : Regenerated. 2006-03-27 Paul Thomas <[EMAIL PROTECTED]> PR fortran/25378 Backport from mainline * 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-27 Thomas Koenig <[EMAIL PROTECTED]> PR fortran/20935 Backport from mainline * iresolve.c (gfc_resolve_maxloc): If mask is scalar, prefix the function name with an "s". If the mask is scalar or if its kind is smaller than gfc_default_logical_kind, coerce it to default kind. (gfc_resolve_maxval): Likewise. (gfc_resolve_minloc): Likewise. (gfc_resolve_minval): Likewise. (gfc_resolve_product): Likewise. (gfc_resolve_sum): Likewise. 2006-03-27 Paul Thomas <[EMAIL PROTECTED]> PR fortran/25378 Backport from mainline * 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-27 Thomas Koenig <[EMAIL PROTECTED]> PR fortran/20935 Backport from mainline * gfortran.dg/scalar_mask_2.f90: New test case. 2006-03-27 Paul Thomas <[EMAIL PROTECTED]> PR fortran/25378 Backport from mainline * 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. Added: branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/scalar_mask_2.f90 Modified: branches/gcc-4_1-branch/gcc/fortran/ChangeLog branches/gcc-4_1-branch/gcc/fortran/iresolve.c branches/gcc-4_1-branch/gcc/fortran/trans-intrinsic.c branches/gcc-4_1-branch/gcc/testsuite/ChangeLog branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/scalar_mask_1.f90 branches/gcc-4_1-branch/gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_mmloc_3.f90 branches/gcc-4_1-branch/libgfortran/ChangeLog branches/gcc-4_1-branch/libgfortran/generated/maxloc0_16_i16.c branches/gcc-4_1-branch/libgfortran/generated/maxloc0_16_i4.c branches/gcc-4_1-branch/libgfortran/generated/maxloc0_16_i8.c branches/gcc-4_1-branch/libgfortran/generated/maxloc0_16_r10.c branches/gcc-4_1-branch/libgfortran/generated/maxloc0_16_r16.c branches/gcc-4_1-branch/libgfortran/generated/maxloc0_16_r4.c branches/gcc-4_1-branch/libgfortran/generated/maxloc0_16_r8.c branches/gcc-4_1-branch/libgfortran/generated/maxloc0_4_i16.c branches/gcc-4_1-branch/libgfortran/generated/maxloc0_4_i4.c branches/gcc-4_1-branch/libgfortran/generated/maxloc0_4_i8.c branches/gcc-4_1-branch/libgfortran/generated/maxloc0_4_r10.c branches/gcc-4_1-branch/libgfortran/generated/maxloc0_4_r16.c branches/gcc-4_1-branch/libgfortran/generated/maxloc0_4_r4.c branches/gcc-4_1-branch/libgfortran/generated/maxloc0_4_r8.c branches/gcc-4_1-branch/libgfortran/generated/maxloc0_8_i16.c branches/gcc-4_1-branch/libgfortran/generated/maxloc0_8_i4.c branches/gcc-4_1-branch/libgfortran/generated/maxloc0_8_i8.c branches/gcc-4_1-branch/libgfortran/generated/maxloc0_8_r10.c branches/gcc-4_1-branch/libgfortran/generated/maxloc0_8_r16.c branches/gcc-4_1-branch/libgfortran/generated/maxloc0_8_r4.c branches/gcc-4_1-branch/libgfortran/generated/maxloc0_8_r8.c branches/gcc-4_1-branch/libgfortran/generated/maxloc1_16_i16.c branches/gcc-4_1-branch/libgfortran/generated/maxloc1_16_i4.c branches/gcc-4_1-branch/libgfortran/generated/maxloc1_16_i8.c branches/gcc-4_1-branch/libgfortran/generated/maxloc1_16_r10.c branches/gcc-4_1-branch/libgfortran/generated/maxloc1_16_r16.c branches/gcc-4_1-branch/libgfortran/generated/maxloc1_16_r4.c branches/gcc-4_1-branch/libgfortran/generated/maxloc1_16_r8.c branches/gcc-4_1-branch/libgfortran/generated/maxloc1_4_i16.c branches/gcc-4_1-branch/libgfortran/generated/maxloc1_4_i4.c branches/gcc-4_1-branch/libgfortran/generated/maxloc1_4_i8.c branches/gcc-4_1-branch/libgfortran/generated/maxloc1_4_r10.c branches/gcc-4_1-branch/libgfortran/generated/maxloc1_4_r16.c branches/gcc-4_1-branch/libgfortran/generated/maxloc1_4_r4.c branches/gcc-4_1-branch/libgfortran/generated/maxloc1_4_r8.c branches/gcc-4_1-branch/libgfortran/generated/maxloc1_8_i16.c branches/gcc-4_1-branch/libgfortran/generated/maxloc1_8_i4.c branches/gcc-4_1-branch/libgfortran/generated/maxloc1_8_i8.c branches/gcc-4_1-branch/libgfortran/generated/maxloc1_8_r10.c branches/gcc-4_1-branch/libgfortran/generated/maxloc1_8_r16.c branches/gcc-4_1-branch/libgfortran/generated/maxloc1_8_r4.c branches/gcc-4_1-branch/libgfortran/generated/maxloc1_8_r8.c branches/gcc-4_1-branch/libgfortran/generated/maxval_i16.c branches/gcc-4_1-branch/libgfortran/generated/maxval_i4.c branches/gcc-4_1-branch/libgfortran/generated/maxval_i8.c branches/gcc-4_1-branch/libgfortran/generated/maxval_r10.c branches/gcc-4_1-branch/libgfortran/generated/maxval_r16.c branches/gcc-4_1-branch/libgfortran/generated/maxval_r4.c branches/gcc-4_1-branch/libgfortran/generated/maxval_r8.c branches/gcc-4_1-branch/libgfortran/generated/minloc0_16_i16.c branches/gcc-4_1-branch/libgfortran/generated/minloc0_16_i4.c branches/gcc-4_1-branch/libgfortran/generated/minloc0_16_i8.c branches/gcc-4_1-branch/libgfortran/generated/minloc0_16_r10.c branches/gcc-4_1-branch/libgfortran/generated/minloc0_16_r16.c branches/gcc-4_1-branch/libgfortran/generated/minloc0_16_r4.c branches/gcc-4_1-branch/libgfortran/generated/minloc0_16_r8.c branches/gcc-4_1-branch/libgfortran/generated/minloc0_4_i16.c branches/gcc-4_1-branch/libgfortran/generated/minloc0_4_i4.c branches/gcc-4_1-branch/libgfortran/generated/minloc0_4_i8.c branches/gcc-4_1-branch/libgfortran/generated/minloc0_4_r10.c branches/gcc-4_1-branch/libgfortran/generated/minloc0_4_r16.c branches/gcc-4_1-branch/libgfortran/generated/minloc0_4_r4.c branches/gcc-4_1-branch/libgfortran/generated/minloc0_4_r8.c branches/gcc-4_1-branch/libgfortran/generated/minloc0_8_i16.c branches/gcc-4_1-branch/libgfortran/generated/minloc0_8_i4.c branches/gcc-4_1-branch/libgfortran/generated/minloc0_8_i8.c branches/gcc-4_1-branch/libgfortran/generated/minloc0_8_r10.c branches/gcc-4_1-branch/libgfortran/generated/minloc0_8_r16.c branches/gcc-4_1-branch/libgfortran/generated/minloc0_8_r4.c branches/gcc-4_1-branch/libgfortran/generated/minloc0_8_r8.c branches/gcc-4_1-branch/libgfortran/generated/minloc1_16_i16.c branches/gcc-4_1-branch/libgfortran/generated/minloc1_16_i4.c branches/gcc-4_1-branch/libgfortran/generated/minloc1_16_i8.c branches/gcc-4_1-branch/libgfortran/generated/minloc1_16_r10.c branches/gcc-4_1-branch/libgfortran/generated/minloc1_16_r16.c branches/gcc-4_1-branch/libgfortran/generated/minloc1_16_r4.c branches/gcc-4_1-branch/libgfortran/generated/minloc1_16_r8.c branches/gcc-4_1-branch/libgfortran/generated/minloc1_4_i16.c branches/gcc-4_1-branch/libgfortran/generated/minloc1_4_i4.c branches/gcc-4_1-branch/libgfortran/generated/minloc1_4_i8.c branches/gcc-4_1-branch/libgfortran/generated/minloc1_4_r10.c branches/gcc-4_1-branch/libgfortran/generated/minloc1_4_r16.c branches/gcc-4_1-branch/libgfortran/generated/minloc1_4_r4.c branches/gcc-4_1-branch/libgfortran/generated/minloc1_4_r8.c branches/gcc-4_1-branch/libgfortran/generated/minloc1_8_i16.c branches/gcc-4_1-branch/libgfortran/generated/minloc1_8_i4.c branches/gcc-4_1-branch/libgfortran/generated/minloc1_8_i8.c branches/gcc-4_1-branch/libgfortran/generated/minloc1_8_r10.c branches/gcc-4_1-branch/libgfortran/generated/minloc1_8_r16.c branches/gcc-4_1-branch/libgfortran/generated/minloc1_8_r4.c branches/gcc-4_1-branch/libgfortran/generated/minloc1_8_r8.c branches/gcc-4_1-branch/libgfortran/generated/minval_i16.c branches/gcc-4_1-branch/libgfortran/generated/minval_i4.c branches/gcc-4_1-branch/libgfortran/generated/minval_i8.c branches/gcc-4_1-branch/libgfortran/generated/minval_r10.c branches/gcc-4_1-branch/libgfortran/generated/minval_r16.c branches/gcc-4_1-branch/libgfortran/generated/minval_r4.c branches/gcc-4_1-branch/libgfortran/generated/minval_r8.c branches/gcc-4_1-branch/libgfortran/generated/product_c10.c branches/gcc-4_1-branch/libgfortran/generated/product_c16.c branches/gcc-4_1-branch/libgfortran/generated/product_c4.c branches/gcc-4_1-branch/libgfortran/generated/product_c8.c branches/gcc-4_1-branch/libgfortran/generated/product_i16.c branches/gcc-4_1-branch/libgfortran/generated/product_i4.c branches/gcc-4_1-branch/libgfortran/generated/product_i8.c branches/gcc-4_1-branch/libgfortran/generated/product_r10.c branches/gcc-4_1-branch/libgfortran/generated/product_r16.c branches/gcc-4_1-branch/libgfortran/generated/product_r4.c branches/gcc-4_1-branch/libgfortran/generated/product_r8.c branches/gcc-4_1-branch/libgfortran/generated/sum_c10.c branches/gcc-4_1-branch/libgfortran/generated/sum_c16.c branches/gcc-4_1-branch/libgfortran/generated/sum_c4.c branches/gcc-4_1-branch/libgfortran/generated/sum_c8.c branches/gcc-4_1-branch/libgfortran/generated/sum_i16.c branches/gcc-4_1-branch/libgfortran/generated/sum_i4.c branches/gcc-4_1-branch/libgfortran/generated/sum_i8.c branches/gcc-4_1-branch/libgfortran/generated/sum_r10.c branches/gcc-4_1-branch/libgfortran/generated/sum_r16.c branches/gcc-4_1-branch/libgfortran/generated/sum_r4.c branches/gcc-4_1-branch/libgfortran/generated/sum_r8.c branches/gcc-4_1-branch/libgfortran/m4/iforeach.m4 branches/gcc-4_1-branch/libgfortran/m4/ifunction.m4 branches/gcc-4_1-branch/libgfortran/m4/maxloc0.m4 branches/gcc-4_1-branch/libgfortran/m4/maxloc1.m4 branches/gcc-4_1-branch/libgfortran/m4/maxval.m4 branches/gcc-4_1-branch/libgfortran/m4/minloc0.m4 branches/gcc-4_1-branch/libgfortran/m4/minloc1.m4 branches/gcc-4_1-branch/libgfortran/m4/minval.m4 branches/gcc-4_1-branch/libgfortran/m4/product.m4 branches/gcc-4_1-branch/libgfortran/m4/sum.m4 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20935