1 // RUN: %clang_cc1 -fsyntax-only -verify %s 2 3 int ovl(int); // expected-note 3{{possible target for call}} 4 float ovl(float); // expected-note 3{{possible target for call}} 5 6 template<typename T> T ovl(T); // expected-note 3{{possible target for call}} 7 8 void test(bool b) { 9 (void)((void)0, ovl); // expected-error{{reference to overloaded function could not be resolved; did you mean to call it?}} 10 // PR7863 11 (void)(b? ovl : &ovl); // expected-error{{reference to overloaded function could not be resolved; did you mean to call it?}} 12 (void)(b? ovl<float> : &ovl); // expected-error{{reference to overloaded function could not be resolved; did you mean to call it?}} 13 (void)(b? ovl<float> : ovl<float>); 14 } 15 16 namespace rdar9623945 { 17 void f(...) { 18 } 19 20 class X { 21 public: 22 const char* text(void); 23 void g(void) { 24 f(text()); 25 f(text); // expected-error {{reference to non-static member function must be called; did you mean to call it with no arguments?}} 26 f(text()); 27 f(text); // expected-error {{reference to non-static member function must be called; did you mean to call it with no arguments?}} 28 } 29 }; 30 } 31