1 // PR c++/69139
2 // { dg-do compile { target c++11 } }
3 
4 auto get(int) -> int { return {}; }
5 template <class R> int f(auto (*)(int) -> R) { return {}; }
6 int i = f(get);
7 
8 int foo1 (auto (int) -> char);
9 
10 int foo2 (auto f(int) -> char);
11 
12 int foo2 (auto (f)(int) -> char);
13 
14 int foo3 (auto (*f)(int) -> char);
15 
16 int foo4 (auto (*const **&f)(int) -> char);
17 
18 int foo5 (auto (*const **&f)(int, int *) -> char);
19 
20 int foo6 (auto (int) const -> char); // { dg-error "const" }
21 
22 void foo7 (auto __attribute__ ((unused)) f (int) -> int) { }
23