// { dg-do assemble  }
// g++ 1.37.1 bug 900330_02

// The C++ Reference Manual says in section 13.1:

// "Two function declarations of the same name refer to the same function
// if they are in the same scope and have identical argument types.  A
// function member of a derived class is *not* in the same scope as a function
// member of the same name in a base class."

// g++ fails to correctly detect the error indicated.

// Cfront 2.0 passes this test.

// keywords: function, member, overloading, hiding

struct B {
  int f(int);
};

struct D : public B {
  int f(struct B);		// { dg-message "D::f|no known conversion" } referred to below
};

void h(D* pd)
{
  pd->f(1);		// { dg-error "cannot convert" } D::f(struct B) hides B::f(int)
}

int main () { return 0; }
