aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.6/gcc/fortran/module.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.6/gcc/fortran/module.c')
-rw-r--r--gcc-4.6/gcc/fortran/module.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc-4.6/gcc/fortran/module.c b/gcc-4.6/gcc/fortran/module.c
index 7892979..5fdf091 100644
--- a/gcc-4.6/gcc/fortran/module.c
+++ b/gcc-4.6/gcc/fortran/module.c
@@ -3597,6 +3597,8 @@ mio_symbol (gfc_symbol *sym)
mio_symbol_attribute (&sym->attr);
mio_typespec (&sym->ts);
+ if (sym->ts.type == BT_CLASS)
+ sym->attr.class_ok = 1;
if (iomode == IO_OUTPUT)
mio_namespace_ref (&sym->formal_ns);
@@ -4810,6 +4812,9 @@ write_dt_extensions (gfc_symtree *st)
{
if (!gfc_check_symbol_access (st->n.sym))
return;
+ if (!(st->n.sym->ns && st->n.sym->ns->proc_name
+ && st->n.sym->ns->proc_name->attr.flavor == FL_MODULE))
+ return;
mio_lparen ();
mio_pool_string (&st->n.sym->name);