diff options
author | Jason Merrill <jason@gcc.gnu.org> | 2002-01-18 08:21:35 -0500 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2002-01-18 08:21:35 -0500 |
commit | 1c556b2274cfd0e18f8a350f3e385bb857d56856 (patch) | |
tree | 73a1cae2aeb7327633af907897ce2412b9b6956a /gcc | |
parent | e6dc5a9a20f896b43452d6abee0a90d8ccb7d101 (diff) | |
download | gcc-1c556b2274cfd0e18f8a350f3e385bb857d56856.zip gcc-1c556b2274cfd0e18f8a350f3e385bb857d56856.tar.gz gcc-1c556b2274cfd0e18f8a350f3e385bb857d56856.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/g++.dg/inherit/using1.C | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/inherit/using1.C b/gcc/testsuite/g++.dg/inherit/using1.C new file mode 100644 index 0000000..03c9144 --- /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 (); +} |