rt_gccstream/gcc/testsuite/g++.dg/opt/reload1.C

44 lines
449 B
C

// PR 7944
// { dg-do compile }
// { dg-options -O2 }
struct B
{
B & operator << (short s)
{
int j;
if (j)
return operator << (s);
else
return operator << (s);
}
};
struct A
{
int i;
static void bar ();
static int quux ()
{
bar ();
return 0;
}
A ():i (quux ())
{
}
~A ()
{
}
};
void
foo ()
{
short s[4] = { 0, 0, 0, 1 };
A a[2] = { A (), A () };
B b;
b << s[0] << s[2];
}