From: Jan Hubicka Date: Sat, 10 Jan 2004 20:50:53 +0000 (+0100) Subject: * expr.c (expand_expr_real): More curefully expand union casts. X-Git-Tag: releases/gcc-3.4.0~1135 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=cf7cb67e9770fde9bfb8c899882b7395f1fe17b0;p=thirdparty%2Fgcc.git * expr.c (expand_expr_real): More curefully expand union casts. From-SVN: r75649 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c6c92b87bf08..3fe675a8d606 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2004-01-10 Jan Hubicka + + * expr.c (expand_expr_real): More curefully expand union casts. + 2004-01-10 Kazu Hirata * config/m32r/m32r.md (flush_icache): Use 1 for diff --git a/gcc/expr.c b/gcc/expr.c index 6442b3d308cc..73fb9655c1c2 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -7509,7 +7509,12 @@ expand_expr_real (tree exp, rtx target, enum machine_mode tmode, } if (target == 0) - target = assign_temp (type, 0, 1, 1); + { + if (TYPE_MODE (type) != BLKmode) + target = gen_reg_rtx (TYPE_MODE (type)); + else + target = assign_temp (type, 0, 1, 1); + } if (GET_CODE (target) == MEM) /* Store data into beginning of memory target. */