------- Comment #3 from burnus at gcc dot gnu dot org  2010-01-10 11:57 -------
The following "fixes" (or hides?) the problem:

- Using "IMPORT" instead of "USE mod1" in the delete_m interface
- Reversing the order of the interfaces (assignment <-> delete_m) in mod2

  * * *

Some debugging:  check_interface1 calls
        if (gfc_compare_interfaces (p->sym, q->sym, NULL, generic_flag, 0,
for p=assign_m, q=assign_to_atm - and it fails with:
"s2" being IFSRC_UNKNOWN (s2 is q and thus "assign_to_atm").


And Rev. 148519 (PR 36947) contains:
http://gcc.gnu.org/viewcvs/trunk/gcc/fortran/interface.c?r1=148519&r2=148518

-  if (s1->attr.if_source == IFSRC_UNKNOWN)
+  if (s1->attr.if_source == IFSRC_UNKNOWN
+      || s2->attr.if_source == IFSRC_UNKNOWN)
     return 1;


-- 

burnus at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|4.5 [Regression] Bogus      |[4.5 Regression] Bogus
                   |Error: Ambiguous interfaces |Error: Ambiguous interfaces
                   |'...' in intrinsic          |'...' in intrinsic
                   |assignment operator         |assignment operator


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

Reply via email to