This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: x86 sibling call stuff
>>>>> "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