rt_gccstream/gcc/testsuite/g++.dg/overload/cond1.C

25 lines
385 B
C

// Test that converting a COND_EXPR to void doesn't result in trying to
// bitwise copy a class with a nontrivial copy constructor (and thus a
// compiler abort).
// { dg-options "-O" }
struct A {
virtual ~A() { }
};
A a1, a2;
inline A& one () { return a1; }
inline A& two () { return a2; }
inline void f (int i)
{
i ? a1 : a2;
i ? one() : two();
}
int main ()
{
f (1);
}