https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126324

            Bug ID: 126324
           Summary: Virtual function call with covariant return in
                    constant evaluation causes ICE
           Product: gcc
           Version: 17.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dr.xiaosa at gmail dot com
  Target Milestone: ---

https://godbolt.org/z/5PcrsTMKK

===
struct B {
    virtual constexpr B* clone() { return nullptr; }
};

struct D : B {
    constexpr D* clone() override { return nullptr; }
};

inline constexpr auto test = [] {
    D v;
    B* d = &v;
    B* b = d->clone();
    return 0;
}();
===

Reply via email to