On Dec 2, 2009, at 4:06 PM, Anders Carlsson wrote:
> Great catch! Is there a test case we can add for this?

Oh, without this, codegen is so fantastically broken that virtually nothing 
compiles.  :-)  Yeah, I have a testcase that I'm in the middle of implementing 
and refining.  When I turn on the code, I'll check it it.  For now, all the new 
code is still off.  I'm running the g++ testsuite on it, and am up for 62 
passes for old-deja.exp=eh\*.C (44 unexpected failures), including my favorite, 
eh6.C.


On issue that I'm facing now is, what to do about exceptional edge cleanups.  I 
think the strategy, after talking with Dan about duplicating entire CFGs, was, 
I don't want to do that, so the plan forward was going to have the caller build 
up the normal cleanups and the exceptional cleanups separately.  The cleanup 
stack code then just knows for each cleanup, if the action is for the normal 
edge or the exceptional edge.

Scream now if that plan seems wrong.  The advantage is smaller code (excluding 
the exceptional code) down the road, and no indirect branches or condition 
branches in the normal control flow.
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to