diff options
author | Janus Weil <janus@gcc.gnu.org> | 2014-01-04 10:25:04 +0100 |
---|---|---|
committer | Janus Weil <janus@gcc.gnu.org> | 2014-01-04 10:25:04 +0100 |
commit | e8ed37508957f989a10b0d66dc0910ced0b2716b (patch) | |
tree | 40ab8b60e673b55602d3d38333834de622aa7408 /gcc/fortran/class.c | |
parent | 953ff780436f23f937537ea51fce120a305c81de (diff) | |
download | gcc-e8ed37508957f989a10b0d66dc0910ced0b2716b.zip gcc-e8ed37508957f989a10b0d66dc0910ced0b2716b.tar.gz gcc-e8ed37508957f989a10b0d66dc0910ced0b2716b.tar.bz2 |
re PR fortran/59547 ([OOP] Problem with using tbp specification function in multiple class procedures)
2014-01-04 Janus Weil <janus@gcc.gnu.org>
PR fortran/59547
* class.c (add_proc_comp): Copy pure attribute.
2014-01-04 Janus Weil <janus@gcc.gnu.org>
PR fortran/59547
* gfortran.dg/typebound_proc_32.f90: New.
From-SVN: r206331
Diffstat (limited to 'gcc/fortran/class.c')
-rw-r--r-- | gcc/fortran/class.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/fortran/class.c b/gcc/fortran/class.c index 47a3082..1b243f6 100644 --- a/gcc/fortran/class.c +++ b/gcc/fortran/class.c @@ -714,9 +714,11 @@ add_proc_comp (gfc_symbol *vtype, const char *name, gfc_typebound_proc *tb) if (tb->u.specific) { - c->ts.interface = tb->u.specific->n.sym; + gfc_symbol *ifc = tb->u.specific->n.sym; + c->ts.interface = ifc; if (!tb->deferred) c->initializer = gfc_get_variable_expr (tb->u.specific); + c->attr.pure = ifc->attr.pure; } } |