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