From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15426 invoked by alias); 22 Jan 2007 23:54:33 -0000 Received: (qmail 15077 invoked by uid 48); 22 Jan 2007 23:54:20 -0000 Date: Mon, 22 Jan 2007 23:54:00 -0000 Message-ID: <20070122235420.15076.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug fortran/30319] internal error in gfc_resolve_expr() for character parameter In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "fxcoudert 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: 2007-01/txt/msg01885.txt.bz2 ------- Comment #3 from fxcoudert at gcc dot gnu dot org 2007-01-22 23:54 ------- The code that triggers the ICE enters gfc_resolve with gfc_current_ns->cl_list->length that is: $12 = {expr_type = 0, ts = {type = BT_UNKNOWN, kind = 0, derived = 0x0, cl = 0x0}, rank = 0, shape = 0x0, symtree = 0x0, ref = 0x0, where = { nextc = 0x0, lb = 0x0}, from_H = 0, inline_noncopying_intrinsic = 0, con_by_offset = 0x0, value = {logical = 0, integer = {{_mp_alloc = 0, _mp_size = 0, _mp_d = 0x0}}, real = {{_mpfr_prec = 0, _mpfr_sign = 0, _mpfr_exp = 0, _mpfr_d = 0x0}}, complex = {r = {{_mpfr_prec = 0, _mpfr_sign = 0, _mpfr_exp = 0, _mpfr_d = 0x0}}, i = {{ _mpfr_prec = 0, _mpfr_sign = 0, _mpfr_exp = 0, _mpfr_d = 0x0}}}, op = {operator = GFC_INTRINSIC_BEGIN, uop = 0x0, op1 = 0x0, op2 = 0x0}, function = {actual = 0x0, name = 0x0, isym = 0x0, esym = 0x0}, character = {length = 0, string = 0x0}, constructor = 0x0}} while for the working code (separated on two different lines), it is: $9 = {expr_type = EXPR_CONSTANT, ts = {type = BT_INTEGER, kind = 4, derived = 0x0, cl = 0x0}, rank = 0, shape = 0x0, symtree = 0x0, ref = 0x0, where = {nextc = 0x87ef431 "1), parameter :: bb(1) = (/ aa /)", lb = 0x87ef410}, from_H = 0, inline_noncopying_intrinsic = 0, con_by_offset = 0x0, value = {logical = 2, integer = {{_mp_alloc = 2, _mp_size = 1, _mp_d = 0x880d358}}, real = {{_mpfr_prec = 2, _mpfr_sign = 1, _mpfr_exp = 142660440, _mpfr_d = 0x0}}, complex = { r = {{_mpfr_prec = 2, _mpfr_sign = 1, _mpfr_exp = 142660440, _mpfr_d = 0x0}}, i = {{_mpfr_prec = 0, _mpfr_sign = 0, _mpfr_exp = 0, _mpfr_d = 0x0}}}, op = {operator = INTRINSIC_PLUS, uop = 0x1, op1 = 0x880d358, op2 = 0x0}, function = {actual = 0x2, name = 0x1
, isym = 0x880d358, esym = 0x0}, character = {length = 2, string = 0x1
}, constructor = 0x2}} I think Paul T. worked on something similar, something like a year ago. We used to fail on these multiple declarations per line already. -- fxcoudert at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |paulthomas2 at wanadoo dot | |fr Last reconfirmed|2006-12-28 19:19:40 |2007-01-22 23:54:20 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30319