summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpbrook <pbrook@138bc75d-0d04-0410-961f-82ee72b054a4>2006-01-20 00:01:56 +0000
committerpbrook <pbrook@138bc75d-0d04-0410-961f-82ee72b054a4>2006-01-20 00:01:56 +0000
commitc4d51de2acd95ca21cedbe2af9aa5d02443c35f5 (patch)
tree76208370f7c3085b2b7489f49499ed35347a2926
parent6a3be917fd2500baa4bf236f96aadb9f1f3ee0ad (diff)
downloadgcc-c4d51de2acd95ca21cedbe2af9aa5d02443c35f5.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@109994 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/arm/arm.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bc65db86367..ff5462f26a7 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 e5309e046dd..23f64aee38b 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;