Hi Lyberta,
My kneejerk reaction was "of course virtual bases should be supported in constexpr, if any inheritance is supported in constexpr."
But I figured there must be a reason the original paper omitted virtual base support, so I went looking. The "support virtual calls in constexpr" paper was by Peter Dimov.
The name "Peter Dimov" reminded me that Peter was also the author of a paper proposing constexpr support for virtual destructors:
(My understanding is that P1077 is defunct: its ideas about "trivial" virtual destructors were superseded (unfortunately IMHO) by P0784's ideas about "non-trivial, yet still constexpr" destructors.)
Thinking about destructors reminded me that paper C++ is wishy-washy on exactly when (and even exactly how many times, IIRC) the destructor of a virtual base subobject will be called. A grandchild class following the Dreaded Diamond pattern might destroy its grandparent virtual base subobject during the destructor of the first parent, or during the destructor of the second parent, or after both, or even (IIRC) in the destructors of both parents. It seems like a terrible idea to carry over this wishy-washy behavior into compile-time evaluation.
So my hunch is that the problem has something to do with virtual base subobject destruction, and that's where I would advise you to look in the Standard and flesh out any possible problems and think about appropriate solutions. You might also want to contact paper authors Peter Dimov and Daveed Vandevoorde and ask what's the problem that caused Daveed to forbid virtual bases in P0784. (I'd love to know the answer if you do find out!)
HTH,
–Arthur