1 // Test for hiding of used base functions when all the conversion sequences are
2 // equivalent, needed to avoid a regression on inherited default ctors.
3 
4 struct A
5 {
6   void f(short,int=0);
7   void g(char,int=0);
8 };
9 
10 struct B:A
11 {
12   using A::f;
13   void f(short);
14   using A::g;
15   void g(short);
16 };
17 
main()18 int main()
19 {
20   B().f(1);			// OK, derived f hides base f for single arg
21   B().f(1,2);			// OK, base f can still be called with two args
22   B().g(1);			// { dg-error "" } signatures differ, ambiguous
23 }
24