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