diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1993-05-15 16:11:06 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1993-05-15 16:11:06 -0400 |
commit | 4be204f02d0cd7666f2a39219f899a5f7573275d (patch) | |
tree | 65bf249fb52b823259c2bf3e720205b4d0859d35 | |
parent | b45863ecee4523fcb7822702eba1bed616e45563 (diff) | |
download | gcc-4be204f02d0cd7666f2a39219f899a5f7573275d.zip gcc-4be204f02d0cd7666f2a39219f899a5f7573275d.tar.gz gcc-4be204f02d0cd7666f2a39219f899a5f7573275d.tar.bz2 |
(expand_assignment): Fix error in last change.
From-SVN: r4476
-rw-r--r-- | gcc/expr.c | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -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. |