egcs/./gcc ChangeLog calls.c explow.c expr.h f ...

law@cygnus.com law@cygnus.com
Fri Nov 20 07:37:00 GMT 1998


CVSROOT:	/egcs/carton/cvsfiles
Module name:	egcs
Changes by:	law@egcs.cygnus.com	98/11/20 07:37:43

Modified files:
	gcc            : ChangeLog calls.c explow.c expr.h function.c 
	                 function.h stmt.c 
	gcc/config/i960: i960.md 
	gcc/config/sparc: sparc.md 

Log message:
	* function.c (nonlocal_goto_handler_slots): Renamed from
	nonlocal_goto_handler_slot; now an EXPR_LIST chain.
	(push_function_context_to): Adjust for this change.
	(pop_function_context_from): Likewise.
	(init_function_start): Likewise.
	(expand_function_end): Likewise.
	* function.h (struct function): Likewise.
	* calls.c (expand_call): Likewise.
	* explow.c (allocate_dynamic_stack_space): Likewise.
	* expr.h (nonlocal_goto_handler_slots): Rename its declaration.
	* stmt.c (declare_nonlocal_label): Make a new handler slot for each
	label.
	(expand_goto): When doing a nonlocal goto, find corresponding handler
	slot for it.  Don't put the label address in the static chain register.
	(expand_end_bindings): Break out nonlocal goto handling code into
	three new functions.
	(expand_nl_handler_label, expand_nl_goto_receiver,
	expand_nl_goto_receivers): New static functions, broken out of
	expand_end_bindings and adapted to create one handler per nonlocal
	label.
	* function.c (delete_handlers): Delete insn if it references any of
	the nonlocal goto handler slots.
	* i960.md (nonlocal_goto): Comment out code that modifies
	static_chain_rtx.
	* sparc.md (nonlocal_goto): Likewise.
	(goto_handler_and_restore_v9): Comment out.
	(goto_handler_and_restore_v9_sp64): Comment out.




More information about the Gcc-cvs mailing list