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