@@ -1,5 +1,15 @@
2014-11-04 David Malcolm <dmalcolm@redhat.com>
+ * cfgexpand.c (gimple_assign_rhs_to_tree): Strengthen param from
+ gimple to const gassign *.
+ (expand_debug_expr): Add checked cast.
+ (expand_gimple_basic_block): Likewise.
+ * cfgexpand.h (gimple_assign_rhs_to_tree): Strengthen param from
+ gimple to const gassign *.
+ * tree-ssa.c (insert_debug_temp_for_var_def): Add checked cast.
+
+2014-11-04 David Malcolm <dmalcolm@redhat.com>
+
* asan.c (asan_expand_check_ifn): Strengthen local "shadow_test"
from gimple to gassign *. Introduce gassign * locals "add_7",
"cast", "t_ge_shadow", "and_expr", using them in place of
@@ -108,7 +108,7 @@ static rtx expand_debug_expr (tree);
statement STMT. */
tree
-gimple_assign_rhs_to_tree (gimple stmt)
+gimple_assign_rhs_to_tree (const gassign *stmt)
{
tree t;
enum gimple_rhs_class grhs_class;
@@ -4558,7 +4558,8 @@ expand_debug_expr (tree exp)
gimple g = get_gimple_for_ssa_name (exp);
if (g)
{
- op0 = expand_debug_expr (gimple_assign_rhs_to_tree (g));
+ op0 = expand_debug_expr (gimple_assign_rhs_to_tree (
+ as_a <gassign *> (g)));
if (!op0)
return NULL;
}
@@ -5044,7 +5045,8 @@ expand_gimple_basic_block (basic_block bb, bool disable_tail_calls)
replace all uses of OP in debug insns with that
temporary. */
gimple debugstmt;
- tree value = gimple_assign_rhs_to_tree (def);
+ tree value =
+ gimple_assign_rhs_to_tree (as_a <gassign *> (def));
tree vexpr = make_node (DEBUG_EXPR_DECL);
rtx val;
enum machine_mode mode;
@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3. If not see
#ifndef GCC_CFGEXPAND_H
#define GCC_CFGEXPAND_H
-extern tree gimple_assign_rhs_to_tree (gimple);
+extern tree gimple_assign_rhs_to_tree (const gassign *);
extern HOST_WIDE_INT estimated_stack_frame_size (struct cgraph_node *);
#endif /* GCC_CFGEXPAND_H */
@@ -416,7 +416,7 @@ insert_debug_temp_for_var_def (gimple_stmt_iterator *gsi, tree var)
}
if (!no_value)
- value = gimple_assign_rhs_to_tree (def_stmt);
+ value = gimple_assign_rhs_to_tree (as_a <gassign *> (def_stmt));
}
if (value)