From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13913 invoked by alias); 10 Jan 2010 11:57:49 -0000 Received: (qmail 13812 invoked by uid 48); 10 Jan 2010 11:57:38 -0000 Date: Sun, 10 Jan 2010 11:57:00 -0000 Message-ID: <20100110115738.13811.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug fortran/42677] [4.5 Regression] Bogus Error: Ambiguous interfaces '...' in intrinsic assignment operator In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "burnus at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2010-01/txt/msg01124.txt.bz2 ------- 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