From b927dc22376b479fd49cc5488d6adc347c05a738 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Fri, 15 Jun 2001 22:08:42 +0000 Subject: * function.c (gen_mem_addressof): Handle case where DECL is SAVE_EXPR. From-SVN: r43408 --- gcc/function.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'gcc/function.c') diff --git a/gcc/function.c b/gcc/function.c index cdfe697b..2e493f3 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -2873,8 +2873,11 @@ gen_mem_addressof (reg, decl) if (decl) { tree type = TREE_TYPE (decl); + enum machine_mode decl_mode + = (TREE_CODE (decl) == SAVE_EXPR ? TYPE_MODE (TREE_TYPE (decl)) + : DECL_MODE (decl)); - PUT_MODE (reg, DECL_MODE (decl)); + PUT_MODE (reg, decl_mode); MEM_VOLATILE_P (reg) = TREE_SIDE_EFFECTS (decl); MEM_SET_IN_STRUCT_P (reg, AGGREGATE_TYPE_P (type)); MEM_ALIAS_SET (reg) = get_alias_set (decl); -- cgit v1.1