]> gcc.gnu.org Git - gcc.git/commit - gcc/except.c
Have -fnew-exceptions actually use the runtime field, and not generate runtime checki...
authorAndrew MacLeod <amacleod@cygnus.com>
Tue, 23 Jun 1998 07:10:29 +0000 (07:10 +0000)
committerAndrew Macleod <amacleod@gcc.gnu.org>
Tue, 23 Jun 1998 07:10:29 +0000 (07:10 +0000)
commit5816cb14dd6c7d682888a0cdd52a73e0867edd05
treecaff48e4d357cdb27c61741d2e59101bb1bba09b
parent83de03dfd8d9c845da0d3370839dbf1518c48f52
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
gcc/ChangeLog
gcc/cp/ChangeLog
gcc/cp/except.c
gcc/cp/exception.cc
gcc/cp/parse.y
gcc/cp/semantics.c
gcc/eh-common.h
gcc/except.c
gcc/libgcc2.c
This page took 0.058033 seconds and 5 git commands to generate.