1// Test of class-scope using-declaration for functions.
2
3#define assert(COND) if (!(COND)) return 1
4
5struct A {
6  int f(int) { return 1; }
7  int f(char) { return 2; }
8};
9
10struct B {
11  int f(double) { return 3; }
12};
13
14struct C : public A, public B {
15  using A::f;
16  using B::f;
17  int f(char) { return 4; }
18  int f(C) { return 5; }
19};
20
21int main ()
22{
23  C c;
24
25  assert (c.f(1) == 1);
26  assert (c.f('a') == 4);
27  assert (c.f(2.0) == 3);
28  assert (c.f(c) == 5);
29}
30