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