This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/21492] New: ICE in try_crossjump_to_edge
- From: "jakub 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 May 2005 15:08:08 -0000
- Subject: [Bug middle-end/21492] New: ICE in try_crossjump_to_edge
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
// { dg-do compile }
// { dg-options "-Os -fPIC" }
extern char *bar (const char *, const char *);
extern char *baz (char *, const char *);
extern unsigned int fn (const char *);
static const struct C { int i; } k = { 0};
struct S
{
S (const C &x, unsigned int *y) : a (x), b (y) {}
const C &a;
unsigned int *b;
};
struct A
{
~A ();
void helper (const S &);
};
struct B : private A
{
B (const S &x)
{
helper (x);
}
};
char *
foo (char *x, const char *y)
{
unsigned int a;
B b (S (k, &a));
char *c = x;
if (bar (y, "foo"))
{
baz (c, "foo");
c += fn ("foo");
}
else if (bar (y, "bar"))
{
baz (c, "bar");
c += fn ("bar");
}
return x;
}
causes ICE on powerpc-linux (32-bit).
--
Summary: ICE in try_crossjump_to_edge
Product: gcc
Version: 4.0.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jakub at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org
GCC target triplet: powerpc-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21492