p3.cpp revision 4a529d26d6ccfc9b3d11031f1256f4f87055c562
123730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)// RUN: %clang_cc1 -fsyntax-only -verify %s 223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)void nondecl(int (*f)(int x = 5)) // expected-error {{default arguments can only be specified}} 423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles){ 523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) void (*f2)(int = 17) // expected-error {{default arguments can only be specified}} 623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) = (void (*)(int = 42))f; // expected-error {{default arguments can only be specified}} 723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)} 823730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 923730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)struct X0 { 1023730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) int (*f)(int = 17); // expected-error{{default arguments can only be specified for parameters in a function declaration}} 1123730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 1223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) void mem8(int (*fp)(int) = (int (*)(int = 17))0); // expected-error{{default arguments can only be specified for parameters in a function declaration}} 1323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)}; 1423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)