------- Comment #7 from janus at gcc dot gnu dot org 2010-01-14 21:35 ------- (In reply to comment #2) > I would guess it is due to PR 36947.
Yes, I think this is correct. r148519, to be precise. The following patch fixes it: Index: interface.c =================================================================== --- interface.c (revision 155865) +++ interface.c (working copy) @@ -986,8 +986,7 @@ gfc_compare_interfaces (gfc_symbol *s1, gfc_symbol } } - if (s1->attr.if_source == IFSRC_UNKNOWN - || s2->attr.if_source == IFSRC_UNKNOWN) + if (s1->attr.if_source == IFSRC_UNKNOWN) return 1; f1 = s1->formal; I haven't checked this for regressions. Also I'm not sure if there might be a more appropriate way to fix it. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42677