aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/cpp2a/consteval2.C
blob: 8975002ad13365e952127a912186ced1df511e66 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// { dg-do run }
// { dg-options "-std=c++2a" }

extern "C" void abort ();
consteval int foo () { return 42; }
consteval auto bar () { return foo; }
consteval int baz (int (*fn) () = bar ()) { return fn (); }
constexpr int a = baz ();
static_assert (a == 42);
int b = baz ();

int
main ()
{
  if (b != 42)
    abort ();
}