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

--- Comment #22 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Eric Botcazou from comment #21)
> > Yeah, I'm looking at what "breaks Ada" means, so I'm testing the attached,
> > a more consistent dropping of this stripping.
> 
> Alternatively, the problematic VIEW_CONVERT_EXPR is generated for upcasting
> and we probably can do better in the front-end (gigi) for it.

I'm not exactly sure how so.  For constant sizes you could use a BIT_FIELD_REF,
but for variable sizes there's no good alternative (a V_C_E to a fake union
plus component-ref maybe?).  That said, the upcasting is always to a same or
smaller size type, it'll never be a "paradoxical subreg", right?

Reply via email to