diff options
author | Janus Weil <janus@gcc.gnu.org> | 2011-06-21 14:12:51 +0200 |
---|---|---|
committer | Janus Weil <janus@gcc.gnu.org> | 2011-06-21 14:12:51 +0200 |
commit | 95f5c7757f027c4c9afbb97a7a24be0cc9ad7841 (patch) | |
tree | 1e279092d6eaef6c4201ec9a6108a9696a0850d8 /gcc | |
parent | 55f01229f008b551dc407c0674657953b3adfb83 (diff) | |
download | gcc-95f5c7757f027c4c9afbb97a7a24be0cc9ad7841.zip gcc-95f5c7757f027c4c9afbb97a7a24be0cc9ad7841.tar.gz gcc-95f5c7757f027c4c9afbb97a7a24be0cc9ad7841.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/fortran/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/fortran/class.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/class_44.f03 | 15 |
4 files changed, 28 insertions, 2 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 2e73625..7d45cd4 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -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 diff --git a/gcc/fortran/class.c b/gcc/fortran/class.c index b99930a..572011f 100644 --- a/gcc/fortran/class.c +++ b/gcc/fortran/class.c @@ -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); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index a615950..1415426 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -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 diff --git a/gcc/testsuite/gfortran.dg/class_44.f03 b/gcc/testsuite/gfortran.dg/class_44.f03 new file mode 100644 index 0000000..f8e4004 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/class_44.f03 @@ -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 |