re PR fortran/83864 (ICE in gfc_apply_init, at fortran/expr.c:4271)

2018-01-17  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/83864
	* expr.c (add_init_expr_to_sym): Do not dereference NULL pointer.

2018-01-17  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/83864
	* gfortran.dg/pr83864.f90: New test.

From-SVN: r256837
This commit is contained in:
Harald Anlauf 2018-01-18 07:54:17 +00:00 committed by Steven G. Kargl
parent 3c1f3bf69d
commit fcf7923742
4 changed files with 24 additions and 1 deletions

View file

@ -1,3 +1,8 @@
2018-01-17 Harald Anlauf <anlauf@gmx.de>
PR fortran/83864
* expr.c (add_init_expr_to_sym): Do not dereference NULL pointer.
2018-01-17 Harald Anlauf <anlauf@gmx.de>
PR fortran/83874

View file

@ -4267,7 +4267,7 @@ gfc_apply_init (gfc_typespec *ts, symbol_attribute *attr, gfc_expr *init)
gfc_set_constant_character_len (len, init, -1);
else if (init
&& init->ts.type == BT_CHARACTER
&& init->ts.u.cl
&& init->ts.u.cl && init->ts.u.cl->length
&& mpz_cmp (ts->u.cl->length->value.integer,
init->ts.u.cl->length->value.integer))
{

View file

@ -1,3 +1,8 @@
2018-01-17 Harald Anlauf <anlauf@gmx.de>
PR fortran/83864
* gfortran.dg/pr83864.f90: New test.
2018-01-17 Jeff Law <law@redhat.com>
PR testsuite/83883

View file

@ -0,0 +1,13 @@
! { dg-do run }
! PR fortran/83864
!
! Derived from PR by Contributed by Gerhard Steinmetz <gscfq@t-online.de>
!
program p
implicit none
type t
character :: c(3) = transfer('abc','z',3)
end type t
type(t) :: x
if (any (x%c /= ["a", "b", "c"])) call abort ()
end