public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* debug/10281: [3.4 regression] ICE in dwarf2out.c compiling glibc
@ 2003-03-31 19:18 janis187
0 siblings, 0 replies; only message in thread
From: janis187 @ 2003-03-31 19:18 UTC (permalink / raw)
To: gcc-gnats
>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 <URL:http://gcc.gnu.org/bugs.html> 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;
}
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2003-03-31 19:16 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-03-31 19:18 debug/10281: [3.4 regression] ICE in dwarf2out.c compiling glibc janis187
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).