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;
}
```

Reply via email to