diff options
Diffstat (limited to 'gcc/emit-rtl.c')
-rwxr-xr-x | gcc/emit-rtl.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 37c8a5b..7d28df0 100755 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -3338,7 +3338,9 @@ init_emit_once (line_numbers) zero_memory ((char *) &u, sizeof u); /* Zero any holes in a structure. */ u.d = i == 0 ? dconst0 : i == 1 ? dconst1 : dconst2; - copy_memory ((char *) &u, (char *) &CONST_DOUBLE_LOW (tem), sizeof u); + for (int j = 0; j < sizeof (REAL_VALUE_TYPE) / sizeof (HOST_WIDE_INT); j++) + XWINT(tem, 2 + j) = u.i[j]; + CONST_DOUBLE_MEM (tem) = cc0_rtx; PUT_MODE (tem, mode); |