Using ASSERT_VAL in a member initializer of a constexpr constructor causes an ICE on GCC:
// internal compiler error: in bot_manip, at cp/tree.cc:3280
struct a {
constexpr a() : b{ASSERT_VAL(1)} {}
int b;
};
The error appears to be triggered when a name is introduced within a statement expression (https://godbolt.org/z/38x1E1jY6):
struct a {
int b;
constexpr a() : b{({
int c{}; // struct d; typedef int e; ...
1;
})} {}
};