diff options
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/tc-arm.c | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index cdb1f5d..79de86a 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2015-08-08 Hans-Peter Nilsson <hp@axis.com> + + * tc-arm.c (double_to_single, is_double_a_single): Append ULL to + 0xFFFFFFFFFFFFF to avoid errors on 32-bit hosts. + 2015-08-04 Thomas Preud'homme <thomas.preudhomme@arm.com> * doc/c-aarch64.texi (.xword): Document directive. diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index 7b3b5c9..899bfa2 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -7760,7 +7760,7 @@ static bfd_boolean is_double_a_single (bfd_int64_t v) { int exp = (int)((v >> 52) & 0x7FF); - bfd_int64_t mantissa = (v & (bfd_int64_t)0xFFFFFFFFFFFFF); + bfd_int64_t mantissa = (v & (bfd_int64_t)0xFFFFFFFFFFFFFULL); return (exp == 0 || exp == 0x7FF || (exp >= 1023 - 126 && exp <= 1023 + 127)) @@ -7775,7 +7775,7 @@ double_to_single (bfd_int64_t v) { int sign = (int) ((v >> 63) & 1l); int exp = (int) ((v >> 52) & 0x7FF); - bfd_int64_t mantissa = (v & (bfd_int64_t)0xFFFFFFFFFFFFF); + bfd_int64_t mantissa = (v & (bfd_int64_t)0xFFFFFFFFFFFFFULL); if (exp == 0x7FF) exp = 0xFF; |