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()7int zero () { return 0; } one()8int one () { return 1; } two()9int 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()19main () 20 { 21 const A a; 22 return a(); 23 } 24