diff --git a/gas/ChangeLog b/gas/ChangeLog index cdb1f5d396..79de86a6ea 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2015-08-08 Hans-Peter Nilsson + + * 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 * doc/c-aarch64.texi (.xword): Document directive. diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index 7b3b5c9cfe..899bfa20ae 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;