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

--- Comment #10 from Martin Liška <marxin at gcc dot gnu.org> ---
(In reply to Peter Dimov from comment #8)
> (In reply to Martin Liška from comment #7)
> > I'm not sure here Y<N> are different types here and member access based on
> > the type is distinct.
> 
> Yes, one could argue that, I suppose. But in the `return ((Y<0>*)p)->v;`
> case the member access _is_ lifted outside the jump table. If that's correct
> there, it should also be correct here. :-)

Yes, it's hoisted out (lifted). But it happens very late in optimization
pipeline, that's why we create first jump table and later we isolate the
expression.

Reply via email to