diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/except.c | 12 |
2 files changed, 12 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5ef2cd0..16c94db 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,11 @@ 2014-08-27 David Malcolm <dmalcolm@redhat.com> + * except.c (can_throw_external): Strengthen local "seq" from rtx + to rtx_sequence *. Use methods of rtx_sequence. + (insn_nothrow_p): Likewise. + +2014-08-27 David Malcolm <dmalcolm@redhat.com> + * dwarf2cfi.c (create_trace_edges): Convert GET_CODE check into a dyn_cast, strengthening local "seq" from rtx to rtx_sequence *. Use methods of rtx_sequence. diff --git a/gcc/except.c b/gcc/except.c index 7decba5..05da989 100644 --- a/gcc/except.c +++ b/gcc/except.c @@ -1877,11 +1877,11 @@ can_throw_external (const_rtx insn) if (NONJUMP_INSN_P (insn) && GET_CODE (PATTERN (insn)) == SEQUENCE) { - rtx seq = PATTERN (insn); - int i, n = XVECLEN (seq, 0); + rtx_sequence *seq = as_a <rtx_sequence *> (PATTERN (insn)); + int i, n = seq->len (); for (i = 0; i < n; i++) - if (can_throw_external (XVECEXP (seq, 0, i))) + if (can_throw_external (seq->element (i))) return true; return false; @@ -1921,11 +1921,11 @@ insn_nothrow_p (const_rtx insn) if (NONJUMP_INSN_P (insn) && GET_CODE (PATTERN (insn)) == SEQUENCE) { - rtx seq = PATTERN (insn); - int i, n = XVECLEN (seq, 0); + rtx_sequence *seq = as_a <rtx_sequence *> (PATTERN (insn)); + int i, n = seq->len (); for (i = 0; i < n; i++) - if (!insn_nothrow_p (XVECEXP (seq, 0, i))) + if (!insn_nothrow_p (seq->element (i))) return false; return true; |