diff options
author | Tobias Burnus <burnus@net-b.de> | 2008-09-24 09:01:18 +0200 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2008-09-24 09:01:18 +0200 |
commit | a9b98c2c559e553035ca5115cd0cbb9f2c32dab0 (patch) | |
tree | c0506931aec66b48c8d93f6b98854e14ef6028c2 /gcc/fortran/trans-array.c | |
parent | 34971398456227555b7ca26065816d8316169ed7 (diff) | |
download | gcc-a9b98c2c559e553035ca5115cd0cbb9f2c32dab0.zip gcc-a9b98c2c559e553035ca5115cd0cbb9f2c32dab0.tar.gz gcc-a9b98c2c559e553035ca5115cd0cbb9f2c32dab0.tar.bz2 |
re PR fortran/37626 (ICE for automatic deallocation of character result variable)
2008-09-24 Tobias Burnus <burnus@net-b.de>
PR fortran/37626
* trans-array.c (gfc_trans_deferred_array): Don't auto-deallocate
result variables.
2008-09-24 Tobias Burnus <burnus@net-b.de>
PR fortran/37626
* gfortran.dg/allocatable_function_4.f90: New test.
From-SVN: r140624
Diffstat (limited to 'gcc/fortran/trans-array.c')
-rw-r--r-- | gcc/fortran/trans-array.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c index 42b9967..c5aff65 100644 --- a/gcc/fortran/trans-array.c +++ b/gcc/fortran/trans-array.c @@ -5754,7 +5754,7 @@ gfc_trans_deferred_array (gfc_symbol * sym, tree body) gfc_add_expr_to_block (&fnblock, tmp); } - if (sym->attr.allocatable && !sym->attr.save) + if (sym->attr.allocatable && !sym->attr.save && !sym->attr.result) { tmp = gfc_trans_dealloc_allocated (sym->backend_decl); gfc_add_expr_to_block (&fnblock, tmp); |