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