// PR c++/117317
// { dg-do compile { target c++20 } }

struct C {
  constexpr virtual bool foo () const = 0;
};
struct A : public C {};
struct B : public C {};
template <int>
struct D : A, B
{
  constexpr bool foo () const override { return true; }
};
constexpr D<0> d;
static_assert (d.foo (), "");