1ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// RUN: %clang_cc1 -fsyntax-only -verify %s
2ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
3ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaovoid nondecl(int (*f)(int x = 5)) // {expected-error {{default arguments can only be specified}}}
4ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao{
5ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  void (*f2)(int = 17)  // {expected-error {{default arguments can only be specified}}}
6ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  = (void (*)(int = 42))f; // {expected-error {{default arguments can only be specified}}}
7ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao}
8ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
9ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct X0 {
10ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  int (*f)(int = 17); // expected-error{{default arguments can only be specified for parameters in a function declaration}}
11ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
12ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  void mem8(int (*fp)(int) = (int (*)(int = 17))0); // expected-error{{default arguments can only be specified for parameters in a function declaration}}
13ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao};
14