[Bug middle-end/28010] New: [4.1/4.2 regression] ICE because of fold_rtx endless recursion
jakub at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Tue Jun 13 10:31:00 GMT 2006
typedef struct
{
unsigned int addr;
unsigned int next;
unsigned int prev;
} list;
static inline list *
shift (list * l, unsigned na)
{
return (list *) ((char *) l + na);
}
static inline int
is_valid (list * l)
{
return shift (l, l->prev)->next == (l->addr);
}
static inline int
not_empty (list * l)
{
return shift (l, l->next) != l;
}
void aaa (void);
void
func (list * l)
{
unsigned int a = l->addr;
while (1)
{
while (not_empty (l))
aaa ();
if (is_valid (l))
aaa ();
}
}
ICEs with -O1 -m32 and above. Might be related to PR27616, but without
debugging/fixing one of these that's hard to say.
--
Summary: [4.1/4.2 regression] ICE because of fold_rtx endless
recursion
Product: gcc
Version: 4.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jakub at gcc dot gnu dot org
GCC target triplet: i?86-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28010
More information about the Gcc-bugs
mailing list