https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117501
--- Comment #4 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
```
constexpr unsigned
length ()
{
bool __trans_tmp_1 = __builtin_is_constant_evaluated();
if (__trans_tmp_1)
return 42;
return 1;
}
struct basic_string_view {
constexpr basic_string_view(const char *) : _M_len{length()}, _M_str{} {}
long _M_len;
char _M_str;
};
struct QQQ {
consteval QQQ(basic_string_view d) : data(d) {}
basic_string_view data;
};
int
main ()
{
QQQ q("");
if (q.data._M_len != 42)
__builtin_abort ();
}
```