2016-02-20 Paul Thomas <pault@gcc.gnu.org>
commitb345a09fb7b519045db566d5f50bd9302c88227c
authorpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 20 Feb 2016 18:26:59 +0000 (20 18:26 +0000)
committerpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 20 Feb 2016 18:26:59 +0000 (20 18:26 +0000)
tree5affc9fbd102413c5ceed1275a056bb5d8a342d6
parent51385aedd86de7d95e873ef60f65f645dec0b806
2016-02-20  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/69423
* trans-decl.c (create_function_arglist): Deferred character
length functions, with and without declared results, address
the passed reference type as '.result' and the local string
length as '..result'.
(gfc_null_and_pass_deferred_len): Helper function to null and
return deferred string lengths, as needed.
(gfc_trans_deferred_vars): Call it, thereby reducing repeated
code, add call for deferred arrays and reroute pointer function
results. Avoid using 'tmp' for anything other that a temporary
tree by introducing 'type_of_array' for the arrayspec type.

2016-02-20  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/69423
* gfortran.dg/deferred_character_15.f90 : New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233589 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/fortran/ChangeLog
gcc/fortran/trans-decl.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/deferred_character_15.f90 [new file with mode: 0644]