diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bc65db863676cc3cdf1444368e2f14a9c870485c..ff5462f26a7f9053fc7356cc3e0373f4254172c2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2006-01-19 Paul Brook <paul@codesourcery.com> + + * gcc/config/arm/arm.c (arm_compute_func_type): Treat all functions + as nothrow when unwinding tables are disabled. + 2006-01-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> PR testsuite/25171 diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index e5309e046dddee03692dfce26b6c2b934dd31ee2..23f64aee38ba9839b203a88f317a9a15bb37a3c1 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -1413,7 +1413,9 @@ arm_compute_func_type (void) register values that will never be needed again. This optimization was added to speed up context switching in a kernel application. */ if (optimize > 0 - && TREE_NOTHROW (current_function_decl) + && (TREE_NOTHROW (current_function_decl) + || !(flag_unwind_tables + || (flag_exceptions && !USING_SJLJ_EXCEPTIONS))) && TREE_THIS_VOLATILE (current_function_decl)) type |= ARM_FT_VOLATILE;