diff options
author | Janus Weil <janus@gcc.gnu.org> | 2012-04-16 10:48:11 +0200 |
---|---|---|
committer | Janus Weil <janus@gcc.gnu.org> | 2012-04-16 10:48:11 +0200 |
commit | 42ff605a7b16220b75a640ff22a32f4acd62802e (patch) | |
tree | 3083b11e00bf483d83ea57adaa105d5bd6187e78 /gcc/fortran/class.c | |
parent | 56992a78837dbe2180e3d7a75a17289e2897a115 (diff) | |
download | gcc-42ff605a7b16220b75a640ff22a32f4acd62802e.zip gcc-42ff605a7b16220b75a640ff22a32f4acd62802e.tar.gz gcc-42ff605a7b16220b75a640ff22a32f4acd62802e.tar.bz2 |
re PR fortran/52968 ([OOP] Call to type-bound procedure wrongly rejected)
2012-04-16 Janus Weil <janus@gcc.gnu.org>
PR fortran/52968
* class.c (gfc_build_class_symbol): Make sure the 'f2k_derived'
namespace is present.
2012-04-16 Janus Weil <janus@gcc.gnu.org>
PR fortran/52968
* gfortran.dg/typebound_call_23.f03: New test case.
From-SVN: r186486
Diffstat (limited to 'gcc/fortran/class.c')
-rw-r--r-- | gcc/fortran/class.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/gcc/fortran/class.c b/gcc/fortran/class.c index a275136..c71aa4a 100644 --- a/gcc/fortran/class.c +++ b/gcc/fortran/class.c @@ -541,8 +541,7 @@ gfc_build_class_symbol (gfc_typespec *ts, symbol_attribute *attr, fclass->refs++; fclass->ts.type = BT_UNKNOWN; fclass->attr.abstract = ts->u.derived->attr.abstract; - if (ts->u.derived->f2k_derived) - fclass->f2k_derived = gfc_get_namespace (NULL, 0); + fclass->f2k_derived = gfc_get_namespace (NULL, 0); if (gfc_add_flavor (&fclass->attr, FL_DERIVED, NULL, &gfc_current_locus) == FAILURE) return FAILURE; @@ -579,8 +578,6 @@ gfc_build_class_symbol (gfc_typespec *ts, symbol_attribute *attr, c->attr.access = ACCESS_PRIVATE; c->attr.pointer = 1; } - else if (!fclass->f2k_derived) - fclass->f2k_derived = gfc_get_namespace (NULL, 0); /* Since the extension field is 8 bit wide, we can only have up to 255 extension levels. */ |