1template <typename T>
2void f(int, T (*)() = 0);	// { dg-message "note" "note" }
3
4void g() {
5  typedef int A[2];
6  f<A>(0); // { dg-error "" }
7  // { dg-error "returning an array" "returning an array" { target *-*-* } 2 }
8  typedef void F();
9  f<F>(0); // { dg-error "" }
10  // { dg-error "returning a function" "returning a function" { target *-*-* } 2 }
11}
12