This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/17396] New: ICE in tree-int-cst at -O0
- From: "steven at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 10 Sep 2004 13:55:01 -0000
- Subject: [Bug middle-end/17396] New: ICE in tree-int-cst at -O0
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
An ICE from Ruby, on at least ia64 and amd64, with and without optimization:
struct sigcontext
{
unsigned long int sc_gr;
};
#define N (((char *) &((struct sigcontext *) 0)->sc_gr) - (char *) 0)
struct tag
{
unsigned long _pad[N];
};
static struct tag *prot_tag;
void
error_print (void)
{
struct tag _tag;
prot_tag = &_tag;
}
The interesting thing is that this ICEs in tree_low_cst, which
is supposed to extract an integer from an INTEGER_CST tree, but
the tree that we give it is not an INTEGER_CST at all:
(gdb) p debug_generic_expr (t)
(long unsigned int<D4>) &0B->sc_gr<D1465> * 8
$3 = void
--
Summary: ICE in tree-int-cst at -O0
Product: gcc
Version: 4.0.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P2
Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: steven at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17396