From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19325 invoked by alias); 22 Aug 2010 11:02:42 -0000 Received: (qmail 17852 invoked by uid 48); 22 Aug 2010 11:02:24 -0000 Date: Sun, 22 Aug 2010 11:02:00 -0000 Message-ID: <20100822110224.17851.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug fortran/45366] Problem with abstract interface to PURE function 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-08/txt/msg01799.txt.bz2 ------- Comment #2 from burnus at gcc dot gnu dot org 2010-08-22 11:02 ------- Note: The ABSTRACT, the INTERFACE (vs. host-association), and the use-association of i_f do not seem to play a role. In particular for p: sym->attr.pure == 0 sym->attr.proc_pointer == 1 sym->ts.interface->attr.pure == 1 The problems seems to be that resolve_symbol is called later than the resolve_formal_arglist check for pureness, i.e. one first checks whether "p" is pure before one copies the attr.pure from ts.interface->attr.pure - which explains the failure. I leave the fixing to Janus. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45366