From: Carlos O'Donell Date: Mon, 4 Dec 2006 17:25:36 +0000 (+0000) Subject: unwind-arm.c: Adjust __cxa_type_match declaration. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7f575bf6d48e70be2184a4f7d19dd7c78c6f5113;p=gcc.git unwind-arm.c: Adjust __cxa_type_match declaration. gcc/ 2006-12-04 Carlos O'Donell * config/arm/unwind-arm.c: Adjust __cxa_type_match declaration. (__gnu_unwind_pr_common): Pass is_reference to __cxa_type_match. From-SVN: r119498 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8e51debe452..a36a042010a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2006-12-04 Carlos O'Donell + + * config/arm/unwind-arm.c: Adjust __cxa_type_match declaration. + (__gnu_unwind_pr_common): Pass is_reference to __cxa_type_match. + 2006-12-04 Andrew MacLeod * tree-outof-ssa.c (coalesce_ssa_name): Use calculate_live_ranges. diff --git a/gcc/config/arm/unwind-arm.c b/gcc/config/arm/unwind-arm.c index 6b7e2ddcd26..9b7229e9486 100644 --- a/gcc/config/arm/unwind-arm.c +++ b/gcc/config/arm/unwind-arm.c @@ -41,6 +41,7 @@ void __attribute__((weak)) __cxa_call_unexpected(_Unwind_Control_Block *ucbp); bool __attribute__((weak)) __cxa_begin_cleanup(_Unwind_Control_Block *ucbp); bool __attribute__((weak)) __cxa_type_match(_Unwind_Control_Block *ucbp, const type_info *rttip, + bool is_reference, void **matched_object); _Unwind_Ptr __attribute__((weak)) @@ -847,6 +848,7 @@ __gnu_unwind_pr_common (_Unwind_State state, { /* Check for a barrier. */ _uw rtti; + bool is_reference = (data[0] & uint32_highbit) != 0; void *matched; /* Check for no-throw areas. */ @@ -860,6 +862,7 @@ __gnu_unwind_pr_common (_Unwind_State state, /* Match a catch specification. */ rtti = _Unwind_decode_target2 ((_uw) &data[1]); if (!__cxa_type_match (ucbp, (type_info *) rtti, + is_reference, &matched)) matched = (void *)0; } @@ -907,7 +910,7 @@ __gnu_unwind_pr_common (_Unwind_State state, { matched = (void *)(ucbp + 1); rtti = _Unwind_decode_target2 ((_uw) &data[i + 1]); - if (__cxa_type_match (ucbp, (type_info *) rtti, + if (__cxa_type_match (ucbp, (type_info *) rtti, 0, &matched)) break; }