public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/101334] New: gfortran fails to enforce C838 on disallowed uses of assumed-rank variable names + bogus errors
@ 2021-07-05 18:57 sandra at gcc dot gnu.org
  2021-09-23  0:11 ` [Bug fortran/101334] " cvs-commit at gcc dot gnu.org
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: sandra at gcc dot gnu.org @ 2021-07-05 18:57 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101334

            Bug ID: 101334
           Summary: gfortran fails to enforce C838 on disallowed uses of
                    assumed-rank variable names + bogus errors
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: sandra at gcc dot gnu.org
  Target Milestone: ---

C838 in the 2018 Fortran standard (originally C535b in TS29113) says:

An assumed-rank variable name shall not appear in a designator or expression
except as an actual argument that corresponds to a dummy argument that is
assumed-rank, the argument of the function C_LOC or C_SIZEOF from the intrinsic
module ISO_C_BINDING (18.2), the first dummy argument of an intrinsic inquiry
function, or the selector of a SELECT RANK statement.

The WIP TS29113 testsuite

https://gcc.gnu.org/pipermail/gcc-patches/2021-July/574115.html

has tests types/c535b-*.f90 for this.  c535b-2 and c535b-3 are failing with
several cases of missing diagnostics, or bogus errors.  E.g. the latter test
case focuses on the 2-argument form of the ASSOCIATED intrinsic and produces
errors like

Error: 'pointer' argument of 'associated' intrinsic at (1) must be of rank -1

in a context where I think assumed-rank should be allowed (first argument to an
intrinsic inquiry function).

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug fortran/101334] gfortran fails to enforce C838 on disallowed uses of assumed-rank variable names + bogus errors
  2021-07-05 18:57 [Bug fortran/101334] New: gfortran fails to enforce C838 on disallowed uses of assumed-rank variable names + bogus errors sandra at gcc dot gnu.org
@ 2021-09-23  0:11 ` cvs-commit at gcc dot gnu.org
  2021-09-26 17:26 ` cvs-commit at gcc dot gnu.org
  2021-10-21 21:14 ` sandra at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-09-23  0:11 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101334

--- Comment #1 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Sandra Loosemore <sandra@gcc.gnu.org>:

https://gcc.gnu.org/g:7a40f2e74815a926c5f47416c29efbc17aa1ef43

commit r12-3827-g7a40f2e74815a926c5f47416c29efbc17aa1ef43
Author: Sandra Loosemore <sandra@codesourcery.com>
Date:   Sun Sep 19 17:32:03 2021 -0700

    Fortran: Fixes for F2018 C838 (PR fortran/101334)

    The compiler was failing to diagnose the error required by F2018 C838
    when passing an assumed-rank array argument to a non-assumed-rank dummy.
    It was also incorrectly giving an error for calls to the 2-argument form
    of the ASSOCIATED intrinsic, which is supposed to be permitted by C838.

    2021-09-19  Sandra Loosemore  <sandra@codesourcery.com>

            PR fortran/101334

    gcc/fortran/
            * check.c (gfc_check_associated): Allow an assumed-rank
            array for the pointer argument.
            * interface.c (compare_parameter): Also give rank mismatch
            error on assumed-rank array.

    gcc/testsuite/
            * gfortran.dg/c-interop/c535b-2.f90: Remove xfails.
            * gfortran.dg/c-interop/c535b-3.f90: Likewise.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug fortran/101334] gfortran fails to enforce C838 on disallowed uses of assumed-rank variable names + bogus errors
  2021-07-05 18:57 [Bug fortran/101334] New: gfortran fails to enforce C838 on disallowed uses of assumed-rank variable names + bogus errors sandra at gcc dot gnu.org
  2021-09-23  0:11 ` [Bug fortran/101334] " cvs-commit at gcc dot gnu.org
@ 2021-09-26 17:26 ` cvs-commit at gcc dot gnu.org
  2021-10-21 21:14 ` sandra at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-09-26 17:26 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101334

--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Tobias Burnus <burnus@gcc.gnu.org>:

https://gcc.gnu.org/g:fe2771b291c2c7c0ac37b75ec5b160937524b60c

commit r12-3890-gfe2771b291c2c7c0ac37b75ec5b160937524b60c
Author: Tobias Burnus <tobias@codesourcery.com>
Date:   Sun Sep 26 19:26:01 2021 +0200

    Fortran: Fix associated intrinsic with assumed rank [PR101334]

    ASSOCIATE (ptr, tgt) takes as first argument also an assumed-rank array;
    however, using it together with a tgt (required to be non assumed rank)
    had issues for both scalar and nonscalar tgt.

            PR fortran/101334
    gcc/fortran/ChangeLog:

            * trans-intrinsic.c (gfc_conv_associated): Support assumed-rank
            'pointer' with scalar/array 'target' argument.

    libgfortran/ChangeLog:

            * intrinsics/associated.c (associated): Also check for same rank.

    gcc/testsuite/ChangeLog:

            * gfortran.dg/associated_assumed_rank.f90: New test.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug fortran/101334] gfortran fails to enforce C838 on disallowed uses of assumed-rank variable names + bogus errors
  2021-07-05 18:57 [Bug fortran/101334] New: gfortran fails to enforce C838 on disallowed uses of assumed-rank variable names + bogus errors sandra at gcc dot gnu.org
  2021-09-23  0:11 ` [Bug fortran/101334] " cvs-commit at gcc dot gnu.org
  2021-09-26 17:26 ` cvs-commit at gcc dot gnu.org
@ 2021-10-21 21:14 ` sandra at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: sandra at gcc dot gnu.org @ 2021-10-21 21:14 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101334

sandra at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|UNCONFIRMED                 |RESOLVED

--- Comment #3 from sandra at gcc dot gnu.org ---
This has been fixed.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-10-21 21:14 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-05 18:57 [Bug fortran/101334] New: gfortran fails to enforce C838 on disallowed uses of assumed-rank variable names + bogus errors sandra at gcc dot gnu.org
2021-09-23  0:11 ` [Bug fortran/101334] " cvs-commit at gcc dot gnu.org
2021-09-26 17:26 ` cvs-commit at gcc dot gnu.org
2021-10-21 21:14 ` sandra at gcc dot gnu.org

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).