gcc/ChangeLog.gimple-classes:
        * tree-eh.c (stmt_could_throw_1_p): Add checked casts.
        (sink_clobbers): Add checked cast.
---
 gcc/ChangeLog.gimple-classes | 5 +++++
 gcc/tree-eh.c                | 8 +++++---
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/gcc/ChangeLog.gimple-classes b/gcc/ChangeLog.gimple-classes
index 7055011..7834eb0 100644
--- a/gcc/ChangeLog.gimple-classes
+++ b/gcc/ChangeLog.gimple-classes
@@ -1,5 +1,10 @@
 2014-11-03  David Malcolm  <dmalc...@redhat.com>
 
+       * tree-eh.c (stmt_could_throw_1_p): Add checked casts.
+       (sink_clobbers): Add checked cast.
+
+2014-11-03  David Malcolm  <dmalc...@redhat.com>
+
        * tree-if-conv.c (parse_predicate): Replace is_gimple_assign
        with a dyn_cast, strengthening local "s" from gimple to gassign *.
        (if_convertible_gimple_assign_stmt_p): Strengthen param "stmt"
diff --git a/gcc/tree-eh.c b/gcc/tree-eh.c
index 4974051..f867142 100644
--- a/gcc/tree-eh.c
+++ b/gcc/tree-eh.c
@@ -2760,7 +2760,7 @@ stmt_could_throw_1_p (gimple stmt)
     {
       if (is_gimple_assign (stmt)
          && TREE_CODE_CLASS (code) == tcc_comparison)
-       t = TREE_TYPE (gimple_assign_rhs1 (stmt));
+       t = TREE_TYPE (gimple_assign_rhs1 (as_a <gassign *> (stmt)));
       else if (gimple_code (stmt) == GIMPLE_COND)
        t = TREE_TYPE (gimple_cond_lhs (stmt));
       else
@@ -2776,7 +2776,9 @@ stmt_could_throw_1_p (gimple stmt)
     }
 
   /* Check if the main expression may trap.  */
-  t = is_gimple_assign (stmt) ? gimple_assign_rhs2 (stmt) : NULL;
+  t = (is_gimple_assign (stmt)
+       ? gimple_assign_rhs2 (as_a <gassign *> (stmt))
+       : NULL);
   ret = operation_could_trap_helper_p (code, fp_operation, honor_trapv,
                                       honor_nans, honor_snans, t,
                                       &handled);
@@ -3514,7 +3516,7 @@ sink_clobbers (basic_block bb)
        continue;
       if (gimple_code (stmt) == GIMPLE_LABEL)
        break;
-      lhs = gimple_assign_lhs (stmt);
+      lhs = gimple_assign_lhs (as_a <gassign *> (stmt));
       /* Unfortunately we don't have dominance info updated at this
         point, so checking if
         dominated_by_p (CDI_DOMINATORS, succbb,
-- 
1.7.11.7

Reply via email to