1// { dg-do assemble  }
2// g++ 1.37.1 bug 900330_02
3
4// The C++ Reference Manual says in section 13.1:
5
6// "Two function declarations of the same name refer to the same function
7// if they are in the same scope and have identical argument types.  A
8// function member of a derived class is *not* in the same scope as a function
9// member of the same name in a base class."
10
11// g++ fails to correctly detect the error indicated.
12
13// Cfront 2.0 passes this test.
14
15// keywords: function, member, overloading, hiding
16
17struct B {
18  int f(int);
19};
20
21struct D : public B {
22  int f(struct B);		// { dg-message "D::f|no known conversion" } referred to below
23};
24
25void h(D* pd)
26{
27  pd->f(1);		// { dg-error "no matching" } D::f(struct B) hides B::f(int)
28}
29
30int main () { return 0; }
31