[google]: initialize language field for clone function struct
Richard Guenther
richard.guenther@gmail.com
Thu May 5 09:44:00 GMT 2011
On Thu, May 5, 2011 at 11:23 AM, Eric Botcazou <ebotcazou@adacore.com> wrote:
>> Sure, but that's a limitation of out SAVE_EXPR handling (given that it
>> would be ok to expand the SAVE_EXPR multiple times - once per
>> "instantiation context").
>
> You need to expand the initializer exactly once and you need to make sure that
> this occurrence is invoked before all the others at run time. Not trivial.
But where do you expand it without the SAVE_EXPR? The same
restrictions apply there. So I suppose you expand it to a function
in which case there is the context where the SAVE_EXPR can be
expanded exactly once.
If you expand it (the "global" expr without SAVE_EXPR) in multiple
function contexts then I see no difference if you have a SAVE_EXPR
and expand that once per such function context. Yes, this
multiple-times expanding a SAVE_EXPR might not actually work
right now, but it doesn't sound like this would be not fixable
(mark the original SAVE_EXPR as global, during unsharing make
them local and process as usual).
But maybe I'm confused and simply lack an actual testcase that
shows the issue ;)
Richard.
More information about the Gcc-patches
mailing list