------- Comment #5 from mikael at gcc dot gnu dot org 2010-08-01 12:52 -------
(In reply to comment #3)
> Many of these failures are actually due to 'gfc_copy_formal_args' and can be
> fixed with:
[...]
>
>
Agreed. The patch I was about to post had also this extra hunk :
Index: symbol.c
===================================================================
--- symbol.c (revision 162798)
+++ symbol.c (working copy)
@@ -4141,6 +4141,10 @@ gfc_copy_formal_args_ppc (gfc_component *dest, gfc
/* Save current namespace so we can change it for formal args. */
gfc_namespace *parent_ns = gfc_current_ns;
+ /* Make sure gfc_commit_symbols at the end doesn't commit something
+ unrelated. */
+ gcc_assert (changed_syms == NULL);
+
/* Create a new namespace, which will be the formal ns (namespace
of the formal args). */
gfc_current_ns = gfc_get_namespace (parent_ns, 0);
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45151