This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Horrible ICE on alpha but not alphaev56
- To: gcc-patches at gcc dot gnu dot org
- Subject: Horrible ICE on alpha but not alphaev56
- From: Alexandre Oliva <oliva at lsd dot ic dot unicamp dot br>
- Date: 01 Nov 1999 03:14:29 -0200
The following testcase, that I'm installing in gcc.dg, causes an
abort() within extract_bit_field(), when it calls int_mode_for_mode
with a VOIDmode. I find it weird that expand_ref is using
extract_bit_field to expand the ARRAY_REF, but it seems that it ends
up using it because direct_load[QImode] is not available on plain
alpha (i.e., not alphaev*). Shouldn't it fallback to DImode to avoid
having to use bitfields? (If you haven't noticed, I'm totally
unfamiliar with the code in exp*.c, so I may be making no sense at all
:-) Here's the testcase:
/* Simplified from ncurses 5.0's pad.c
by Alexandre Oliva <oliva@lsd.ic.unicamp.br>
Copyright (C) 1999 Free Software Foundation */
/* { dg-do compile { xfail alpha-*-* } } */
extern char foo[1];
char foo[] = "";
int
bar()
{
return foo[0];
}
--
Alexandre Oliva http://www.ic.unicamp.br/~oliva IC-Unicamp, Bra[sz]il
oliva@{lsd.ic.unicamp.br,guarana.{org,com}} aoliva@{acm,computer}.org
oliva@{gnu.org,kaffe.org,{egcs,sourceware}.cygnus.com,samba.org}
** I may forward mail about projects to mailing lists; please use them