softfloat: roundAndPackInt{32, 64}: Don't assume int32 is 32 bits
authorPeter Maydell <peter.maydell@linaro.org>
Thu, 5 Apr 2012 18:12:35 +0000 (19:12 +0100)
committerBlue Swirl <blauwirbel@gmail.com>
Sat, 7 Apr 2012 11:15:55 +0000 (11:15 +0000)
Fix code in roundAndPackInt32 that assumed that int32 was only
32 bits, by simply using int32_t instead. Fix the parallel bug
in roundAndPackInt64 as well, although that one is only theoretical
since it's unlikely that int64 will ever be more than 64 bits.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
fpu/softfloat.c

index 074fbc38d0f9879104c34ee65e300afcc9d12914..d37090ac537a6fb21f3e6c3ee77372954b020398 100644 (file)
@@ -117,7 +117,7 @@ static int32 roundAndPackInt32( flag zSign, uint64_t absZ STATUS_PARAM)
     int8 roundingMode;
     flag roundNearestEven;
     int8 roundIncrement, roundBits;
-    int32 z;
+    int32_t z;
 
     roundingMode = STATUS(float_rounding_mode);
     roundNearestEven = ( roundingMode == float_round_nearest_even );
@@ -166,7 +166,7 @@ static int64 roundAndPackInt64( flag zSign, uint64_t absZ0, uint64_t absZ1 STATU
 {
     int8 roundingMode;
     flag roundNearestEven, increment;
-    int64 z;
+    int64_t z;
 
     roundingMode = STATUS(float_rounding_mode);
     roundNearestEven = ( roundingMode == float_round_nearest_even );