From 3f20a682baad7f3aa6d2b3a9a3053420e5421e32 Mon Sep 17 00:00:00 2001 From: Douglas Gregor Date: Mon, 12 Jan 2009 23:20:38 +0000 Subject: [PATCH] Update C++ status and add a few more tests of overloading for member function calls git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62121 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/SemaCXX/overload-member-call.cpp | 17 +++++++++++++++++ www/cxx_status.html | 14 +++++++------- 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/test/SemaCXX/overload-member-call.cpp b/test/SemaCXX/overload-member-call.cpp index 9c0117f9b1..8b7b148b3f 100644 --- a/test/SemaCXX/overload-member-call.cpp +++ b/test/SemaCXX/overload-member-call.cpp @@ -17,6 +17,23 @@ struct X { static double& g(double); // expected-note{{candidate function}} void h(int); + + void test_member() { + float& f1 = f(0); + float& f2 = g(0); + double& d1 = g(0.0); + } + + void test_member_const() const { + int &i1 = f(0); + int &i2 = g(0); + double& d1 = g(0.0); + } + + static void test_member_static() { + double& d1 = g(0.0); + g(0); // expected-error{{call to 'g' is ambiguous; candidates are:}} + } }; void test(X x, const X xc, X* xp, const X* xcp, volatile X xv, volatile X* xvp) { diff --git a/www/cxx_status.html b/www/cxx_status.html index 96cd287af8..4df163faeb 100644 --- a/www/cxx_status.html +++ b/www/cxx_status.html @@ -411,9 +411,9 @@ welcome!

  4.3 [conv.func] ✓ ✓ - + + - Missing conversions from overloaded functions to function pointers.   4.4 [conv.qual] @@ -503,7 +503,7 @@ welcome!

template-ids are not supported, name lookup is not complete -  5.2 [expr.post]Note that overloading is not considered in this section +  5.2 [expr.post]     5.2.1 [expr.sub] ✓ @@ -518,7 +518,7 @@ welcome!

✓ - Member calls don't work + Argument-dependent lookup is unsupported     5.2.3 [expr.type.conv] @@ -539,10 +539,10 @@ welcome!

    5.2.5 [expr.ref] ✓ - - + + - Only fields can be accessed + Cannot look up operator names, qualified-ids, or names in base classes     5.2.6 [expr.post.incr]