projects
/
gcc.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
a8d6534
)
* expr.c (expand_expr_real): More curefully expand union casts.
author
Jan Hubicka
<jh@suse.cz>
Sat, 10 Jan 2004 20:50:53 +0000
(21:50 +0100)
committer
Jan Hubicka
<hubicka@gcc.gnu.org>
Sat, 10 Jan 2004 20:50:53 +0000
(20:50 +0000)
From-SVN: r75649
gcc/ChangeLog
patch
|
blob
|
history
gcc/expr.c
patch
|
blob
|
history
diff --git
a/gcc/ChangeLog
b/gcc/ChangeLog
index c6c92b87bf08060489af7aa360f33df778de5f12..3fe675a8d606098d3882ac475cce947b9b843938 100644
(file)
--- a/
gcc/ChangeLog
+++ b/
gcc/ChangeLog
@@
-1,3
+1,7
@@
+2004-01-10 Jan Hubicka <jh@suse.cz>
+
+ * expr.c (expand_expr_real): More curefully expand union casts.
+
2004-01-10 Kazu Hirata <kazu@cs.umass.edu>
* config/m32r/m32r.md (flush_icache): Use 1 for
diff --git
a/gcc/expr.c
b/gcc/expr.c
index 6442b3d308cc16964b410b033a452c1e34ffc306..73fb9655c1c2e29562fbd433ebe0e5ab282ab5c4 100644
(file)
--- 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. */