From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28118 invoked by alias); 20 Jan 2009 19:48:38 -0000 Received: (qmail 27813 invoked by uid 48); 20 Jan 2009 19:48:28 -0000 Date: Tue, 20 Jan 2009 19:48:00 -0000 Message-ID: <20090120194828.27812.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug fortran/38907] [4.3/4.4 Regression ] ICE when contained function has same name as module function and used in expression In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "mikael 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: 2009-01/txt/msg02227.txt.bz2 ------- Comment #7 from mikael at gcc dot gnu dot org 2009-01-20 19:48 ------- (In reply to comment #5) > > This removes the ICE: ... > > Do you understand why? > In the following: RDA(1,2) = + S_REAL_SUM_I(1.0,2.0) gfc_match_rvalue sets where for the rhs to the marked position below: RDA(1,2) = + S_REAL_SUM_I(1.0,2.0) ^ check_host_association (before Paul's patch) calls gfc_match_rvalue again starting at the e->where position (which is wrong). The match fails and there is no code to handle it as it is unexpected. With my patch where is set at the beginning of the function name, permitting proper match. This patch is needed I think, independently of Paul's one. For 4.5 if I don't forget about it. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38907