diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b31e37d6807de75f81e5bbd4547deb5f2311c7d4..921109aa3188825cf478ca34356e38d4785f4dc3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2011-03-21 Daniel Jacobowitz <dan@codesourcery.com> + + * config/arm/unwind-arm.c (__gnu_unwind_pr_common): Correct test + for barrier handlers. + 2011-03-21 Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/rs6000.md (UNSPEC_*, UNSPECV_*): Redefine all diff --git a/gcc/config/arm/unwind-arm.c b/gcc/config/arm/unwind-arm.c index 2c6e004890e372e08a8928096ab69fa8489e338f..4a9e2325c39afca79d05148be46ff72663a8b5cd 100644 --- a/gcc/config/arm/unwind-arm.c +++ b/gcc/config/arm/unwind-arm.c @@ -1196,8 +1196,6 @@ __gnu_unwind_pr_common (_Unwind_State state, ucbp->barrier_cache.bitpattern[4] = (_uw) &data[1]; if (data[0] & uint32_highbit) - phase2_call_unexpected_after_unwind = 1; - else { data += rtti_count + 1; /* Setup for entry to the handler. */ @@ -1207,6 +1205,8 @@ __gnu_unwind_pr_common (_Unwind_State state, _Unwind_SetGR (context, 0, (_uw) ucbp); return _URC_INSTALL_CONTEXT; } + else + phase2_call_unexpected_after_unwind = 1; } if (data[0] & uint32_highbit) data++;