From 1c556b2274cfd0e18f8a350f3e385bb857d56856 Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Fri, 18 Jan 2002 08:21:35 -0500 Subject: [PATCH] re PR c++/3242 (Forwarding using 'using' of base members broken?) PR c++/3242 * class.c (add_method): Do compare 'this' quals when trying to match a used function. Don't defer to another used function. From-SVN: r48982 --- gcc/testsuite/g++.dg/inherit/using1.C | 34 +++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 gcc/testsuite/g++.dg/inherit/using1.C diff --git a/gcc/testsuite/g++.dg/inherit/using1.C b/gcc/testsuite/g++.dg/inherit/using1.C new file mode 100644 index 000000000000..03c9144e5d6c --- /dev/null +++ b/gcc/testsuite/g++.dg/inherit/using1.C @@ -0,0 +1,34 @@ +// Test that overloading on 'this' quals works with class using-declarations. + +// { dg-do link } + +struct A { + void f() const; + void f() {} + void g() const {} + void g(); + void h() const; + void h(); + void i() const; + void i() {} +}; + +struct B: private A { + using A::f; + using A::g; + void h () const {} + using A::h; + void i () const {} + using A::i; +}; + +int main() +{ + B b1; + const B b2 = B(); + + b1.f (); + b2.g (); + b2.h (); + b1.i (); +}