aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.c
diff options
context:
space:
mode:
authorJason Merrill <jason@gcc.gnu.org>2000-03-09 14:01:47 -0500
committerJason Merrill <jason@gcc.gnu.org>2000-03-09 14:01:47 -0500
commitfb13d4d024b03ae9c2e43171ebd43babd6ebb4e2 (patch)
tree0c173c0ea7357ad6956b8a86933712368ca50d23 /gcc/function.c
parent8051b17802cf05b70177ae9a370940ba677f1add (diff)
downloadgcc-fb13d4d024b03ae9c2e43171ebd43babd6ebb4e2.zip
gcc-fb13d4d024b03ae9c2e43171ebd43babd6ebb4e2.tar.gz
gcc-fb13d4d024b03ae9c2e43171ebd43babd6ebb4e2.tar.bz2
except.c (can_throw): See through a SEQUENCE.
* 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. From-SVN: r32449
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 093a0d8..1ffb821 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;