https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102213
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|Incorrect executable |virtual consteval is not
|produced from valid input |being stored in the vtable
|code with virtual consteval |
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Reduced further to show the issue is not related to operator <=> or operator
==:
```
struct A {
virtual consteval bool f(const A &) const { return true; };
};
struct B : A {
virtual consteval bool f(const A&) const noexcept override { return false;
}
};
int main() {
static constexpr B b;
static constexpr const A & a = b;
static_assert (a.f(a) == 0);
if (a.f(a) != 0)
__builtin_abort();
return 0;
}
```