diff options
author | janus <janus@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-07-13 13:41:37 +0000 |
---|---|---|
committer | janus <janus@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-07-13 13:41:37 +0000 |
commit | 452a374337164f940ddae97b6e8632bf34475e7f (patch) | |
tree | 5a7bba20ef265a3d6d5893b9a44c4302063875a2 /gcc/fortran/module.c | |
parent | 504b51e7b185179f4f08601f711e37d4c237be8c (diff) | |
download | gcc-452a374337164f940ddae97b6e8632bf34475e7f.tar.gz |
2009-07-13 Janus Weil <janus@gcc.gnu.org>
PR fortran/40646
* module.c (mio_symbol): If the symbol has formal arguments,
the formal namespace will be present.
* resolve.c (resolve_actual_arglist): Correctly handle 'called'
procedure pointer components as actual arguments.
(resolve_fl_derived,resolve_symbol): Make sure the formal namespace
is present.
* trans-expr.c (gfc_conv_procedure_call): Correctly handle the formal
arguments of procedure pointer components.
2009-07-13 Janus Weil <janus@gcc.gnu.org>
PR fortran/40646
* gfortran.dg/proc_ptr_22.f90: Extended.
* gfortran.dg/proc_ptr_comp_12.f90: Extended.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149586 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/module.c')
-rw-r--r-- | gcc/fortran/module.c | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/gcc/fortran/module.c b/gcc/fortran/module.c index 7e6e8ff93c4..aa08c2c67b6 100644 --- a/gcc/fortran/module.c +++ b/gcc/fortran/module.c @@ -3439,19 +3439,8 @@ mio_symbol (gfc_symbol *sym) mio_symbol_attribute (&sym->attr); mio_typespec (&sym->ts); - /* Contained procedures don't have formal namespaces. Instead we output the - procedure namespace. The will contain the formal arguments. */ if (iomode == IO_OUTPUT) - { - formal = sym->formal; - while (formal && !formal->sym) - formal = formal->next; - - if (formal) - mio_namespace_ref (&formal->sym->ns); - else - mio_namespace_ref (&sym->formal_ns); - } + mio_namespace_ref (&sym->formal_ns); else { mio_namespace_ref (&sym->formal_ns); |