From 4be204f02d0cd7666f2a39219f899a5f7573275d Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Sat, 15 May 1993 16:11:06 -0400 Subject: [PATCH] (expand_assignment): Fix error in last change. From-SVN: r4476 --- gcc/expr.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/gcc/expr.c b/gcc/expr.c index c97e4c74d75..a3827379ffd 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -1,5 +1,5 @@ /* Convert tree expression to rtl instructions, for GNU compiler. - Copyright (C) 1988, 1992 Free Software Foundation, Inc. + Copyright (C) 1988, 1992, 1993 Free Software Foundation, Inc. This file is part of GNU CC. @@ -2197,8 +2197,12 @@ expand_assignment (to, from, want_value, suggest_reg) preserve_temp_slots (result); free_temp_slots (); - return convert_to_mode (TYPE_MODE (TREE_TYPE (to)), result, - TREE_UNSIGNED (TREE_TYPE (to))); + /* If we aren't returning a result, just pass on what expand_expr + returned; it was probably const0_rtx. Otherwise, convert RESULT + to the proper mode. */ + return (want_value ? convert_to_mode (TYPE_MODE (TREE_TYPE (to)), result, + TREE_UNSIGNED (TREE_TYPE (to))) + : result); } /* Ordinary treatment. Expand TO to get a REG or MEM rtx. -- 2.30.2