]> gcc.gnu.org Git - gcc.git/commit - gcc/cp/ChangeLog
[multiple changes]
authorJason Merrill <jason@yorick.cygnus.com>
Fri, 31 Oct 1997 09:52:55 +0000 (09:52 +0000)
committerJason Merrill <jason@gcc.gnu.org>
Fri, 31 Oct 1997 09:52:55 +0000 (04:52 -0500)
commit6874c2647b322a34cd25c74c2cf2d0b374683df7
tree4369bf2e164b02228c2c4a5d1ae1ceb8ded7b16a
parent59fe8c2c207c0e4309ee5c9734ed16bd096eeedd
[multiple changes]

Fri Oct 31 01:45:31 1997  Jason Merrill  <jason@yorick.cygnus.com>

* libgcc2.c (L_eh): Define __eh_pc.
Replace __eh_type with generic pointer __eh_info.

Fri Oct 31 01:47:57 1997  Jason Merrill  <jason@yorick.cygnus.com>

Support for nested exceptions.
* tinfo2.cc (__is_pointer): New fn.
* exception.cc (struct cp_eh_info): Define.
(__cp_exception_info, __uncatch_exception): New fns.
(__cp_push_exception, __cp_pop_exception): New fns.
* except.c: Lose saved_throw_{type,value,cleanup,in_catch}.
  Lose empty_fndecl.
(init_exception_processing): Likewise.  __eh_pc is now external.
(push_eh_info): New fn.
(get_eh_{info,value,type,caught}): New fns.
(push_eh_cleanup): Just call __cp_pop_exception.
(expand_start_catch_block): Use push_eh_info.  Start the eh region
sooner.
(expand_end_eh_spec): Use push_eh_info.
(expand_throw): Call __cp_push_exception to set up the exception info.
Just pass the destructor or 0 as the cleanup.  Call __uncatch_exception
when we rethrow.
(expand_builtin_throw): Don't refer to empty_fndecl.

From-SVN: r16248
gcc/ChangeLog
gcc/cp/ChangeLog
gcc/cp/except.c
gcc/cp/exception.cc
gcc/cp/tinfo2.cc
gcc/libgcc2.c
This page took 0.096561 seconds and 5 git commands to generate.