This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Question on aggregates and GIMPLE


On Thu, Jun 10, 2004 at 12:09:26AM -0400, Jason Merrill wrote:
> > 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?

Any Java test, iirc.  The thing we wanted to be able to do is
process an entire block (and its data flow) naturally.  Doing
so in this situation leads us to believe that the assignment
has occurred, and so the previous lhs value is dead.

This problem would be easier moderate with aggregates; we just
need to avoid using one of Brian's new V_MUST_DEF nodes.


r~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]