aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Merrill <jason_merrill@redhat.com>2001-08-31 12:27:32 +0000
committerJason Merrill <jason_merrill@redhat.com>2001-08-31 12:27:32 +0000
commit7f44ac67137715648b39d42841a0eb5d150b87ba (patch)
tree4b357aba3522c2999c4f6fde6654832e7f8590be
parent33f6f4da5d5b0332a2f3b222759e7eb0d18b3b39 (diff)
* exception.cc (PERSONALITY_FUNCTION): Simplify
leb128 handling. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@45317 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--libjava/ChangeLog5
-rw-r--r--libjava/exception.cc15
-rw-r--r--libstdc++-v3/libsupc++/eh_personality.cc5
3 files changed, 15 insertions, 10 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index edfb3418d39..c7eed00c78f 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,8 @@
+2001-08-31 Jason Merrill <jason_merrill@redhat.com>
+
+ * exception.cc (PERSONALITY_FUNCTION): Simplify
+ leb128 handling.
+
2001-08-31 Tom Tromey <tromey@redhat.com>
* java/io/ByteArrayInputStream.java: Merged with Classpath.
diff --git a/libjava/exception.cc b/libjava/exception.cc
index 16bbb9fa114..752236102af 100644
--- a/libjava/exception.cc
+++ b/libjava/exception.cc
@@ -120,7 +120,7 @@ static const unsigned char *
parse_lsda_header (_Unwind_Context *context, const unsigned char *p,
lsda_header_info *info)
{
- _Unwind_Ptr tmp;
+ _Unwind_Word tmp;
unsigned char lpstart_encoding;
info->Start = (context ? _Unwind_GetRegionStart (context) : 0);
@@ -236,7 +236,7 @@ PERSONALITY_FUNCTION (int version,
return _URC_CONTINUE_UNWIND;
else
{
- _Unwind_Ptr cs_lp, cs_action;
+ _Unwind_Word cs_lp, cs_action;
do
{
p = read_uleb128 (p, &cs_lp);
@@ -255,7 +255,8 @@ PERSONALITY_FUNCTION (int version,
// Search the call-site table for the action associated with this IP.
while (p < info.action_table)
{
- _Unwind_Ptr cs_start, cs_len, cs_lp, cs_action;
+ _Unwind_Ptr cs_start, cs_len, cs_lp;
+ _Unwind_Word cs_action;
// Note that all call-site encodings are "absolute" displacements.
p = read_encoded_value (0, info.call_site_encoding, p, &cs_start);
@@ -301,15 +302,13 @@ PERSONALITY_FUNCTION (int version,
else
{
// Otherwise we have a catch handler.
- signed long ar_filter, ar_disp;
+ _Unwind_Sword ar_filter, ar_disp;
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)
{
diff --git a/libstdc++-v3/libsupc++/eh_personality.cc b/libstdc++-v3/libsupc++/eh_personality.cc
index d070ced8101..e735ac860dd 100644
--- a/libstdc++-v3/libsupc++/eh_personality.cc
+++ b/libstdc++-v3/libsupc++/eh_personality.cc
@@ -197,7 +197,7 @@ PERSONALITY_FUNCTION (int version,
}
else
{
- _Unwind_Ptr cs_lp, cs_action;
+ _Unwind_Word cs_lp, cs_action;
do
{
p = read_uleb128 (p, &cs_lp);
@@ -216,7 +216,8 @@ PERSONALITY_FUNCTION (int version,
// Search the call-site table for the action associated with this IP.
while (p < info.action_table)
{
- _Unwind_Ptr cs_start, cs_len, cs_lp, cs_action;
+ _Unwind_Ptr cs_start, cs_len, cs_lp;
+ _Unwind_Word cs_action;
// Note that all call-site encodings are "absolute" displacements.
p = read_encoded_value (0, info.call_site_encoding, p, &cs_start);