aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-array.c
diff options
context:
space:
mode:
authorDaniel Kraft <d@domob.eu>2008-09-09 11:46:51 +0200
committerDaniel Kraft <domob@gcc.gnu.org>2008-09-09 11:46:51 +0200
commit18b0679f097a3656acf82ebbb7a703bd4c0bb174 (patch)
tree2b9a7ba6b71745cdb5c9c70e23900e112a694825 /gcc/fortran/trans-array.c
parent108faf872d022a1b6d965bc18543edbf4d21de57 (diff)
downloadgcc-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.c3
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);