Hello,

This is a variant of the patch series previously posted for master at [1], 
without patches 1 to 5.
It has a more limited impact, which makes it more suitable for the release 
branches.

The problematic case is intrinsic procedures where an argument is actually not 
used in the code generated (KIND argument of INDEX in the testcase), which 
confuses the scalariser.

Thomas König comitted a change to workaround the problem, but it regressed in 
PR97896.  These patch put the workaround where I think it is more appropriate, 
namely at the beginning of the scalarisation procedure.  This is the patch 2 of 
the series, preceded with the revert in patch 1.  I intend to commit both of 
them squashed together.

Regression-tested on x86_64-linux-gnu.  Ok for 11 branch? 


[1] https://gcc.gnu.org/pipermail/fortran/2021-August/056317.html

Mikael Morin (2):
  Revert "Remove KIND argument from INDEX so it does not mess up
    scalarization."
  fortran: Ignore unused args in scalarization [PR97896]

 gcc/fortran/intrinsic.c               | 48 +++------------------
 gcc/fortran/intrinsic.h               |  3 +-
 gcc/fortran/iresolve.c                | 21 ++-------
 gcc/fortran/trans-array.c             | 61 ++++++++++++++++++++++++++-
 gcc/fortran/trans-array.h             |  3 ++
 gcc/fortran/trans-decl.c              | 24 +----------
 gcc/fortran/trans-intrinsic.c         |  1 +
 gcc/fortran/trans-stmt.c              | 20 +++++++++
 gcc/testsuite/gfortran.dg/index_5.f90 | 23 ++++++++++
 9 files changed, 121 insertions(+), 83 deletions(-)
 create mode 100644 gcc/testsuite/gfortran.dg/index_5.f90

-- 
2.30.2

Reply via email to