// RUN: %clang_cc1 -fsyntax-only -verify %s
// RUN: cp %s %t
// RUN: not %clang_cc1 -fsyntax-only -fixit -x c++ %t
// RUN: %clang_cc1 -fsyntax-only -pedantic -Werror -x c++ %t
namespacedcl_fct_default_p10{structA{virtualvoidf(inta=7);// expected-note{{'A::f' declared here}}
};structB:publicA{voidf(inta);};voidm(){
B* pb =new B;
A* pa = pb;
pa->f();// OK, calls pa->B::f(7)
pb->f();// expected-error{{too few arguments to function call, expected 1, have 0; did you mean 'A::f'?}}
}}namespacePR18608{structA{virtualvoidf()const;virtualvoidf(intx)const;// expected-note{{'A::f' declared here}}
};structB:publicA{virtualvoidf()const;};voidtest(B b){
b.f(1);// expected-error{{too many arguments to function call, expected 0, have 1; did you mean 'A::f'?}}
}}namespacePR20626{classA{public:voidFoo(){};// expected-note{{'Foo' declared here}}
};classB{};classC:publicA,publicB{voidRun(){B::Foo();// expected-error{{no member named 'Foo' in 'PR20626::B'; did you mean simply 'Foo'?}}
}};}