From a6398abe39206cc17ae1a67d3374c1482e15d07b Mon Sep 17 00:00:00 2001 From: jason Date: Fri, 31 Aug 2001 09:49:13 +0000 Subject: * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45315 138bc75d-0d04-0410-961f-82ee72b054a4 --- libstdc++-v3/ChangeLog | 5 +++++ libstdc++-v3/libsupc++/eh_personality.cc | 14 ++++++-------- 2 files changed, 11 insertions(+), 8 deletions(-) (limited to 'libstdc++-v3') diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 10e76175daa..d4227cd2030 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,8 @@ +2001-08-31 Jason Merrill + + * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Simplify + leb128 handling. + 2001-08-28 Loren J. Rittle * include/Makefile.am: Use toplevel_srcdir to refer to src files diff --git a/libstdc++-v3/libsupc++/eh_personality.cc b/libstdc++-v3/libsupc++/eh_personality.cc index 044212832a6..d070ced8101 100644 --- a/libstdc++-v3/libsupc++/eh_personality.cc +++ b/libstdc++-v3/libsupc++/eh_personality.cc @@ -84,7 +84,7 @@ parse_lsda_header (_Unwind_Context *context, const unsigned char *p, } static const std::type_info * -get_ttype_entry (lsda_header_info *info, long i) +get_ttype_entry (lsda_header_info *info, _Unwind_Word i) { _Unwind_Ptr ptr; @@ -97,14 +97,14 @@ get_ttype_entry (lsda_header_info *info, long i) static bool check_exception_spec (lsda_header_info *info, const std::type_info *throw_type, - long filter_value) + _Unwind_Sword filter_value) { const unsigned char *e = info->TType - filter_value - 1; while (1) { const std::type_info *catch_type; - _Unwind_Ptr tmp; + _Unwind_Word tmp; void *dummy; e = read_uleb128 (e, &tmp); @@ -262,7 +262,7 @@ PERSONALITY_FUNCTION (int version, { // Otherwise we have a catch handler or exception specification. - signed long ar_filter, ar_disp; + _Unwind_Sword ar_filter, ar_disp; const std::type_info *throw_type, *catch_type; bool saw_cleanup = false; bool saw_handler = false; @@ -279,11 +279,9 @@ PERSONALITY_FUNCTION (int version, while (1) { - _Unwind_Ptr tmp; - p = action_record; - p = read_sleb128 (p, &tmp); ar_filter = tmp; - read_sleb128 (p, &tmp); ar_disp = tmp; + p = read_sleb128 (p, &ar_filter); + read_sleb128 (p, &ar_disp); if (ar_filter == 0) { -- cgit v1.2.1