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 (); }