1 template <typename T>
2 void f(int, T (*)() = 0);	// { dg-message "note" "note" }
3 
g()4 void 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