Commit Graph

8 Commits

Author SHA1 Message Date
Jeff Law
4283012f9f Copyright fixes.
From-SVN: r24535
1999-01-06 13:44:41 -07:00
Andrew MacLeod
e6cfb550ab See ChangeLog..
Tue Dec  8 15:32:56 EST 1998  Andrew MacLeod  <amacleod@cygnus.com>
See ChangeLog.. These are the files that were changed:
	* eh-common.h (struct eh_context): Add table_index for rethrows.
	* rtl.h (enum reg_note): Add REG_EH_REGION and REG_EH_RETHROW reg notes.
	* rtl.c (reg_note_name): Add strings for new reg_note enums.
	* expr.h (rethrow_libfunc): New library decl.
	* optabs.c (rethrow_libfunc): Initialize.
	* except.h (struct eh_entry): Add new field 'rethrow_label'.
	* except.c (create_rethrow_ref): New function to create a single
	* flow.c (make_edges): Add different edges for rethrow calls,
	* integrate.c (save_for_inline_eh_labelmap): New callback routine to
	* libgcc2.c (find_exception_handler): Generalize to enable it to
        * cp/except.c
        * cp/exception.cc

From-SVN: r24194
1998-12-08 14:04:03 +00:00
Kaveh R. Ghazi
0056a9b5cf configure.in (host_xm_file, [...]): Arrange to include gansidecl.h in {ht}config.h & tm.h just before the config/...
* configure.in (host_xm_file, build_xm_file, xm_file, tm_file):
        Arrange to include gansidecl.h in {ht}config.h & tm.h just
        before the config/ directory headers.
        (tm_file_list, host_xm_file_list, build_xm_file_list): Handle
        gansidecl.h in the list of dependencies.
        * Makefile.in (RTL_BASE_H): Don't depend on gansidecl.h.
        (TREE_H, DEMANGLE_H, RECOG_H, REGS_H, libgcc2.a, stmp-multilib,
        mbchar.o, collect2.o, pexecute.o, vfprintf.o, splay-tree.o, gcc.o,
        gencheck.o, choose-temp.o, mkstemp.o, mkstemp.o, prefix.o,
        dyn-string.o, cexp.o, cccp.o, cppmain.o, cpplib.o, cpperror.o,
        cppexp.o, cppfiles.o, cpphash.o, cppalloc.o, scan-decls.o):
        Likewise.
        * cccp.c: Don't include gansidecl.h.
        * cexp.y: Likewise.
        * collect2.c: Likewise.
        * config/c4x/c4x.c: Likewise.
        * config/v850/v850.h: Likewise.
        * cppalloc.c: Likewise.
        * cpperror.c: Likewise.
        * cppexp.c: Likewise.
        * cppfiles.c: Likewise.
        * cpphash.c: Likewise.
        * cpplib.c: Likewise.
        * cppmain.c: Likewise.
        * cppulp.c: Likewise.
        * demangle.h: Likewise.
        * doprint.c: Likewise.
        * dyn-string.c: Likewise.
        * eh-common.h: Likewise.
        * fix-header.c: Likewise.
        * frame.c: Likewise.
        * gcc.c: Likewise.
        * gcov.c: Likewise.
        * gen-protos.c: Likewise.
        * gencheck.c: Likewise.
        * halfpic.h: Likewise.
        * hash.c: Likewise.
        * machmode.h: Likewise.
        * mbchar.c: Likewise.
        * prefix.c: Likewise.
        * protoize.c: Likewise.
        * recog.h: Likewise.
        * rtl.h: Likewise.
        * scan-decls.c: Likewise.
        * tree.h: Likewise.
        * varray.h: Likewise.

From-SVN: r23558
1998-11-07 13:00:46 +00:00
Andrew MacLeod
9c606f693d [multiple changes]
Thu Jun 25 16:59:18 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
	* except.h (CATCH_ALL_TYPE): Definition moved to eh-common.h.
	(find_all_handler_type_matches): Add function prototype.
	* eh-common.h (CATCH_ALL_TYPE): Definition added.
	* except.c (find_all_handler_type_matches): Add function to find all
	runtime type info in the exception table.
	(output_exception_table_entry): Special case for CATCH_ALL_TYPE.
1998-06-25  Andrew MacLeod  <amacleod@cygnus.com>
	* cp-tree.h (mark_all_runtime_matches): Add function prototype.
	* except.c (mark_all_runtime_matches): Set TREE_SYMBOL_REFERENCED
	flag for all function decls which are in the exception table.
	* exception.cc (__cplus_type_matcher): Check for CATCH_ALL_TYPE match.
	* decl2.c (finish_file): Call mark_all_runtime_matches to make sure
	code is emitted for any referenced rtti function.

From-SVN: r20718
1998-06-25 14:11:54 +00:00
Andrew MacLeod
5816cb14dd Have -fnew-exceptions actually use the runtime field, and not generate runtime checking code inside each handler.
Have -fnew-exceptions actually use the runtime field, and not generate
runtime checking code inside each handler.
THis works at low opt, but not with optimization at the moment.
Tue Jun 23 10:06:07 EDT 1998  Andrew MacLeod  (amacleod@cygnus.com)
	* eh-common.h (struct __eh_info): Remove coerced value field.
	* libgcc2.c (find_exception_handler): Don't set coerced_value field.
	* except.c (get_dynamic_handler_chain, get_dynamic_cleanup_chain): Use
	POINTER_SIZE instead of Pmode.
	(expand_start_all_catch): Call start_catch_handler() if we are not
	using new style exceptions.
1998-06-22  Andrew MacLeod  (amacleod@cygnus.com)
	* parse.y (function_try_block): Don't call start_catch_handler.
	* except.c (call_eh_info): Remove coerced field from declaration.
	(build_eh_type_type_ref): New function to create an address of a
	rtti function for the new style exception tables.
	(expand_start_catch_block): Split function, this contains the
	common part.
	(process_start_catch_block_old): New function to perform the rest
	of expand_start_catch_block under old style exceptions.
	(process_start_catch_block_old): New function to perform the rest
	of expand_start_catch_block under new style exceptions.
	(expand_end_catch_block): Only pop the false label off the stack under
	the old style of exceptions.
	* semantics.c (finish_try_block): Don't call start_catch_handler.
	* exception.cc (struct cp_eh_info): Add original_value field.
	(__cplus_type_matcher): Perform type matching on the original exception
	value, and if we have a match, set the current value.
	(__cp_push_exception): Set the original expcetion value.

From-SVN: r20671
1998-06-23 07:10:29 +00:00
Andrew MacLeod
3301dc5191 eh-common.h (struct eh_context): Add comment for hidden use of field dynamic_handler_chain.
* eh-common.h (struct eh_context): Add comment for hidden use of
        field dynamic_handler_chain.
        * except.c (get_dynamic_handler_chain): Comment on, and use the
        correct offset of the dynamic_handler_chain field.

From-SVN: r20540
1998-06-17 13:05:54 +00:00
Andrew MacLeod
a1622f838f [multiple changes]
Thu Jun  8 14:16:15 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
	* eh-common.h: Remove NEW_EH_MODEL compile time flag, and replace with
	flag_new_exceptions runtime flag.
	(struct old_exception_table): New struct which represents what
	the exception table looks like without the new model.
	(NEW_EH_RUNTIME): New value used as a tag in the exception table to
	flag that this is a new style table.
	* except.h: Remove compile time flag NEW_EH_MODEL.
	(expand_builtin_eh_stub_old): New prototype.
	* tree.h (enum built_in_function): Add BUILT_IN_EH_STUB_OLD.
	* expr.c (expand_builtin): New builtin func BUILT_IN_EH_STUB_OLD.
	* c-decl.c (init_decl_processing): Add new builtin function
	__builtin_eh_stub_old.
	* final.c (final_scan_insn): Replace compile time flag NEW_EH_MODEL.
	* flags.h (flag_new_exceptions): New runtime flag.
	* toplev.c (flag_new_exceptions): Initialize default to 0,
	-fnew-exceptions sets to 1.
	* except.c (output_exception_table_entry): Output New style exception
	identifier into table, and replace compile time flag NEW_EH_MODEL
	with runtime flag flag_new_exceptions.
	(output_exception_table): Replace compile time flag NEW_EH_MODEL.
	(expand_builtin_eh_stub_old): Duplicates original functionality of
	expand_builtin_eh_stub.
	(expand_builtin_eh_stub): Replace compile time flag NEW_EH_MODEL.
	* libgcc2.c (find_exception_handler): Remove NEW_EH_MODEL #ifdefs.
	(old_find_exception_handler): New func, same as find_exception_handler
	except it works on the old style exception table.
	(__throw): Replace NEW_EH_MODEL. Detect new model based on presence
	of identifier in the exception table, and call appropriate routines.
1998-06-08  Andrew MacLeod  <amacleod@cygnus.com>
	* except.c (init_exception_processing): Remove NEW_EH_MODEL compile
	time flag.  Call __cp_eh_info instead of __cp_exception_info.
	* exception.cc (struct cp_eh_info): Remove NEW_EH_MODEL flag.
	(__cp_exception_info): Return offset into cp_eh_info structure to
	match what use to be the start of this structure.
	(__cp_eh_info): New function to return a pointer to cp_eh_info struct.
	(__cplus_type_matcher, __cp_push_exception): Remove NEW_EH_MODEL
	compile time flag.
	(__uncatch_exception, __check_eh_spec, std::uncaught_exception): Call
	__cp_eh_info instead of __cp_exception_info.

From-SVN: r20336
1998-06-08 12:43:28 +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