diff options
author | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-08-31 12:27:32 +0000 |
---|---|---|
committer | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-08-31 12:27:32 +0000 |
commit | 61fed09ef605b6a8bbfe9814f063316c950ba5b0 (patch) | |
tree | 4b357aba3522c2999c4f6fde6654832e7f8590be /libjava/exception.cc | |
parent | 6b824f7a87a4287643cc7dc0875229593357fb82 (diff) | |
download | gcc-61fed09ef605b6a8bbfe9814f063316c950ba5b0.tar.gz |
* exception.cc (PERSONALITY_FUNCTION): Simplify
leb128 handling.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45317 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/exception.cc')
-rw-r--r-- | libjava/exception.cc | 15 |
1 files changed, 7 insertions, 8 deletions
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) { |