Commit 7f575bf6 by Carlos O'Donell Committed by Carlos O'Donell

unwind-arm.c: Adjust __cxa_type_match declaration.


gcc/

2006-12-04  Carlos O'Donell  <carlos@codesourcery.com>

	* config/arm/unwind-arm.c: Adjust __cxa_type_match declaration.
	(__gnu_unwind_pr_common): Pass is_reference to __cxa_type_match.

From-SVN: r119498
parent 32ace6e2
2006-12-04 Carlos O'Donell <carlos@codesourcery.com>
* 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 <amacleod@redhat.com> 2006-12-04 Andrew MacLeod <amacleod@redhat.com>
* tree-outof-ssa.c (coalesce_ssa_name): Use calculate_live_ranges. * tree-outof-ssa.c (coalesce_ssa_name): Use calculate_live_ranges.
......
...@@ -41,6 +41,7 @@ void __attribute__((weak)) __cxa_call_unexpected(_Unwind_Control_Block *ucbp); ...@@ -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_begin_cleanup(_Unwind_Control_Block *ucbp);
bool __attribute__((weak)) __cxa_type_match(_Unwind_Control_Block *ucbp, bool __attribute__((weak)) __cxa_type_match(_Unwind_Control_Block *ucbp,
const type_info *rttip, const type_info *rttip,
bool is_reference,
void **matched_object); void **matched_object);
_Unwind_Ptr __attribute__((weak)) _Unwind_Ptr __attribute__((weak))
...@@ -847,6 +848,7 @@ __gnu_unwind_pr_common (_Unwind_State state, ...@@ -847,6 +848,7 @@ __gnu_unwind_pr_common (_Unwind_State state,
{ {
/* Check for a barrier. */ /* Check for a barrier. */
_uw rtti; _uw rtti;
bool is_reference = (data[0] & uint32_highbit) != 0;
void *matched; void *matched;
/* Check for no-throw areas. */ /* Check for no-throw areas. */
...@@ -860,6 +862,7 @@ __gnu_unwind_pr_common (_Unwind_State state, ...@@ -860,6 +862,7 @@ __gnu_unwind_pr_common (_Unwind_State state,
/* Match a catch specification. */ /* Match a catch specification. */
rtti = _Unwind_decode_target2 ((_uw) &data[1]); rtti = _Unwind_decode_target2 ((_uw) &data[1]);
if (!__cxa_type_match (ucbp, (type_info *) rtti, if (!__cxa_type_match (ucbp, (type_info *) rtti,
is_reference,
&matched)) &matched))
matched = (void *)0; matched = (void *)0;
} }
...@@ -907,7 +910,7 @@ __gnu_unwind_pr_common (_Unwind_State state, ...@@ -907,7 +910,7 @@ __gnu_unwind_pr_common (_Unwind_State state,
{ {
matched = (void *)(ucbp + 1); matched = (void *)(ucbp + 1);
rtti = _Unwind_decode_target2 ((_uw) &data[i + 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)) &matched))
break; break;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment