re PR fortran/60458 (Error message on associate: deferred type parameter and requires...
authorPaul Thomas <pault@gcc.gnu.org>
Wed, 4 Oct 2017 10:43:45 +0000 (10:43 +0000)
committerPaul Thomas <pault@gcc.gnu.org>
Wed, 4 Oct 2017 10:43:45 +0000 (10:43 +0000)
commit707905d0773e5a8eebb9ba65164f43dc08c658b1
tree766b6c1e28ec2bb871c6783225573d614c75b16a
parent3e3d1b2326f7c78279275c91b21de38c388ff8fe
re PR fortran/60458 (Error message on associate: deferred type parameter and requires either the pointer or allocatable attribute)

2017-10-04  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/60458
PR fortran/77296
* resolve.c (resolve_assoc_var): Deferred character type
associate names must not receive an integer conatant length.
* symbol.c (gfc_is_associate_pointer): Deferred character
length functions also require an associate pointer.
* trans-decl.c (gfc_get_symbol_decl): Deferred character
length functions or derived type components require the assoc
name to have variable string length.
* trans-stmt.c (trans_associate_var): Set the string length of
deferred string length associate names. The address expression
is not needed for allocatable, pointer or dummy targets. Change
the comment about defered string length targets.

2017-10-04  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/77296
* gfortran.dg/associate_32.f03 : New test.

From-SVN: r253400
gcc/fortran/ChangeLog
gcc/fortran/resolve.c
gcc/fortran/symbol.c
gcc/fortran/trans-decl.c
gcc/fortran/trans-stmt.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/associate_32.f03 [new file with mode: 0644]