From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14590 invoked by alias); 7 Jun 2008 21:02:21 -0000 Received: (qmail 14490 invoked by uid 48); 7 Jun 2008 21:01:38 -0000 Date: Sat, 07 Jun 2008 21:02:00 -0000 Message-ID: <20080607210138.14489.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug fortran/36459] Wrong interface use for PROCEDURE( Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "janus 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: 2008-06/txt/msg00424.txt.bz2 ------- Comment #2 from janus at gcc dot gnu dot org 2008-06-07 21:01 ------- This patch fixes both of the test cases in comment #0 and comment#1: Index: gcc/fortran/decl.c =================================================================== --- gcc/fortran/decl.c (revision 136533) +++ gcc/fortran/decl.c (working copy) @@ -4085,8 +4085,10 @@ match_procedure_decl (void) return MATCH_ERROR; } /* Handle intrinsic procedures. */ - if (gfc_intrinsic_name (proc_if->name, 0) - || gfc_intrinsic_name (proc_if->name, 1)) + if (!(proc_if->attr.external || proc_if->attr.use_assoc + || proc_if->attr.if_source == IFSRC_IFBODY) + && (gfc_intrinsic_name (proc_if->name, 0) + || gfc_intrinsic_name (proc_if->name, 1))) proc_if->attr.intrinsic = 1; if (proc_if->attr.intrinsic && !gfc_intrinsic_actual_ok (proc_if->name, 0)) This is the same check that's done in resolve.c (resolve_actual_arglist) for dummy procedures. -- janus at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at gcc dot gnu |janus at gcc dot gnu dot org |dot org | Status|NEW |ASSIGNED Last reconfirmed|2008-06-07 20:15:13 |2008-06-07 21:01:38 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36459