Commit Graph

177 Commits

Author SHA1 Message Date
Michael Meissner
d05a5492a5 Make rtx, tree types type correct if the appropriate include files was not included
From-SVN: r20114
1998-05-28 06:47:21 +00:00
Andrew MacLeod
9a0d1e1b11 First cut of changes to utilize the new exception handling model
From-SVN: r19746
1998-05-14 13:39:15 +00:00
Jeff Law
e5e809f419 * Check in merge from gcc2. See ChangeLog.11 and ChangeLog.12
for details.

        * haifa-sched.c: Mirror recent changes from gcc2.

From-SVN: r18984
1998-04-04 06:32:39 -07:00
Teemu Torma
154bba13a4 [multiple changes]
Thu Dec 11 20:42:18 1997  Teemu Torma  <tot@trema.com>

	Thread-safe EH support for pthreads, DCE threads and Solaris threads.

	* integrate.c (expand_inline_function): If the inline fn uses eh
	context, make sure that the current fn has one.
	* toplev.c (rest_of_compilation): Call emit_eh_context.
	* except.c (use_eh_context): New fn.
	(get_eh_context_once): New fn.
	(call_get_eh_context): New fn.
	(emit_eh_context): New fn.
	(get_eh_context): Call either get_eh_context_once or
	call_get_eh_context, depending on what we have.
	(get_dynamic_handler_chain): Call get_eh_context_once.
	* except.h: Prototypes for fns above.
	* optabs.c (get_eh_context_libfunc): Removed.
	(init_optabs): Don't initialize it.
	* expr.h (get_eh_context_libfunc): Removed.
	* rtl.h, rtl.c: New reg_note REG_EH_CONTEXT.
	* config/pa/pa.h (CPP_SPEC): Support for -threads.
	* config/pa/pa-hpux10.h (LIB_SPEC): Ditto.
	* config/pa/t-pa (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
	New multilib for -threads.
	* config/sparc/t-sol2: Added multilibs for -threads and
	made -pthreads alias to it.
	* config/sparc/sol2.h (CPP_SPEC, LIB_SPEC):
	Added -threads and -pthreads options.
	* libgcc-thr.h: New file.
	* libgcc2.c: (__get_cpp_eh_context): Removed.
	(struct cpp_eh_context): Removed.
	(struct eh_context): Replaced cpp_eh_context with generic language
	specific pointer.
	(__get_eh_info): New function.
	(__throw): Check eh_context::info.
	(__sjthrow): Ditto.
	* libgcc2.c: Include libgcc-thr.h.
	(new_eh_context, __get_eh_context,
	eh_pthread_initialize, eh_context_initialize, eh_context_static,
	eh_context_specific, eh_context_free): New functions.
	(get_eh_context, eh_context_key): New variables.
	(__sjthrow, __sjpopnthrow, __eh_pcnthrow, __throw): Use
	get_eh_context to get the context.
	(longjmp): Move the declaration inside
	#ifdef DONT_USE_BUILTIN_SETJMP.
	* frame.c: Include libgcc-thr.h.
	(object_mutex): Mutex to protect the object list.
	(find_fde, __register_frame, __register_frame_table,
	__deregister_frame): Hold the lock while accessing objects.
	* except.h (get_eh_context): Declare.
	* except.c (current_function_ehc): Define.
	(current_function_dhc, current_function_dcc): Removed.
	(get_eh_context): New function.
	(get_dynamic_handler_chain): Use get_eh_context.
	(get_saved_pc_ref): Ditto.
	(get_dynamic_cleanup_chain): Removed references to
	current_function_dcc.
	(save_eh_status, restore_eh_status): Save and restore
	current_function_ehc instead.
	* optabs.c (get_eh_context_libfunc): New variable.
	(init_optabs): Initialize it.
	* expr.h: Declare get_eh_context_libfunc.
	* function.h (struct function): Replaced dhc and dcc with ehc.
	* except.c (get_saved_pc_ref): New functions.
	(eh_saved_pc_rtx, eh_saved_pc): Deleted.
	(expand_internal_throw_indirect): Use get_saved_pc_ref() instead
	of eh_saved_pc.
	(end_eh_unwinder): Likewise.
	(init_eh): Remove initialization of eh_saved_pc.
	* optabs.c (get_saved_pc_libfunc): New variable.
	(init_optabs): Initialize it.
	* expr.h: Declare get_saved_pc_libfunc.
	* except.h (eh_saved_pc_rtx): Deleted.
	(get_saved_pc_ref): Declared.

	From Scott Snyder <snyder@d0sgif.fnal.gov>:
	* libgcc2.c (__get_saved_pc): New.
	(__eh_type, __eh_pc): Deleted.
	(__eh_pcnthrow): Use __get_saved_pc() instead of __eh_pc.
	(__get_dynamic_handler_chain): Move __dynamic_handler_chain inside
	this fcn.

cp/:
Thu Dec 11 20:43:33 1997  Teemu Torma  <tot@trema.com>

	* decl.c (ptr_ptr_type_node): Define.
	(init_decl_processing): Initialize it.
	* cp-tree.h: Declare it.
	* exception.cc (__cp_exception_info): Use __get_eh_info.
	(__cp_push_exception): Ditto.
	(__cp_pop_exception): Ditto.

	From Scott Snyder <snyder@d0sgif.fnal.gov>:
        * except.c (expand_builtin_throw): Use get_saved_pc_ref instead of
	saved_pc.
	(init_exception_processing): Removed saved_pc initialization.

From-SVN: r17052
1997-12-11 23:53:20 -05:00
Jason Merrill
173cd503de x
From-SVN: r13974
1997-04-24 02:55:16 +00:00
Mike Stump
e976b8b277 Add setjmp/longjmp exception handling.
From-SVN: r13968
1997-04-23 20:04:25 +00:00
Richard Kenner
1de9b9763f (struct function): New field args_info.
From-SVN: r13354
1997-01-03 07:51:40 -05:00
Richard Kenner
9a807d3a23 (struct function): Make frame_offset be HOST_WIDE_INT.
(get_frame_size): Add definition.

From-SVN: r13244
1996-12-07 18:49:30 -05:00
Mike Stump
6adb4e3a29 install EH code
From-SVN: r12549
1996-07-23 20:03:47 +00:00
Richard Kenner
04aa3b9c26 (struct function): New field returns_pointer.
From-SVN: r11813
1996-04-16 10:19:48 -04:00
Richard Kenner
f30d95d264 (struct function): New field regno_pointer_align.
From-SVN: r10867
1995-12-27 15:22:03 -05:00
Richard Kenner
7da7e61109 (struct function): Add stdarg field.
From-SVN: r10122
1995-07-14 08:02:43 -04:00
Richard Kenner
a35311b035 Update FSF address.
From-SVN: r9961
1995-06-15 07:52:21 -04:00
Jason Merrill
a0dabda52b Handle compilation of nested functions from another scope.
From-SVN: r9185
1995-03-15 21:48:01 +00:00
Richard Kenner
a00b8dfa62 ({save_restore}_varasm_status): Add decls.
From-SVN: r8711
1994-12-30 07:58:35 -05:00
Richard Kenner
91ab952c02 (struct function): New field for current_function_varargs.
From-SVN: r6985
1994-04-06 07:49:37 -04:00
Jim Wilson
b810045319 (struct function): Add momentary_function_firstobj
field.

From-SVN: r6724
1994-03-08 12:51:59 -08:00
Richard Kenner
f55eed9920 (struct sequence_stack): New field sequence_rtl_expr.
(struct function): Likewise.

From-SVN: r6160
1993-11-25 18:10:26 -05:00
Richard Stallman
d6e1b011e1 (struct function): New field `machine'.
From-SVN: r5722
1993-10-11 03:03:17 +00:00
Jim Wilson
6766466421 (struct function): New field has_nonlocal_goto.
From-SVN: r5337
1993-09-15 23:13:29 -07:00
Tom Wood
d12b538233 (struct function): Add apply_args_value field.
From-SVN: r3844
1993-03-23 12:54:30 +00:00
Jim Wilson
521f2d6fcb Add prototypes.
From-SVN: r3794
1993-03-19 18:17:20 -08:00
Richard Stallman
b76227eaa5 (struct function): New fields const_rtx_hash_table,
const_rtx_sym_hash_table, first_pool, last_pool, pool_offset.

From-SVN: r2392
1992-10-10 09:44:58 +00:00
Jim Wilson
bd2315502c (struct function): Add epilogue_delay_list field.
From-SVN: r2244
1992-09-24 22:52:11 -07:00
Richard Kenner
c56d91f8e7 (struct var_refs_queue): Remove unused field ORIGINAL.
Add new fields PROMOTED_MODE and UNSIGNEDP.

From-SVN: r2176
1992-09-19 15:47:28 -04:00
Jim Wilson
ba534a45c7 (identify_blocks): Declare.
(rtx, tree): Move undefs to the very end.

From-SVN: r1798
1992-08-11 12:50:24 -07:00
Charles Hannum
bf6beae550 entered into RCS
From-SVN: r396
1992-03-05 20:20:59 +00:00