mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-06 06:29:36 +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