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