From 0f4783c7f7c01596686da28e6fe86e0b69a43f3e Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Wed, 27 Aug 2014 20:38:06 +0000 Subject: [PATCH] rtl_data.x_stack_slot_list becomes an rtx_expr_list gcc/ 2014-08-27 David Malcolm * function.h (struct rtl_data): Strengthen field "x_stack_slot_list" from rtx to rtx_expr_list *. * emit-rtl.c (unshare_all_rtl_1): Add a checked cast when assigning to stack_slot_list. From-SVN: r214604 --- gcc/ChangeLog | 8 ++++++++ gcc/emit-rtl.c | 3 ++- gcc/function.h | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 25939ac35d9..9fbf522c75a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2014-08-27 David Malcolm + + * function.h (struct rtl_data): Strengthen field + "x_stack_slot_list" from rtx to rtx_expr_list *. + + * emit-rtl.c (unshare_all_rtl_1): Add a checked cast + when assigning to stack_slot_list. + 2014-08-27 David Malcolm * function.h (struct rtl_data): Strengthen field diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index f5ec8b4493b..6cfaef6342a 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -2555,7 +2555,8 @@ unshare_all_rtl_1 (rtx_insn *insn) This special care is necessary when the stack slot MEM does not actually appear in the insn chain. If it does appear, its address is unshared from all else at that point. */ - stack_slot_list = copy_rtx_if_shared (stack_slot_list); + stack_slot_list = safe_as_a ( + copy_rtx_if_shared (stack_slot_list)); } /* Go through all the RTL insn bodies and copy any invalid shared diff --git a/gcc/function.h b/gcc/function.h index a176e0ac66b..1f8da7a6a66 100644 --- a/gcc/function.h +++ b/gcc/function.h @@ -280,7 +280,7 @@ struct GTY(()) rtl_data { /* List (chain of EXPR_LISTs) of all stack slots in this function. Made for the sake of unshare_all_rtl. */ - rtx x_stack_slot_list; + rtx_expr_list *x_stack_slot_list; /* List of empty areas in the stack frame. */ struct frame_space *frame_space_list;