x86 sibling call stuff
Mark Mitchell
mark@codesourcery.com
Sun Mar 19 18:45:00 GMT 2000
>>>>> "Richard" == Richard Henderson <rth@twiddle.net> writes:
>> Note that there are two calls to the destructor there (_._1A).
>> That's all straight-line code, so it's going to be running the
>> destructor twice.
Richard> Yes, I'd noticed that was going to happen during the
Richard> previous debugging session, but was getting hung up on
Richard> the reexpansion problem.
Good; we're homing in on the problem at least.
>> If I'm right, the sibling call stuff is going to take some
>> extra work in order to work right with exceptions: you're going
>> to have to unregister the cleanups registered during the
>> proto-call, or something.
Richard> Yes, and that appears quite trivial. Please scrutinize
Richard> the following. I've started x86 and alpha bootstraps;
Richard> I'll check back after dinner.
Your patch looks reasonable to me. Clever trick, using
expand_start_target_temps like that.
Please let me know how your bootstrap goes, and when you check in the
patch. Then I'll experiment more fully with the patch I sent you to
see if makes sense, passes tests, etc.
I hope dinner was tasty,
--
Mark Mitchell mark@codesourcery.com
CodeSourcery, LLC http://www.codesourcery.com
More information about the Gcc-bugs
mailing list