http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46196

--- Comment #9 from janus at gcc dot gnu.org 2010-10-30 09:33:12 UTC ---
(In reply to comment #8)
> I have successfully regtested the following patch

Thanks.

> I also noticed that the 
> fix for pr46067 use the asymmetry of gfc_compare_interfaces!-)

Right.



> --- ../_clean/gcc/fortran/interface.c    2010-10-27 23:47:20.000000000 +0200
> +++ gcc/fortran/interface.c    2010-10-29 10:55:07.000000000 +0200
> @@ -445,16 +445,16 @@ gfc_compare_derived_types (gfc_symbol *d
>        /* Make sure that link lists do not put this function into an 
>      endless recursive loop!  */
>        if (!(dt1->ts.type == BT_DERIVED && derived1 == dt1->ts.u.derived)
> -        && !(dt1->ts.type == BT_DERIVED && derived1 == dt1->ts.u.derived)
> +        && !(dt2->ts.type == BT_DERIVED && derived2 == dt2->ts.u.derived)
>         && gfc_compare_types (&dt1->ts, &dt2->ts) == 0)
>     return 0;
> 
>        else if ((dt1->ts.type == BT_DERIVED && derived1 == dt1->ts.u.derived)
> -        && !(dt1->ts.type == BT_DERIVED && derived1 == dt1->ts.u.derived))
> +        && !(dt2->ts.type == BT_DERIVED && derived2 == dt2->ts.u.derived))
>     return 0;
> 
>        else if (!(dt1->ts.type == BT_DERIVED && derived1 == dt1->ts.u.derived)
> -        && (dt1->ts.type == BT_DERIVED && derived1 == dt1->ts.u.derived))
> +        && (dt2->ts.type == BT_DERIVED && derived2 == dt2->ts.u.derived))
>     return 0;


Can we find any test case which is sensitive to this change?



> This has disturbed my bug collection for the following tests:

AFAICS all of the error messages are correct. Thanks for checking.

Reply via email to