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