[PATCH] Properly unshare TYPE_SIZE_UNIT/DECL_FIELD_OFFSET (PR86216)

Richard Biener rguenther@suse.de
Fri Jul 13 18:29:00 GMT 2018


On July 13, 2018 6:52:26 PM GMT+02:00, Eric Botcazou <ebotcazou@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. 



More information about the Gcc-patches mailing list