summaryrefslogtreecommitdiff
path: root/gcc/except.c
Commit message (Collapse)AuthorAgeFilesLines
* * except.c (end_eh_unwinder): If we have a return instruction, wemrs1997-06-191-0/+8
| | | | | | | | | have to make sure we use it and don't fall off the end of the function in the unwinder. Fixes EH codegen bug on vax-dec-vms git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14258 138bc75d-0d04-0410-961f-82ee72b054a4
* * except.c (push_eh_entry): Eliminate start of exception regionmrs1997-05-291-17/+18
| | | | | | | | | | | | | | | | | label, as it isn't used. Rename end_label to outer_context. (expand_eh_region_start_for_decl): Likewise. (expand_leftover_cleanups): Likewise. (expand_start_all_catch): Likewise. * except.h (eh_entry): Likewise. * except.c (expand_eh_region_end): Likewise. Jump around the nop that we insert, so that we can optimize it away, if it is unused, also so that flow analysis can tell if we fall through to the end of a function or not so that it can know if a function that returns a value, in fact does or not. Fixes g++.jason/return2.C when using -fno-sjlj-exceptions git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14135 138bc75d-0d04-0410-961f-82ee72b054a4
* * except.c (expand_start_all_catch): If the machine needs tomrs1997-05-161-0/+12
| | | | | | | | | | | | perform any actions at the start of an expcetion handler that hasn't already been done, use gen_exception_receiver to emit it. (expand_leftover_cleanups): Likewise. * alpha/alpha.md (exception_receiver): Use it. * pa/pa.h (exception_receiver): Use it. Fix -fpic on hppa when excetpions are throw across shared libraries. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14070 138bc75d-0d04-0410-961f-82ee72b054a4
* * except.c (expand_start_all_catch): If the machine needs amrs1997-05-131-0/+12
| | | | | | | | | | nonlocal_goto_receiver, add one at the start of the exception handler. (expand_leftover_cleanups): Likewise. Potential fix for eh on alpha, rs6000, and hppa. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14060 138bc75d-0d04-0410-961f-82ee72b054a4
* * except.c (start_dynamic_handler): Fix so that we can usemrs1997-05-071-7/+11
| | | | | | | | | | | | | | | | __builtin_setjmp, and default to using __builtin_setjmp instead of setjmp. * expr.c (expand_builtin_setjmp): New routine, split out from existing inline code from expand_builtin. (expand_builtin): Split out code into expand_builtin_setjmp. * expr.h (expand_builtin_setjmp): Add declaration. * libgcc2.c (__sjthrow): Default to using __builtin_setjmp instead of setjmp. (__sjpopnthrow): Likewise. * optabs.c (init_optabs): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14045 138bc75d-0d04-0410-961f-82ee72b054a4
* * except.c (expand_eh_region_start_tree): Add DECL argument so wemrs1997-04-291-37/+21
| | | | | | | | | | | | | | | | | | | | | can better track why the region was made for error reporting. * except.h (expand_eh_region_start_tree): Likewise. * tree.h (expand_dhc_cleanup): Likewise. (expand_dcc_cleanup): Likewise. * except.c (expand_eh_region_start_for_decl): New routine. * except.h (expand_eh_region_start_for_decl): Likewise. * stmt.c (expand_decl_cleanup): Add DECL to call of expand_eh_region_start_tree. (expand_dcc_cleanup): Likewise. (expand_dhc_cleanup): Likewise. (expand_start_case): Switches introduce conditional contexts. (expand_start_case_dummy): Likewise. (expand_start_case_dummy): Likewise. (expand_end_case): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@13990 138bc75d-0d04-0410-961f-82ee72b054a4
* Add setjmp/longjmp exception handling.mrs1997-04-231-117/+627
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@13969 138bc75d-0d04-0410-961f-82ee72b054a4
* * except.c (find_exception_handler_labels): Initialize label arraymrs1997-02-071-45/+46
| | | | | | | with zeroes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@13613 138bc75d-0d04-0410-961f-82ee72b054a4
* Updates from Bob.mrs1996-10-291-57/+192
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@13061 138bc75d-0d04-0410-961f-82ee72b054a4
* Manson: Doc +kenner1996-09-151-194/+479
| | | | | | | | | (add_partial_entry): New routine. (expand_start_try_stmts): Moved from cp/except.c. (expand_start_all_catch): Move functionality of expand_end_try_stmts here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@12716 138bc75d-0d04-0410-961f-82ee72b054a4
* (add_eh_table_entry): Multiply realloc size by sizeof int.wilson1996-08-301-1/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@12678 138bc75d-0d04-0410-961f-82ee72b054a4
* * libgcc2.c (__throw): New routine.mrs1996-08-161-3/+12
| | | | | | | | | | | | | | | (__eh_pc): New data object for exception handling. * except.c (eh_saved_pc): New object so we can call assemble_external. (expand_internal_throw_indirect): Call assemble_external for __eh_pc. (end_eh_unwinder): Ditto. (init_eh): Initialize eh_saved_pc. fixes eh6.C on rs6000 and alpha git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@12646 138bc75d-0d04-0410-961f-82ee72b054a4
* Oops.mrs1996-07-261-0/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@12566 138bc75d-0d04-0410-961f-82ee72b054a4
* Initial revisionmrs1996-07-231-0/+1139
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@12551 138bc75d-0d04-0410-961f-82ee72b054a4