]> git.ipfire.org Git - thirdparty/gcc.git/commit
Fortran: Assumed and explicit size class arrays [PR46691/99819].
authorPaul Thomas <pault@gcc.gnu.org>
Thu, 6 May 2021 13:41:33 +0000 (14:41 +0100)
committerHarald Anlauf <anlauf@gmx.de>
Sat, 28 Aug 2021 18:13:24 +0000 (20:13 +0200)
commitbe64e725111fdb9caa05374823b4423b8ab49dc7
tree68af4a1dbb0837264efee15f8601db07e0098ab8
parent6e503ac734f6383530a65580d3af03a1027c5103
Fortran: Assumed and explicit size class arrays [PR46691/99819].

2021-05-06  Paul Thomas  <pault@gcc.gnu.org>

gcc/fortran/ChangeLog

PR fortran/46691
PR fortran/99819
* class.c (gfc_build_class_symbol): Remove the error that
disables assumed size class arrays. Class array types that are
not deferred shape or assumed rank are given a unique name and
placed in the procedure namespace.
* trans-array.c (gfc_trans_g77_array): Obtain the data pointer
for class arrays.
(gfc_trans_dummy_array_bias): Suppress the runtime error for
extent violations in explicit shape class arrays because it
always fails.
* trans-expr.c (gfc_conv_procedure_call): Handle assumed size
class actual arguments passed to non-descriptor formal args by
using the data pointer, stored as the symbol's backend decl.

gcc/testsuite/ChangeLog

PR fortran/46691
PR fortran/99819
* gfortran.dg/class_dummy_6.f90: New test.
* gfortran.dg/class_dummy_7.f90: New test.

(cherry picked from commit a2c593009fef1564dbef2237ee71e9fd08f5361e)
gcc/fortran/class.c
gcc/fortran/trans-array.c
gcc/fortran/trans-expr.c
gcc/testsuite/gfortran.dg/class_dummy_6.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/class_dummy_7.f90 [new file with mode: 0644]