diff options
author | Paul Thomas <pault@gcc.gnu.org> | 2005-11-30 17:26:40 +0000 |
---|---|---|
committer | Paul Thomas <pault@gcc.gnu.org> | 2005-11-30 17:26:40 +0000 |
commit | 99c7ab426c16387fb2a27681f54b0ca4ff853b69 (patch) | |
tree | 4cab46bed130eb0f0b7437bac89bbc2298702409 /gcc/fortran/trans-array.c | |
parent | e541c31f4ca60209f17d3b44d365cfee4659b899 (diff) | |
download | gcc-99c7ab426c16387fb2a27681f54b0ca4ff853b69.zip gcc-99c7ab426c16387fb2a27681f54b0ca4ff853b69.tar.gz gcc-99c7ab426c16387fb2a27681f54b0ca4ff853b69.tar.bz2 |
[multiple changes]
2005-11-30 Paul Thomas <pault@gcc.gnu.org>
PR fortran/15809
* trans-decl.c (gfc_get_symbol_decl): In the case of automatic
character length, dummy pointer arrays, build an expression for
unit size of the array elements, to be picked up and used in the
descriptor dtype.
* trans-io.c (gfc_trans_transfer): Modify the detection of
components of derived type arrays to use the gfc_expr references
instead of the array descriptor dtype. This allows the latter
to contain expressions.
2005-11-30 Erik Edelmann <erik.edelmann@iki.fi>
PR fortran/15809
* trans-array.c (gfc_trans_deferred_array): Allow PARM_DECLs past
in addition to VAR_DECLs.
2005-11-30 Paul Thomas <pault@gcc.gnu.org>
PR fortran/15809
* gfortran.dg/auto_char_dummy_array.f90: New test.
From-SVN: r107727
Diffstat (limited to 'gcc/fortran/trans-array.c')
-rw-r--r-- | gcc/fortran/trans-array.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c index 20d3c67..a94d7e8 100644 --- a/gcc/fortran/trans-array.c +++ b/gcc/fortran/trans-array.c @@ -4173,7 +4173,9 @@ gfc_trans_deferred_array (gfc_symbol * sym, tree body) gfc_init_block (&fnblock); - gcc_assert (TREE_CODE (sym->backend_decl) == VAR_DECL); + gcc_assert (TREE_CODE (sym->backend_decl) == VAR_DECL + || TREE_CODE (sym->backend_decl) == PARM_DECL); + if (sym->ts.type == BT_CHARACTER && !INTEGER_CST_P (sym->ts.cl->backend_decl)) gfc_trans_init_string_length (sym->ts.cl, &fnblock); |