This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Where is setup for "goto" in nested function created?


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:
hutchinsonandy@aim.com 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]