aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/class.c
diff options
context:
space:
mode:
authorJanus Weil <janus@gcc.gnu.org>2012-04-16 10:48:11 +0200
committerJanus Weil <janus@gcc.gnu.org>2012-04-16 10:48:11 +0200
commit42ff605a7b16220b75a640ff22a32f4acd62802e (patch)
tree3083b11e00bf483d83ea57adaa105d5bd6187e78 /gcc/fortran/class.c
parent56992a78837dbe2180e3d7a75a17289e2897a115 (diff)
downloadgcc-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.c5
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. */