From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27003 invoked by alias); 31 Mar 2003 19:16:01 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 26983 invoked by uid 71); 31 Mar 2003 19:16:01 -0000 Resent-Date: 31 Mar 2003 19:16:01 -0000 Resent-Message-ID: <20030331191601.26982.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, janis187@us.ibm.com Received: (qmail 26754 invoked by uid 48); 31 Mar 2003 19:14:45 -0000 Message-Id: <20030331191445.26753.qmail@sources.redhat.com> Date: Mon, 31 Mar 2003 19:18:00 -0000 From: janis187@us.ibm.com Reply-To: janis187@us.ibm.com To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: debug/10281: [3.4 regression] ICE in dwarf2out.c compiling glibc X-SW-Source: 2003-03/txt/msg02137.txt.bz2 List-Id: >Number: 10281 >Category: debug >Synopsis: [3.4 regression] ICE in dwarf2out.c compiling glibc >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: ice-on-legal-code >Submitter-Id: net >Arrival-Date: Mon Mar 31 19:16:01 UTC 2003 >Closed-Date: >Last-Modified: >Originator: Janis Johnson >Release: gcc (GCC) 3.4 20030330 (experimental) >Organization: >Environment: i686-pc-linux-gnu, powerpc64-unknown-linux-gnu >Description: The mainline C compiler ICEs when building glibc from CVS sources using -g. I first noticed this with powerpc-unknown-linux-gnu, but the shorter test case also ICEs for i686-pc-linux-gnu. This does not affect the 3.3 or 3.2 branches. The test case can probably be minimized more, but I gave up at 59 lines. Output of the compiler is: vfprintf.c: In function `_IO_vfprintf': vfprintf.c:1919: internal compiler error: in loc_descriptor_from_tree, at dwarf2 out.c:8963 Please submit a full bug report, with preprocessed source if appropriate. See for instructions. A hunt for the patch that introduced the regression is in progress. >How-To-Repeat: Compile the test case with -g. >Fix: >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: text/plain; name="ice.c" Content-Disposition: inline; filename="ice.c" struct dummy_locale_data { const char *name; union dummy_locale_data_value { const char *string; unsigned int word; } values []; }; typedef struct dummy_locale_struct { struct dummy_locale_data *__locales[13]; } *dummy_locale_t; extern int dummy1; extern void *dummy2; int _IO_vfprintf (void *s, const char *format) { int done; const unsigned char *f; static const int jump_table[4]; { static const int step4_jumps[4]; char spec; int offset; void * ptr; spec = (*++f); offset = ((spec) < ' ' || (spec) > 'z') ? &&do_form_unknown - &&do_form_unknown : step4_jumps[(jump_table[(int) (spec) - ' '])]; ptr = &&do_form_unknown + offset; goto *ptr; do_form_unknown: done++; } { static const int step4_jumps[2] = { &&do2_form_unsigned - &&do_form_unknown, &&do2_form_unknown - &&do_form_unknown }; do2_form_unsigned: { char buf[(((unsigned int) (((dummy_locale_t) ({ dummy2; }))->__locales[0])->values[dummy1].word))]; } do2_form_unknown: done++; } return done; }