| // Test that late-parsed default args have the same consteval semantics. | |
| // { dg-do compile { target c++20 } } | |
| consteval bool foo (bool x) { if (x) throw 1; return false; } | |
| consteval bool bar (bool x = foo (true)) { return true; } | |
| struct S | |
| { | |
| consteval static bool baz (bool x = foo (true)) { return true; } | |
| }; | |
| constexpr bool a = bar (true); | |
| constexpr bool b = S::baz (true); |