From 36f972b713ddf335067475c954d2bed3173ceba9 Mon Sep 17 00:00:00 2001 From: "Steven G. Kargl" Date: Sun, 9 Dec 2018 01:02:41 +0000 Subject: re PR fortran/88025 (ICE in gfc_apply_init, at fortran/expr.c:4468) 2018-12-08 Steven G. Kargl PR fortran/88025 * expr.c (gfc_apply_init): Remove asserts that cannot trigger. Check for a NULL pointer. 2018-12-08 Steven G. Kargl PR fortran/88025 * gfortran.dg/pr88025.f90: New test. From-SVN: r266913 --- gcc/fortran/expr.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'gcc/fortran/expr.c') diff --git a/gcc/fortran/expr.c b/gcc/fortran/expr.c index 388fdda..6cea5b0 100644 --- a/gcc/fortran/expr.c +++ b/gcc/fortran/expr.c @@ -4485,12 +4485,10 @@ gfc_apply_init (gfc_typespec *ts, symbol_attribute *attr, gfc_expr *init) { if (ts->type == BT_CHARACTER && !attr->pointer && init && ts->u.cl - && ts->u.cl->length && ts->u.cl->length->expr_type == EXPR_CONSTANT) + && ts->u.cl->length + && ts->u.cl->length->expr_type == EXPR_CONSTANT + && ts->u.cl->length->ts.type == BT_INTEGER) { - gcc_assert (ts->u.cl && ts->u.cl->length); - gcc_assert (ts->u.cl->length->expr_type == EXPR_CONSTANT); - gcc_assert (ts->u.cl->length->ts.type == BT_INTEGER); - HOST_WIDE_INT len = gfc_mpz_get_hwi (ts->u.cl->length->value.integer); if (init->expr_type == EXPR_CONSTANT) -- cgit v1.1