--- a/SmallInteger.st Sat Feb 27 22:19:37 2016 +0100
+++ b/SmallInteger.st Sat Feb 27 22:26:31 2016 +0100
@@ -2909,18 +2909,18 @@
if (i & 0x80000000L) {
i = i | ~0xFFFFFFFFL;
} else {
- i = i & 0x7FFFFFFF;
+ i = i & 0x7FFFFFFFL;
}
- RETURN (__mkSmallInteger(i));
+ RETURN (__MKINT(i));
#endif
%}.
^ self primitiveFailed
"
- 16rFFFFFFFF signExtendedLongValue
- 16r80000000 signExtendedLongValue
- 16r7FFFFFFF signExtendedLongValue
+ 16rFFFFFFFF signExtendedLongValue -> -1
+ 16r80000000 signExtendedLongValue -> -2147483648
+ 16r7FFFFFFF signExtendedLongValue -> 2147483647
"
!