1 // { dg-do assemble } 2 3 struct A 4 { 5 operator bool () const; 6 operator const void * () const; 7 }; 8 9 struct B 10 { 11 A a; 12 int foo1 (); 13 int foo2 (); 14 }; 15 16 int foo1()17B::foo1 () 18 { 19 return a ? 0 : 1; // ambiguous default type conversion for `operator !=' 20 } 21 22 int foo2()23B::foo2 () 24 { 25 if (a) 26 return 0; 27 else 28 return 1; 29 } 30