From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15217 invoked by alias); 23 Apr 2009 12:24:28 -0000 Received: (qmail 15184 invoked by uid 48); 23 Apr 2009 12:24:16 -0000 Date: Thu, 23 Apr 2009 12:24:00 -0000 Message-ID: <20090423122416.15183.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug fortran/39861] [4.5 Regression] ICE with INTRINSIC in module: write_symbol(): bad module symbol In-Reply-To: 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: 2009-04/txt/msg02127.txt.bz2 ------- Comment #3 from janus at gcc dot gnu dot org 2009-04-23 12:24 ------- > > write_symbol(): bad module symbol 'x' > > Where does the symbol 'x' come from? The 'x' here apparently is the formal argument of the sqrt() function! I think Dominique was right in suspecting my r146554, which had the effect that formal arguments from intrinsic functions are now not only kept in the isym, but are also copied to the gfc_symbol of the intrinsic function (see 'resolve_intrinsic'). The problem seems to be that for those formal args copied from isym the flavor is not set: if (sym->attr.flavor == FL_UNKNOWN || sym->attr.flavor == FL_LABEL) gfc_internal_error ("write_symbol(): bad module symbol '%s'", sym->name); I will take care of this soon. Thanks for the report. -- 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|2009-04-23 09:30:47 |2009-04-23 12:24:16 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39861