This is the mail archive of the 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: [tree-ssa] Another EH cfg cleanup PATCH

In message <>, Jason Merrill writes:
 >On Thu, 29 May 2003 19:22:36 -0600, wrote:
 >> And how would I identify such TRY_CATCH_EXPRs?  By the lack of a
 >> CATCH_EXPR in operand 1 of the TRY_CATCH_EXPR?
 >More or less, though you also have to check for EH_FILTER_EXPR, and the
 >CATCH_EXPR might be wrapped in a COMPOUND_EXPR.
Yup.  That's already handled as well.  It fell right out since I copied the
code to detect cleanups from elsewhere.  In all it was pretty simple once
I decided that it had to be a two step process.   You can't wire up the
edge when building blocks (the parent cleanup will not have any blocks) and
you don't have the nice nesting info when wiring up edges (well, maybe it
exists via parent_stmt).  

So the "obvious" solution is to record the tree node for the parent cleanup
when building blocks since we have the nesting structure handily available
and wire up the edge when building all the special edges.

 >The simplest thing would
 >be to use get_eh_region_type from the patch I sent you.
Given that I seem to have lost it, could you resend it so I can see if
I'm missing anything obvious?


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