diff options
author | camthesaxman <cameronghall@cox.net> | 2017-10-26 00:28:13 -0500 |
---|---|---|
committer | camthesaxman <cameronghall@cox.net> | 2017-10-26 00:28:13 -0500 |
commit | f49e7cbb33e6e27b0ce5eb35244d7241c800a7c1 (patch) | |
tree | 7f27a5795e25d2490dffee05502ef09320f5702f /gcc | |
parent | 928b1951972d7ff8c46347b3dce9e254cf6c215c (diff) |
finally fix 64-bit
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/Makefile | 2 | ||||
-rwxr-xr-x | gcc/thumb.md | 8 |
2 files changed, 7 insertions, 3 deletions
diff --git a/gcc/Makefile b/gcc/Makefile index 1e2c4ad..c30991a 100644 --- a/gcc/Makefile +++ b/gcc/Makefile @@ -24,7 +24,7 @@ VPATH = $(srcdir) CC = gcc -BASE_CFLAGS = -g -std=gnu11 -m32 +BASE_CFLAGS = -g -std=gnu11 INCLUDES = -I. -I$(srcdir) diff --git a/gcc/thumb.md b/gcc/thumb.md index 8cebc50..f78624f 100755 --- a/gcc/thumb.md +++ b/gcc/thumb.md @@ -1085,8 +1085,10 @@ { case MODE_FLOAT: { + int i; union real_extract u; - memcpy((char *)&u, (char *)&CONST_DOUBLE_LOW(operands[0]), sizeof u); + for (i = 0; i < sizeof (REAL_VALUE_TYPE) / sizeof (HOST_WIDE_INT); i++) + u.i[i] = XWINT(operands[0], 2 + i); assemble_real (u.d, GET_MODE (operands[0])); break; } @@ -1107,8 +1109,10 @@ { case MODE_FLOAT: { + int i; union real_extract u; - memcpy((char *)&u, (char *)&CONST_DOUBLE_LOW(operands[0]), sizeof u); + for (i = 0; i < sizeof (REAL_VALUE_TYPE) / sizeof (HOST_WIDE_INT); i++) + u.i[i] = XWINT(operands[0], 2 + i); assemble_real (u.d, GET_MODE (operands[0])); break; } |