summaryrefslogtreecommitdiff
path: root/gcc/function.c
diff options
context:
space:
mode:
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2000-03-09 19:01:47 +0000
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2000-03-09 19:01:47 +0000
commitf929a98a102bd45c0cfd909caa136b1ea3e428b2 (patch)
tree0c173c0ea7357ad6956b8a86933712368ca50d23 /gcc/function.c
parentb9eaf89e3e8fa6c177925d01a838bafbe9036f40 (diff)
downloadgcc-f929a98a102bd45c0cfd909caa136b1ea3e428b2.tar.gz
* except.c (can_throw): See through a SEQUENCE.
(nothrow_function_p): New fn. * except.h: Declare it. * function.c (current_function_nothrow): New var. (prepare_function_start): Initialize it. * output.h: Declare it. * toplev.c (rest_of_compilation): Set it. * dwarf2out.c (dwarf2out_begin_prologue): Use it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32449 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/function.c')
-rw-r--r--gcc/function.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/function.c b/gcc/function.c
index 093a0d83c04..1ffb821dda4 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -107,6 +107,11 @@ Boston, MA 02111-1307, USA. */
compiler passes. */
int current_function_is_leaf;
+/* Nonzero if function being compiled doesn't contain any instructions
+ that can throw an exception. This is set prior to final. */
+
+int current_function_nothrow;
+
/* Nonzero if function being compiled doesn't modify the stack pointer
(ignoring the prologue and epilogue). This is only valid after
life_analysis has run. */
@@ -5760,6 +5765,7 @@ prepare_function_start ()
current_function_calls_alloca = 0;
current_function_contains_functions = 0;
current_function_is_leaf = 0;
+ current_function_nothrow = 0;
current_function_sp_is_unchanging = 0;
current_function_uses_only_leaf_regs = 0;
current_function_has_computed_jump = 0;