aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/module.c
diff options
context:
space:
mode:
authorJanus Weil <janus@gcc.gnu.org>2009-12-12 00:05:02 +0100
committerJanus Weil <janus@gcc.gnu.org>2009-12-12 00:05:02 +0100
commit44e3a58e929c753a67dc0bf4bc2543c0b5ead63a (patch)
tree476556bba7c033b2a5ac3140215facea534d7d29 /gcc/fortran/module.c
parent7780688fb8a9c07c662f975a19b463e1bd2cec7b (diff)
downloadgcc-44e3a58e929c753a67dc0bf4bc2543c0b5ead63a.zip
gcc-44e3a58e929c753a67dc0bf4bc2543c0b5ead63a.tar.gz
gcc-44e3a58e929c753a67dc0bf4bc2543c0b5ead63a.tar.bz2
re PR fortran/42257 ([OOP] Compiler segmentation fault due missing public statement)
gcc/fortran/ 2009-12-11 Janus Weil <janus@gcc.gnu.org> PR fortran/42257 * module.c (write_dt_extensions): Check for accessibility. gcc/testsuite/ 2009-12-11 Janus Weil <janus@gcc.gnu.org> PR fortran/42257 * gfortran.dg/extends_9.f03: New test. From-SVN: r155183
Diffstat (limited to 'gcc/fortran/module.c')
-rw-r--r--gcc/fortran/module.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/fortran/module.c b/gcc/fortran/module.c
index d732b66..81a2613 100644
--- a/gcc/fortran/module.c
+++ b/gcc/fortran/module.c
@@ -4670,6 +4670,10 @@ write_equiv (void)
static void
write_dt_extensions (gfc_symtree *st)
{
+ if (!gfc_check_access (st->n.sym->attr.access,
+ st->n.sym->ns->default_access))
+ return;
+
mio_lparen ();
mio_pool_string (&st->n.sym->name);
if (st->n.sym->module != NULL)