mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-11 10:29:44 +08:00
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
This commit is contained in:
parent
e6dc5a9a20
commit
1c556b2274
34
gcc/testsuite/g++.dg/inherit/using1.C
Normal file
34
gcc/testsuite/g++.dg/inherit/using1.C
Normal file
@ -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 ();
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user