re PR fortran/92004 (Rejection of different ranks for dummy array argument where...
authorThomas Koenig <tkoenig@gcc.gnu.org>
Mon, 14 Oct 2019 21:37:34 +0000 (21:37 +0000)
committerThomas Koenig <tkoenig@gcc.gnu.org>
Mon, 14 Oct 2019 21:37:34 +0000 (21:37 +0000)
commit4a4fc7feda04b57e3bf767ba29836868f2f984d7
tree6d64123e9c061175729c44d003015f61dc7c2829
parentb08e9f111b80e10b5ae50bcba4e3693475dbf95a
re PR fortran/92004 (Rejection of different ranks for dummy array argument where actual argument is an element)

2019-10-14  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/92004
* array.c (expand_constructor): Set from_constructor on
expression.
* gfortran.h (gfc_symbol): Add maybe_array.
(gfc_expr): Add from_constructor.
* interface.c (maybe_dummy_array_arg): New function.
(compare_parameter): If the formal argument is generated from a
call, check the conditions where an array element could be
passed to an array.  Adjust error message for assumed-shape
or pointer array.  Use correct language for assumed shaped arrays.
(gfc_get_formal_from_actual_arglist): Set maybe_array on the
symbol if the actual argument is an array element fulfilling
the conditions of 15.5.2.4.

2019-10-14  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/92004
* gfortran.dg/argument_checking_24.f90: New test.
* gfortran.dg/abstract_type_6.f90: Add error message.
* gfortran.dg/argument_checking_11.f90: Correct wording
in error message.
* gfortran.dg/argumeent_checking_13.f90: Likewise.
* gfortran.dg/interface_40.f90: Add error message.

From-SVN: r276972
gcc/fortran/ChangeLog
gcc/fortran/array.c
gcc/fortran/gfortran.h
gcc/fortran/interface.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/abstract_type_6.f03
gcc/testsuite/gfortran.dg/argument_checking_11.f90
gcc/testsuite/gfortran.dg/argument_checking_13.f90
gcc/testsuite/gfortran.dg/argument_checking_24.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/interface_40.f90