[0/2] fortran: Fix specification checks [PR111781]

Message ID 20240317123527.999399-1-mikael@gcc.gnu.org
Headers
Series fortran: Fix specification checks [PR111781] |

Message

Mikael Morin March 17, 2024, 12:35 p.m. UTC
  Hello,

these patches correct diagnostics dealing with variables in specification
expressions.
The first patch is a testsuite change, which fixes invalid specification
expressions that the second patch would diagnose.
The second patch removes a spurious diagnostic when a dummy procedure is
involved, and enables more valid ones, as visible in the testcases from the
first patch.

The patch is not completely trivial, and fix what is not really a regression,
so it is more for stage1, I think.

Tested for regression on x86_64-pc-linux-gnu.  Ok for master when stage1
opens?


Mikael Morin (2):
  testsuite: Declare fortran array bound variables
  fortran: Fix specification expression error with dummy procedures
    [PR111781]

 gcc/fortran/expr.cc                           |  8 +-
 gcc/fortran/gfortran.h                        |  4 +-
 gcc/fortran/resolve.cc                        | 77 +++++++++----------
 gcc/fortran/symbol.cc                         | 57 ++++++++++++++
 .../gfortran.dg/graphite/pr107865.f90         |  2 +-
 gcc/testsuite/gfortran.dg/pr101267.f90        |  2 +-
 gcc/testsuite/gfortran.dg/pr112404.f90        |  2 +-
 gcc/testsuite/gfortran.dg/pr78061.f           |  2 +-
 gcc/testsuite/gfortran.dg/pr79315.f90         |  6 +-
 gcc/testsuite/gfortran.dg/spec_expr_8.f90     | 24 ++++++
 gcc/testsuite/gfortran.dg/spec_expr_9.f90     | 19 +++++
 gcc/testsuite/gfortran.dg/vect/pr90681.f      |  2 +-
 gcc/testsuite/gfortran.dg/vect/pr97761.f90    |  2 +-
 gcc/testsuite/gfortran.dg/vect/pr99746.f90    |  2 +-
 14 files changed, 151 insertions(+), 58 deletions(-)
 create mode 100644 gcc/testsuite/gfortran.dg/spec_expr_8.f90
 create mode 100644 gcc/testsuite/gfortran.dg/spec_expr_9.f90