[Mono-bugs] [Bug 30729][Maj] Changed - Incorrect result of bitwise AND operation on long
bugzilla-daemon@rocky.ximian.com
bugzilla-daemon@rocky.ximian.com
20 Sep 2002 09:53:27 -0000
Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.
Changed by dietmar@ximian.com.
http://bugzilla.ximian.com/show_bug.cgi?id=30729
--- shadow/30729 Thu Sep 19 21:05:04 2002
+++ shadow/30729.tmp.17387 Fri Sep 20 05:53:27 2002
@@ -1,10 +1,10 @@
Bug#: 30729
Product: Mono/MCS
Version: unspecified
-OS:
+OS: unknown
OS Details: Mandrake
Status: NEW
Resolution:
Severity: Unknown
Priority: Major
Component: Misc
@@ -41,6 +41,26 @@
0 0 0 128 0 0 0 0
How often does this happen?
When the 31th bit (of the 0th - 63rd bits) of both operands are "1"
Additional Information:
+
+------- Additional Comments From dietmar@ximian.com 2002-09-20 05:53 -------
+The above program does not compile, I had to replace rs >= 8 with rs
+>>= 8. But I get:
+
+0 0 0 128 0 0 0 0
+
+with both mono and mint when compile with csc. But when compiled with
+mcs I get the wrong results. the problem is that mcs generate wrong
+code to load the constant:
+
+ IL_0000: ldc.i4 -2147483648
+ IL_0005: conv.i8
+
+which does sign extension, instead of:
+
+ IL_0000: ldc.i4 -2147483648
+ IL_0005: conv.u8
+
+