// RUN: %clang_cc1 -fsyntax-only -verify %s
void h() {
void f1(int x, int y = sizeof(x)); // ok
void f2(int x, int y = decltype(x)()); // ok
void f3(int x, int y = x);
// expected-error@-1 {{default argument references parameter 'x'}}
void f4(int x, int y = x + 0);
// expected-error@-1 {{default argument references parameter 'x'}}
void f5(int x, int y = ((void)x, 0));
// expected-error@-1 {{default argument references parameter 'x'}}
}