http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59547

--- Comment #3 from janus at gcc dot gnu.org ---
The following should be sufficient (regtesting now):


Index: gcc/fortran/class.c
===================================================================
--- gcc/fortran/class.c    (revision 206083)
+++ gcc/fortran/class.c    (working copy)
@@ -721,9 +721,11 @@ add_proc_comp (gfc_symbol *vtype, const char *name

   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;
     }
 }

Reply via email to