1 // { dg-do run  }
2 // Check that object call works when there are multiple conversion ops
3 // returning the same type.
4 
5 typedef int (*pfn)();
6 
zero()7 int zero () { return 0; }
one()8 int one  () { return 1; }
two()9 int two  () { return 2; }
10 
11 struct A {
AA12   A() { }
pfnA13   operator pfn () { return one; }
pfnA14   operator pfn () const { return zero; }
pfnA15   operator pfn () volatile { return two; }
16 };
17 
18 int
main()19 main ()
20 {
21   const A a;
22   return a();
23 }
24