1 // { dg-do run  }
2 // Test of class-scope using-declaration for functions.
3 
4 #define assert(COND) if (!(COND)) return 1
5 
6 struct A {
fA7   int f(int) { return 1; }
fA8   int f(char) { return 2; }
9 };
10 
11 struct B {
fB12   int f(double) { return 3; }
13 };
14 
15 struct C : public A, public B {
16   using A::f;
17   using B::f;
fC18   int f(char) { return 4; }
fC19   int f(C) { return 5; }
20 };
21 
main()22 int 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