other/6613: Problem with RTX_UNCHANGING_P (again)
jakub@gcc.gnu.org
jakub@gcc.gnu.org
Mon May 13 00:03:00 GMT 2002
Synopsis: Problem with RTX_UNCHANGING_P (again)
State-Changed-From-To: open->analyzed
State-Changed-By: jakub
State-Changed-When: Mon May 13 00:03:20 2002
State-Changed-Why:
Simplified testcase is
struct L
{
enum S { A, B, C };
L (S x = C) : l (x) {}
L (const L &x) : l (x.l) {}
char l;
};
const L A (L::A);
const L B (L::B);
struct T
{
L u, v;
};
const struct T x [] =
{
{A, A}, {B, A}, {B, A}, {A, B}, {B, A}, {A, B}, {A, B}, {B, B}
};
extern "C" void abort (void);
extern "C" void exit (int);
int
main()
{
for (int i = 0; i < 8; i++)
{
if (x[i].u.l * 2 != ((((i & 3) ^ (i >> 2)) + 1) & 2))
abort ();
if (x[i].v.l != ((((i + 1) ^ 1) - 1) >= 4))
abort ();
}
exit (0);
}
Regression from 2.95.x.
For some details, see http://gcc.gnu.org/ml/gcc/2002-05/msg00642.html
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=6613
More information about the Gcc-bugs
mailing list