From 0735a1c8cf2fe23ade2f98e5dbaf1781f597471d Mon Sep 17 00:00:00 2001 From: "Steven G. Kargl" Date: Mon, 15 May 2017 19:34:52 +0000 Subject: re PR fortran/80752 (ICE with wrong type initialization) 2017-05-15 Steven G. Kargl PR fortran/80752 * expr.c (gfc_generate_initializer): If type conversion fails, check for error and return NULL. 2017-05-15 Steven G. Kargl PR fortran/80752 gfortran.dg/pr80752.f90: New test. From-SVN: r248072 --- gcc/fortran/expr.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'gcc/fortran/expr.c') diff --git a/gcc/fortran/expr.c b/gcc/fortran/expr.c index c8be951..c7d3e54 100644 --- a/gcc/fortran/expr.c +++ b/gcc/fortran/expr.c @@ -4395,7 +4395,12 @@ gfc_generate_initializer (gfc_typespec *ts, bool generate) if ((comp->ts.type != tmp->ts.type || comp->ts.kind != tmp->ts.kind) && !comp->attr.pointer && !comp->attr.proc_pointer) - gfc_convert_type_warn (ctor->expr, &comp->ts, 2, false); + { + bool val; + val = gfc_convert_type_warn (ctor->expr, &comp->ts, 1, false); + if (val == false) + return NULL; + } } if (comp->attr.allocatable -- cgit v1.1