This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] Properly unshare TYPE_SIZE_UNIT/DECL_FIELD_OFFSET (PR86216)
On July 13, 2018 6:52:26 PM GMT+02:00, Eric Botcazou <firstname.lastname@example.org> 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?