re PR fortran/49112 ([OOP] Missing type-bound procedure, "duplicate save" warnings and internal compiler error)

2011-06-21  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/49112
	* class.c (gfc_find_derived_vtab): Make vtab and default initialization
	symbols SAVE_IMPLICIT.

2011-06-21  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/49112
	* gfortran.dg/class_44.f03: New.

From-SVN: r175257
This commit is contained in:
Janus Weil 2011-06-21 14:12:51 +02:00
parent 55f01229f0
commit 95f5c7757f
4 changed files with 28 additions and 2 deletions

View file

@ -1,3 +1,9 @@
2011-06-21 Janus Weil <janus@gcc.gnu.org>
PR fortran/49112
* class.c (gfc_find_derived_vtab): Make vtab and default initialization
symbols SAVE_IMPLICIT.
2011-06-20 Tobias Burnus <burnus@net-b.de>
PR fortran/18918

View file

@ -428,7 +428,7 @@ gfc_find_derived_vtab (gfc_symbol *derived)
&gfc_current_locus) == FAILURE)
goto cleanup;
vtab->attr.target = 1;
vtab->attr.save = SAVE_EXPLICIT;
vtab->attr.save = SAVE_IMPLICIT;
vtab->attr.vtab = 1;
vtab->attr.access = ACCESS_PUBLIC;
gfc_set_sym_referenced (vtab);
@ -516,7 +516,7 @@ gfc_find_derived_vtab (gfc_symbol *derived)
sprintf (name, "__def_init_%s", tname);
gfc_get_symbol (name, ns, &def_init);
def_init->attr.target = 1;
def_init->attr.save = SAVE_EXPLICIT;
def_init->attr.save = SAVE_IMPLICIT;
def_init->attr.access = ACCESS_PUBLIC;
def_init->attr.flavor = FL_VARIABLE;
gfc_set_sym_referenced (def_init);

View file

@ -1,3 +1,8 @@
2011-06-21 Janus Weil <janus@gcc.gnu.org>
PR fortran/49112
* gfortran.dg/class_44.f03: New.
2011-06-21 Ira Rosen <ira.rosen@linaro.org>
PR tree-optimization/49478

View file

@ -0,0 +1,15 @@
! { dg-do compile }
!
! PR 49112: [4.6/4.7 Regression] [OOP] Missing type-bound procedure, "duplicate save" warnings and internal compiler error
!
! Contributed by John <jwmwalrus@gmail.com>
implicit none
save
type :: DateTime
end type
class(DateTime), allocatable :: dt
end