From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26176 invoked by alias); 28 Jan 2012 09:52:11 -0000 Received: (qmail 26159 invoked by uid 22791); 28 Jan 2012 09:52:11 -0000 X-SWARE-Spam-Status: No, hits=-2.9 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from localhost (HELO gcc.gnu.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sat, 28 Jan 2012 09:51:57 +0000 From: "burnus at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug fortran/52024] [OOP] GENERIC operator cannot be resolved Date: Sat, 28 Jan 2012 10:51:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: fortran X-Bugzilla-Keywords: rejects-valid X-Bugzilla-Severity: normal X-Bugzilla-Who: burnus at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 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: 2012-01/txt/msg03290.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52024 --- Comment #3 from Tobias Burnus 2012-01-28 09:51:55 UTC --- (In reply to comment #2) > While for GENERIC, one calls in resolve.c's check_generic_tbp_ambiguity: > if (gfc_compare_interfaces (sym1, sym2, sym2->name, 1, 0, NULL, 0)) > > The INTERFACE is checked via interface.c's "gfc_check_interfaces (gfc_namespace > *ns)", which calls "check_interface1" for the actual check. The latter uses: && gfc_compare_interfaces (p->sym, q->sym, q->sym->name, generic_flag, 0, NULL, 0)) while it looks the same, it turns out that "generic_flag" is 0. If one uses "0" also for the GENERIC version, everything works as expected (i.e. no error for this version, an error if one swaps the dummy argument order). The question is only: What does that "generic_flag" actually do?