aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/symbol.c
diff options
context:
space:
mode:
authorDaniel Kraft <d@domob.eu>2009-12-08 12:39:20 +0100
committerDaniel Kraft <domob@gcc.gnu.org>2009-12-08 12:39:20 +0100
commit41a394bbf8d47ae58aad6b9068cd6f0f27cc2f2f (patch)
tree97e379b084f6fe3298f9879b4b2d00a044c7693f /gcc/fortran/symbol.c
parent72d099cb27a5fedea22e2d69ce8d03e71120fddc (diff)
downloadgcc-41a394bbf8d47ae58aad6b9068cd6f0f27cc2f2f.zip
gcc-41a394bbf8d47ae58aad6b9068cd6f0f27cc2f2f.tar.gz
gcc-41a394bbf8d47ae58aad6b9068cd6f0f27cc2f2f.tar.bz2
re PR fortran/41177 (Wrong base-object checks for type-bound procedures)
2008-12-08 Daniel Kraft <d@domob.eu> PR fortran/41177 * gfortran.dg/typebound_proc_4.f03: Remove check for wrong error. * gfortran.dg/typebound_proc_13.f03: New test. 2008-12-08 Daniel Kraft <d@domob.eu> PR fortran/41177 * gfortran.h (struct symbol_attribute): New flag `class_pointer'. * symbol.c (gfc_build_class_symbol): Set the new flag. * resolve.c (update_compcall_arglist): Remove wrong check for non-scalar base-object. (check_typebound_baseobject): Add the correct version here as well as some 'not implemented' message check in the old case. (resolve_typebound_procedure): Check that the passed-object dummy argument is scalar, non-pointer and non-allocatable as it should be. From-SVN: r155086
Diffstat (limited to 'gcc/fortran/symbol.c')
-rw-r--r--gcc/fortran/symbol.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/fortran/symbol.c b/gcc/fortran/symbol.c
index 6dd0a8a..08477c4 100644
--- a/gcc/fortran/symbol.c
+++ b/gcc/fortran/symbol.c
@@ -4681,6 +4681,7 @@ gfc_build_class_symbol (gfc_typespec *ts, symbol_attribute *attr,
c->ts.type = BT_DERIVED;
c->attr.access = ACCESS_PRIVATE;
c->ts.u.derived = ts->u.derived;
+ c->attr.class_pointer = attr->pointer;
c->attr.pointer = attr->pointer || attr->dummy;
c->attr.allocatable = attr->allocatable;
c->attr.dimension = attr->dimension;