blob: a2e1750b3caff02ba70d69c50d029a3121613f94 [file] [log] [blame]
// { dg-do compile }
// { dg-options "-std=c++2a" }
consteval int bar () { return 42; }
consteval int baz () { return 1; }
typedef int (*fnptr) ();
consteval fnptr quux () { return bar; }
void
foo ()
{
auto qux = [] (fnptr a = quux ()) consteval { return a (); };
constexpr auto c = qux (baz); // { dg-error "28:taking address of an immediate function" }
constexpr auto d = qux (bar); // { dg-error "28:taking address of an immediate function" }
static_assert (c == 1);
static_assert (d == 42);
}