aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2014-07-20 20:30:23 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2014-07-20 20:30:23 +0000
commitd6cd6e226f990518183cb2c87ced5d9ae70bb4d5 (patch)
treecd57cd0c182f7904ec0d4305e406f0288d546316 /gcc/expr.c
parentf67341b6248741fa1d7ccc508c2692988b42c576 (diff)
downloadgcc-d6cd6e226f990518183cb2c87ced5d9ae70bb4d5.zip
gcc-d6cd6e226f990518183cb2c87ced5d9ae70bb4d5.tar.gz
gcc-d6cd6e226f990518183cb2c87ced5d9ae70bb4d5.tar.bz2
expr.c (store_field): Handle VOIDmode for calls that return values in multiple locations.
* expr.c (store_field): Handle VOIDmode for calls that return values in multiple locations. From-SVN: r212877
Diffstat (limited to 'gcc/expr.c')
-rw-r--r--gcc/expr.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index 4d2163f..d8328ee 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -6581,7 +6581,7 @@ store_field (rtx target, HOST_WIDE_INT bitsize, HOST_WIDE_INT bitpos,
{
HOST_WIDE_INT size = int_size_in_bytes (TREE_TYPE (exp));
rtx temp_target;
- if (mode == BLKmode)
+ if (mode == BLKmode || mode == VOIDmode)
mode = smallest_mode_for_size (size * BITS_PER_UNIT, MODE_INT);
temp_target = gen_reg_rtx (mode);
emit_group_store (temp_target, temp, TREE_TYPE (exp), size);