aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/cpp2a/abbrev-fn2.C
blob: 902382651b893d0f3f943b22d9871babb7e89f90 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
// PR c++/117778
// { dg-do run { target c++20 } }

int
f (auto fp())
{
  return fp ();
}

int
g (auto fp() -> auto)
{
  return fp ();
}

int
h (auto (*fp)() -> auto)
{
  return fp ();
}

auto
fa (auto fp()) -> auto
{
  return fp ();
}

auto
ga (auto fp() -> auto) -> auto
{
  return fp ();
}

auto
ha (auto (*fp)() -> auto) -> auto
{
  return fp ();
}

int bar() { return 42; }

int
main ()
{
  if (f (bar) != 42 || g (bar) != 42 || h (bar) != 42)
    __builtin_abort ();
  if (fa (bar) != 42 || ga (bar) != 42 || ha (bar) != 42)
    __builtin_abort ();
}