diff options
author | Tobias Burnus <burnus@net-b.de> | 2013-01-30 07:47:14 +0000 |
---|---|---|
committer | Tobias Burnus <burnus@net-b.de> | 2013-01-30 07:47:14 +0000 |
commit | 6b926c201a096ba1b88e0ebd61874fa3253a8cc0 (patch) | |
tree | 9221879e32048487de0fedefe5de36057420f0d6 /gcc/fortran | |
parent | ab8826bc1881328a77d2610aaf4976f1f5fddb97 (diff) |
2012-01-30 Tobias Burnus <burnus@net-b.de>
PR fortran/56138
* trans-decl.c (gfc_trans_deferred_vars): Fix deferred-length
results for functions without extra result variable.
2012-01-30 Tobias Burnus <burnus@net-b.de>
PR fortran/56138
* gfortran.dg/allocatable_function_6.f90: New.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@195570 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran')
-rw-r--r-- | gcc/fortran/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/fortran/trans-decl.c | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 6a42ba45c32..bef16a52624 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2012-01-30 Tobias Burnus <burnus@net-b.de> + + PR fortran/56138 + * trans-decl.c (gfc_trans_deferred_vars): Fix deferred-length + results for functions without extra result variable. + 2013-01-29 Janus Weil <janus@gcc.gnu.org> Mikael Morin <mikael@gcc.gnu.org> diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c index 1d0919dd4c1..77324408eb7 100644 --- a/gcc/fortran/trans-decl.c +++ b/gcc/fortran/trans-decl.c @@ -3775,7 +3775,7 @@ gfc_trans_deferred_vars (gfc_symbol * proc_sym, gfc_wrapped_block * block) null_pointer_node)); } - if ((sym->attr.dummy ||sym->attr.result) + if ((sym->attr.dummy || sym->attr.result || sym->result == sym) && sym->ts.type == BT_CHARACTER && sym->ts.deferred) { |