Steve Ellcey
cb94b1559a
unwind-cxx.h (__cxa_exception): Change catchTemp type from void* to _Unwind_Ptr.
...
* libstdc++-v3/libsupc++/unwind-cxx.h (__cxa_exception):
Change catchTemp type from void* to _Unwind_Ptr.
* libstdc++-v3/libsupc++/eh_personality.cc (PERSONALITY_FUNCTION):
Do not cast landing_pad or base_of_encoded_value to (void *).
* libstdc++-v3/libsupc++/eh_throw.cc (__gxx_exception_cleanup):
Accept _URC_NO_REASON as a valid reason code.
From-SVN: r56352
2002-08-15 18:05:41 +00:00
Richard Henderson
afaef72670
re PR c++/3719 (Unable to retrow exception in unexpected exception handler.)
...
PR c++/3719
* libsupc++/eh_personality.cc (__cxa_call_unexpected): Copy handler
data out of the exception struct before calling unexpectedHandler.
* g++.dg/eh/unexpected1.C: New.
From-SVN: r51623
2002-03-30 18:56:34 -08:00
Jason Merrill
6afcef6bd2
re PR c++/4381 (Exceptions virtually inherited from a class cause segmentation fault at run time)
...
PR c++/4381
* libsupc++/eh_personality.cc (get_adjusted_ptr): New static fn.
(check_exception_spec): Call it. Take the thrown pointer.
(__cxa_call_unexpected): Pass it.
(PERSONALITY_FUNCTION): Likewise. Use get_adjusted_ptr.
From-SVN: r50936
2002-03-17 19:09:37 -05:00
Jason Merrill
74a3070ffa
eh_personality.cc (__cxa_call_unexpected): Take void*.
...
* libsupc++/eh_personality.cc (__cxa_call_unexpected): Take void*.
* libsupc++/eh_catch.cc (__cxa_begin_catch): Likewise.
* libsupc++/unwind-cxx.h: Adjust.
* src/Makefile.am (strstream.o): Pass -Wno-deprecated.
* libsupc++/eh_type.cc (__cxa_current_exception_type): New file.
* libsupc++/cxxabi.h: Declare it.
* libsupc++/Makefile.am (sources): Add it.
* src/vterminate.cc (verbose_terminate_handler): New file.
* libsupc++/exception: Declare it.
* src/Makefile.am (sources): Add it.
* src/Makefile.am (VPATH): Check the src directory before the top one.
From-SVN: r47132
2001-11-17 21:09:23 -05:00
Benjamin Kosnik
322821b9ad
Make -fno-exceptions work.
...
2001-10-23 Benjamin Kosnik <bkoz@redhat.com>
Make -fno-exceptions work.
* config/locale/c_locale_gnu.cc: Use functexcept.
* include/bits/c++config (__stl_assert): Remove.
(__STL_USE_EXCEPTIONS): Same.
(__STL_TRY): Same.
(__STL_CATCH_ALL): Same.
(__STL_THROW): Same.
(__STL_RETHROW): Same.
(__STL_NOTHROW): Same.
(__STL_UNWIND): Same.
* include/bits/pthread_allocimpl.h: Fix.
* include/bits/std_bitset.h: Same.
* include/bits/std_list.h: Same.
* include/bits/std_memory.h: Same.
* include/bits/std_queue.h: Same.
* include/bits/stl_alloc.h: Same.
* include/bits/stl_deque.h: Same.
* include/bits/stl_list.h: Same.
* include/bits/stl_queue.h: Same.
* include/bits/stl_tempbuf.h: Same.
* include/bits/stl_tree.h: Same.
* include/bits/stl_uninitialized.h: Same.
* include/bits/stl_vector.h: Same.
* include/ext/ropeimpl.h: Same.
* include/ext/slist: Same.
* include/ext/stl_hashtable.h: Same.
* include/ext/stl_rope.h: Same.
* libsupc++/new_op.cc: Include cstdlib.
* libsupc++/eh_personality.cc: Add exception_defines include. Use
__throw_exception_again, tweak.
* libsupc++/eh_aux_runtime.cc: Include stdlib for abort.
* libsupc++/vec.cc: Tweak.
* src/functexcept.cc: Remove unused arguments.
* testsuite/23_containers/bitset_members.cc: Tweak.
From-SVN: r46455
2001-10-24 02:37:56 +00:00
Richard Sandiford
320daf529e
eh_personality.cc (parse_lsda_header): Change type of tmp from _Unwind_Ptr to _Unwind_Word.
...
* libsupc++/eh_personality.cc (parse_lsda_header): Change type of
tmp from _Unwind_Ptr to _Unwind_Word.
From-SVN: r45360
2001-09-03 12:24:24 +00:00
Jason Merrill
6c8d43e78d
exception.cc (PERSONALITY_FUNCTION): Simplify leb128 handling.
...
* exception.cc (PERSONALITY_FUNCTION): Simplify
leb128 handling.
From-SVN: r45317
2001-08-31 08:27:32 -04:00
Jason Merrill
a9985a921e
unwind-pe.h (read_uleb128, [...]): Move actual reading code here.
...
* unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
code here. Take _Unwind_{W,Sw}ord*.
(read_encoded_value_with_base): Use them.
* unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
words.
(extract_cie_info): Simplify read_?leb128 handling.
(execute_stack_op, execute_cfa_program): Likewise.
* unwind-dw2-fde.c (get_cie_encoding): Likewise.
* libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Simplify
leb128 handling.
From-SVN: r45315
2001-08-31 05:49:13 -04:00
Richard Henderson
817e741108
eh_personality.cc: Include unwind-pe.h.
...
* libsupc++/eh_personality.cc: Include unwind-pe.h. Remove
all pointer encoding logic.
(struct lsda_header_info): Add ttype_base.
(get_ttype_entry): Use it instead of a context.
(check_exception_spec): Likewise.
(PERSONALITY_FUNCTION): Initialize ttype_base. Store it in
the c++ exception header for __cxa_call_unexpected.
(__cxa_call_unexpected): Use it.
From-SVN: r41982
2001-05-11 23:16:21 -07:00
Richard Henderson
52a11cbfcf
IA-64 ABI Exception Handling.
...
From-SVN: r40924
2001-03-28 03:04:51 -08:00