diff options
author | Daniel Kraft <d@domob.eu> | 2008-09-09 11:46:51 +0200 |
---|---|---|
committer | Daniel Kraft <domob@gcc.gnu.org> | 2008-09-09 11:46:51 +0200 |
commit | 18b0679f097a3656acf82ebbb7a703bd4c0bb174 (patch) | |
tree | 2b9a7ba6b71745cdb5c9c70e23900e112a694825 /gcc/fortran/trans-array.c | |
parent | 108faf872d022a1b6d965bc18543edbf4d21de57 (diff) | |
download | gcc-18b0679f097a3656acf82ebbb7a703bd4c0bb174.zip gcc-18b0679f097a3656acf82ebbb7a703bd4c0bb174.tar.gz gcc-18b0679f097a3656acf82ebbb7a703bd4c0bb174.tar.bz2 |
re PR fortran/37411 (ICE (segfault) in trans-array.c)
2008-09-09 Daniel Kraft <d@domob.eu>
PR fortran/37411
* trans-array.c (gfc_conv_array_parameter): Added assertion that the
symbol has an array spec.
2008-09-09 Daniel Kraft <d@domob.eu>
PR fortran/37411
* gfortran.dg/array_function_4.f90: New test.
From-SVN: r140141
Diffstat (limited to 'gcc/fortran/trans-array.c')
-rw-r--r-- | gcc/fortran/trans-array.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c index e0ebbf0..1ab58e1 100644 --- a/gcc/fortran/trans-array.c +++ b/gcc/fortran/trans-array.c @@ -5155,6 +5155,9 @@ gfc_conv_array_parameter (gfc_se * se, gfc_expr * expr, gfc_ss * ss, int g77, && expr->ref->u.ar.type == AR_FULL); sym = full_array_var ? expr->symtree->n.sym : NULL; + /* The symbol should have an array specification. */ + gcc_assert (!sym || sym->as); + if (expr->expr_type == EXPR_ARRAY && expr->ts.type == BT_CHARACTER) { get_array_ctor_strlen (&se->pre, expr->value.constructor, &tmp); |