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()17 B::foo1 ()
18 {
19   return a ? 0 : 1;  // ambiguous default type conversion for `operator !='
20 }
21 
22 int
foo2()23 B::foo2 ()
24 {
25   if (a)
26     return 0;
27   else
28     return 1;
29 }
30