25 lines
385 B
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);
|
|
}
|