1// Test that converting a COND_EXPR to void doesn't result in trying to 2// bitwise copy a class with a nontrivial copy constructor (and thus a 3// compiler abort). 4 5// { dg-options "-O" } 6 7struct A { 8 virtual ~A() { } 9}; 10 11A a1, a2; 12inline A& one () { return a1; } 13inline A& two () { return a2; } 14 15inline void f (int i) 16{ 17 i ? a1 : a2; 18 i ? one() : two(); 19} 20 21int main () 22{ 23 f (1); 24} 25