aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/module.c
diff options
context:
space:
mode:
authorJanus Weil <janus@gcc.gnu.org>2009-07-13 15:41:37 +0200
committerJanus Weil <janus@gcc.gnu.org>2009-07-13 15:41:37 +0200
commitacbdc378b68627af9126064e556981989cff13c3 (patch)
tree5a7bba20ef265a3d6d5893b9a44c4302063875a2 /gcc/fortran/module.c
parentae525aa88f6af6131501a6171e3ee62e6b981b51 (diff)
downloadgcc-acbdc378b68627af9126064e556981989cff13c3.zip
gcc-acbdc378b68627af9126064e556981989cff13c3.tar.gz
gcc-acbdc378b68627af9126064e556981989cff13c3.tar.bz2
re PR fortran/40646 ([F03] array-valued procedure pointer components)
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. From-SVN: r149586
Diffstat (limited to 'gcc/fortran/module.c')
-rw-r--r--gcc/fortran/module.c13
1 files changed, 1 insertions, 12 deletions
diff --git a/gcc/fortran/module.c b/gcc/fortran/module.c
index 7e6e8ff..aa08c2c 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);