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