re PR fortran/67616 (ICE on data initialization of type variable in block)

2015-10-01  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/67616
	* primary.c (gfc_match_structure_constructor): Use a possibly
	host-associated symtree to prevent ICE.

2015-10-01  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/67616
	* gfortran.dg/pr67616.f90: New test.

From-SVN: r228363
This commit is contained in:
Steven G. Kargl 2015-10-02 00:45:59 +00:00
parent 88a2711ce9
commit b64c3d0696
4 changed files with 25 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2015-10-01 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/67616
* primary.c (gfc_match_structure_constructor): Use a possibly
host-associated symtree to prevent ICE.
2015-09-28 Paul Thomas <pault@gcc.gnu.org>
PR fortran/40054

View File

@ -2697,7 +2697,7 @@ gfc_match_structure_constructor (gfc_symbol *sym, gfc_expr **result)
gfc_expr *e;
gfc_symtree *symtree;
gfc_get_sym_tree (sym->name, NULL, &symtree, false); /* Can't fail */
gfc_get_ha_sym_tree (sym->name, &symtree);
e = gfc_get_expr ();
e->symtree = symtree;

View File

@ -1,3 +1,8 @@
2015-10-01 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/67616
* gfortran.dg/pr67616.f90: New test.
2015-10-01 Ville Voutilainen <ville.voutilainen@gmail.com>
PR c++/54430

View File

@ -0,0 +1,13 @@
! { dg-do compile }
! PR fortran/67616
! Original code contributed by Gerhard Steinmetz
program p
type t
end type
type(t) :: y
data y /t()/
block
type(t) :: x
data x /t()/ ! Prior to patch, this would ICE.
end block
end