Thanks Ian!
I found it in function.c (expand_function_start)
emit_move_insn (r_save, virtual_stack_vars_rtx);
Whereas it should be
emit_move_insn (r_save, targetm.builtin_setjmp_frame_value ());
to match same construction used for setjmp.
thanks for help!
Ian Lance Taylor wrote:
[EMAIL PROTECTED] writes:
expand_builtin_nonlocal_goto is fine. This perform stack restore,
extracts frame pointer value and does jump.
reciever is fine - this jump destination does restore of frame pointer.
The problem I have is with frame pointer value that is saved in by
"setup" prior to all this
For goto is does not use expand_builtin_setjmp_setup - (pathetically)
I can't find what it is using.
I'm not really sure just what you are after (and I'm not sure that I
would know the answer if I did). Most of the relevant code should be
somewhere in tree-nested.c. Also look at expand_function_start, and
in general any use of cfun->nonlocal_goto_save_area.
Ian