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