mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-10 01:00:56 +08:00
re PR fortran/37926 (Program gives wrong output (connected to char len))
2008-11-16 Paul Thomas <pault@gcc.gnu.org> PR fortran/37926 * trans-expr.c (gfc_free_interface_mapping): Null sym->formal (gfc_add_interface_mapping): Copy the pointer to the formal arglist, rather than using copy_formal_args. From-SVN: r141914
This commit is contained in:
parent
e66e5d9e40
commit
b800fd64b5
@ -1,3 +1,10 @@
|
||||
2008-11-16 Paul Thomas <pault@gcc.gnu.org>
|
||||
|
||||
PR fortran/37926
|
||||
* trans-expr.c (gfc_free_interface_mapping): Null sym->formal
|
||||
(gfc_add_interface_mapping): Copy the pointer to the formal
|
||||
arglist, rather than using copy_formal_args - fixes regression.
|
||||
|
||||
2008-11-15 Paul Thomas <pault@gcc.gnu.org>
|
||||
|
||||
PR fortran/37926
|
||||
|
@ -1583,6 +1583,7 @@ gfc_free_interface_mapping (gfc_interface_mapping * mapping)
|
||||
for (sym = mapping->syms; sym; sym = nextsym)
|
||||
{
|
||||
nextsym = sym->next;
|
||||
sym->new_sym->n.sym->formal = NULL;
|
||||
gfc_free_symbol (sym->new_sym->n.sym);
|
||||
gfc_free_expr (sym->expr);
|
||||
gfc_free (sym->new_sym);
|
||||
@ -1715,7 +1716,7 @@ gfc_add_interface_mapping (gfc_interface_mapping * mapping,
|
||||
descriptors are passed for array actual arguments. */
|
||||
if (sym->attr.flavor == FL_PROCEDURE)
|
||||
{
|
||||
copy_formal_args (new_sym, expr->symtree->n.sym);
|
||||
new_sym->formal = expr->symtree->n.sym->formal;
|
||||
new_sym->attr.always_explicit
|
||||
= expr->symtree->n.sym->attr.always_explicit;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user