From ecec444145eaee489427a9efa5eaee7909e46333 Mon Sep 17 00:00:00 2001 From: Jim Wilson Date: Fri, 8 Nov 1996 17:37:54 -0800 Subject: [PATCH] (expand_function_end): Handle BLKmode structures returned in registers. From-SVN: r13117 --- gcc/function.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gcc/function.c b/gcc/function.c index 827f14be9d7..6fa9811a085 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -5549,6 +5549,11 @@ expand_function_end (filename, line, end_bindings) current_function_decl); #endif REG_FUNCTION_VALUE_P (real_decl_result) = 1; + /* If this is a BLKmode structure being returned in registers, then use + the mode computed in expand_return. */ + if (GET_MODE (real_decl_result) == BLKmode) + PUT_MODE (real_decl_result, + GET_MODE (DECL_RTL (DECL_RESULT (current_function_decl)))); emit_move_insn (real_decl_result, DECL_RTL (DECL_RESULT (current_function_decl))); emit_insn (gen_rtx (USE, VOIDmode, real_decl_result)); -- 2.30.2