------- 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