diff options
author | Jason Merrill <jason@redhat.com> | 2004-06-11 14:41:47 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2004-06-11 14:41:47 -0400 |
commit | 67c605a553faab6244a1b1d987059798e6c1f9aa (patch) | |
tree | 53b714fbb57b9a4edc2c059014d88e351591041f /gcc/tree-eh.c | |
parent | 67fc0c0f596944a4bc88cb8d8061bf4c8753c03f (diff) | |
download | gcc-67c605a553faab6244a1b1d987059798e6c1f9aa.zip gcc-67c605a553faab6244a1b1d987059798e6c1f9aa.tar.gz gcc-67c605a553faab6244a1b1d987059798e6c1f9aa.tar.bz2 |
i386.h (EXPAND_BUILTIN_VA_ARG): Just abort.
* config/i386/i386.h (EXPAND_BUILTIN_VA_ARG): Just abort.
* config/i386/i386.c (ix86_va_arg): Remove.
* config/rs6000/rs6000.h (EXPAND_BUILTIN_VA_ARG): Just abort.
* config/rs6000/rs6000.c (rs6000_va_arg): Remove.
* config/alpha/alpha.h (EXPAND_BUILTIN_VA_ARG): Just abort.
* config/alpha/alpha.c (alpha_va_arg): Remove.
* config/sparc/sparc.h (EXPAND_BUILTIN_VA_ARG): Just abort.
* config/sparc/sparc.c (sparc_va_arg): Remove.
* tree-ssa-operands.c (get_stmt_operands): Use a V_MAY_DEF if the
assignment might throw.
* tree-eh.c (tree_could_throw_p): Support non-call exceptions in
expressions.
From-SVN: r82992
Diffstat (limited to 'gcc/tree-eh.c')
-rw-r--r-- | gcc/tree-eh.c | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/gcc/tree-eh.c b/gcc/tree-eh.c index 7d38981..a4a0bc4 100644 --- a/gcc/tree-eh.c +++ b/gcc/tree-eh.c @@ -1716,24 +1716,16 @@ tree_could_throw_p (tree t) return false; if (TREE_CODE (t) == MODIFY_EXPR) { - tree sub = TREE_OPERAND (t, 1); - if (TREE_CODE (sub) == CALL_EXPR) - t = sub; - else - { - if (flag_non_call_exceptions) - { - if (tree_could_trap_p (sub)) - return true; - return tree_could_trap_p (TREE_OPERAND (t, 0)); - } - return false; - } + if (flag_non_call_exceptions + && tree_could_trap_p (TREE_OPERAND (t, 0))) + return true; + t = TREE_OPERAND (t, 1); } if (TREE_CODE (t) == CALL_EXPR) return (call_expr_flags (t) & ECF_NOTHROW) == 0; - + if (flag_non_call_exceptions) + return tree_could_trap_p (t); return false; } |