1// RUN: %clang_cc1 -fsyntax-only -verify %s
2
3struct A {
4  virtual void f(int a = 7); // expected-note{{'A::f' declared here}}
5};
6
7struct B : public A {
8  void f(int a);
9};
10
11void m() {
12  B* pb = new B;
13  A* pa = pb;
14  pa->f(); // OK, calls pa->B::f(7)
15  pb->f(); // expected-error{{too few arguments to function call, expected 1, have 0; did you mean 'A::f'?}}
16}
17