]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
arm.c (arm_compute_func_type): Treat all functions as nothrow when unwinding tables...
authorPaul Brook <paul@codesourcery.com>
Fri, 20 Jan 2006 00:01:56 +0000 (00:01 +0000)
committerPaul Brook <pbrook@gcc.gnu.org>
Fri, 20 Jan 2006 00:01:56 +0000 (00:01 +0000)
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.

From-SVN: r109994

gcc/ChangeLog
gcc/config/arm/arm.c

index bc65db863676cc3cdf1444368e2f14a9c870485c..ff5462f26a7f9053fc7356cc3e0373f4254172c2 100644 (file)
@@ -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
index e5309e046dddee03692dfce26b6c2b934dd31ee2..23f64aee38ba9839b203a88f317a9a15bb37a3c1 100644 (file)
@@ -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;