aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2001-08-31 09:49:13 +0000
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2001-08-31 09:49:13 +0000
commita6398abe39206cc17ae1a67d3374c1482e15d07b (patch)
tree02c8c8bebc7f6cfaa8805ed08c15689b797b575c /libstdc++-v3
parentac8b36b901ecf1301184713972b16dcd780cf34f (diff)
* 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
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/ChangeLog5
-rw-r--r--libstdc++-v3/libsupc++/eh_personality.cc14
2 files changed, 11 insertions, 8 deletions
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 <jason_merrill@redhat.com>
+
+ * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Simplify
+ leb128 handling.
+
2001-08-28 Loren J. Rittle <ljrittle@acm.org>
* 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)
{