This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Question on aggregates and GIMPLE
On Wed, 9 Jun 2004 17:27:50 -0700, Richard Henderson <rth@redhat.com> wrote:
> On Wed, Jun 09, 2004 at 08:20:31PM -0400, Richard Kenner wrote:
>> <MODIFY_EXPR <INDIRECT_REF, INDIRECT_REF>> is valid GIMPLE, and shouldn't
>> require a temporary. I think we're just getting confused by the
>> VIEW_CONVERT_EXPR.
>>
>> Well, how about <MODIFY_EXPR <COMPONENT_REF, INDIRECT_REF>>? It appears to
>> be saying that if the LHS is "complex", the RHS must be a variable and
>> trying to make a temporary.
>
> Hmm. I don't suppose
>
> || (flag_non_call_exceptions && tree_could_trap_p (*from_p))
>
> is true in gimplify_modify_expr? If so, I'm not sure how to approach
> this. Other languages require that MODIFY_EXPRs be atomic.
I was looking at this earlier today, and thinking that we should probably
disable this for aggregates, or at least for aggregate_value_p types.
Do you remember the case which inspired this check?
Jason