1 // RUN: %clang_cc1 -fsyntax-only -verify %s -std=c++11 2 3 struct A {}; 4 5 struct R { 6 operator const A*(); 7 }; 8 9 10 struct B : R { 11 operator A*(); 12 }; 13 14 struct C : B { 15 16 }; 17 18 19 void foo(C c, int A::* pmf) { 20 // FIXME. Why so many built-in candidates? 21 int i = c->*pmf; // expected-error {{use of overloaded operator '->*' is ambiguous}} \ 22 // expected-note {{built-in candidate operator->*(const struct A *, const int struct A::*)}} \ 23 // expected-note {{built-in candidate operator->*(const struct A *, int struct A::*)}} \ 24 // expected-note {{built-in candidate operator->*(struct A *, const int struct A::*)}} \ 25 // expected-note {{built-in candidate operator->*(struct A *, int struct A::*)}} 26 } 27 28