// 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); }