public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "tkoenig at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug libfortran/25378] [Fortran 2003] maxloc for all-false mask
Date: Mon, 27 Mar 2006 20:05:00 -0000	[thread overview]
Message-ID: <20060327200535.27569.qmail@sourceware.org> (raw)
In-Reply-To: <bug-25378-10391@http.gcc.gnu.org/bugzilla/>



------- Comment #5 from tkoenig at gcc dot gnu dot org  2006-03-27 20:05 -------
Subject: Bug 25378

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=25378


  parent reply	other threads:[~2006-03-27 20:05 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-12-12 21:43 [Bug libfortran/25378] New: " tkoenig at gcc dot gnu dot org
2006-01-10  4:32 ` [Bug libfortran/25378] " pinskia at gcc dot gnu dot org
2006-03-08 21:44 ` pault at gcc dot gnu dot org
2006-03-09  0:25 ` patchapp at dberlin dot org
2006-03-13 22:50 ` pault at gcc dot gnu dot org
2006-03-27 20:05 ` tkoenig at gcc dot gnu dot org [this message]
2006-03-29 19:31 ` tkoenig at gcc dot gnu dot org

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060327200535.27569.qmail@sourceware.org \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).