On July 13, 2018 6:52:26 PM GMT+02:00, Eric Botcazou <ebotca...@adacore.com> wrote: >> It breaks Ada bootstrap. I guess Ada has variable-size types in >> non-function scope (not sure how TYPE_SIZES_GIMPLIFIED works then >> though). That said, r92495 moved the unshare_expr from layout_type >> to gimplify_one_sizepos. > >See gimplify.c:763 and below.
Thanks. In that light the unsharing at the places the FE builds expressions using TYPE_SIZE and friends looks like the way to go. I still wonder why unsharing in gimplify_one_sizepos is necessary though. Ist that because even deep unsharing doesn't walk types? Richard.