aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/module.c
diff options
context:
space:
mode:
authorJanus Weil <janus@gcc.gnu.org>2011-05-20 20:05:26 +0200
committerJanus Weil <janus@gcc.gnu.org>2011-05-20 20:05:26 +0200
commit54381af7343506f3be32c51921faae1045fc5574 (patch)
treedb4f9bd4f2eab6673b597bf99d85f53e1a45dbf4 /gcc/fortran/module.c
parent94df301fa033641561145d44ed48cf4c85d43a2c (diff)
downloadgcc-54381af7343506f3be32c51921faae1045fc5574.zip
gcc-54381af7343506f3be32c51921faae1045fc5574.tar.gz
gcc-54381af7343506f3be32c51921faae1045fc5574.tar.bz2
re PR fortran/48706 (Type extension inside subroutine)
2011-05-20 Janus Weil <janus@gcc.gnu.org> PR fortran/48706 * module.c (write_dt_extensions): Do not write extended types which are local to a subroutine. 2011-05-20 Janus Weil <janus@gcc.gnu.org> PR fortran/48706 * gfortran.dg/extends_12.f03: New. From-SVN: r173966
Diffstat (limited to 'gcc/fortran/module.c')
-rw-r--r--gcc/fortran/module.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/fortran/module.c b/gcc/fortran/module.c
index fb8de0e..b6acca3 100644
--- a/gcc/fortran/module.c
+++ b/gcc/fortran/module.c
@@ -4817,6 +4817,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);