[Bug fortran/20935] failed assertion for maxloc(n, mask=.true.)
tkoenig at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Mon Mar 27 20:05:00 GMT 2006
------- 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 <Thomas.Koenig@online.de>
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 <pault@gcc.gnu.org>
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 <Thomas.Koenig@online.de>
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 <pault@gcc.gnu.org>
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 <Thomas.Koenig@online.de>
PR fortran/20935
Backport from mainline
* gfortran.dg/scalar_mask_2.f90: New test case.
2006-03-27 Paul Thomas <pault@gcc.gnu.org>
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
More information about the Gcc-bugs
mailing list