[Mono-bugs] [Bug 33151][Wis] New - MCS creates bad MSIL for if statement
bugzilla-daemon@rocky.ximian.com
bugzilla-daemon@rocky.ximian.com
1 Nov 2002 17:04:15 -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 david_stephenson@hp.com.
http://bugzilla.ximian.com/show_bug.cgi?id=33151
--- shadow/33151 Fri Nov 1 12:04:15 2002
+++ shadow/33151.tmp.315 Fri Nov 1 12:04:15 2002
@@ -0,0 +1,52 @@
+Bug#: 33151
+Product: Mono/MCS
+Version: unspecified
+OS:
+OS Details:
+Status: NEW
+Resolution:
+Severity:
+Priority: Wishlist
+Component: Misc
+AssignedTo: mono-bugs@ximian.com
+ReportedBy: david_stephenson@hp.com
+QAContact: mono-bugs@ximian.com
+TargetMilestone: ---
+URL:
+Cc:
+Summary: MCS creates bad MSIL for if statement
+
+Description of Problem:
+MCS seems to create code for "if(boolmethd() == true)" which does not
+evalulate property on mono, clix and .netCLR
+
+Steps to reproduce the problem:
+
+compile the attached program and run under any CLR with a single argument
+to a file which has more than 2K characters in it (just the size of the
+internal buffer)
+
+Actual Results:
+
+the program will stop with an exception thrown from getNextChar().
+
+Expected Results:
+
+if the program is compiled by CSC.exe on windows then the programs
+completes sucessfully.
+
+How often does this happen?
+
+always.
+
+Additional Information:
+
+
+I have been looking at this in some detail this is the smallest program
+that I have manged to create which shows the problem. If you cut/paste the
+getNextChar() method from the disassembled exe generated by CSC and
+resasemble then the code works fine, so from that I guess there is
+something wrong with the IL for getNextChar() if you change the code from
+if(endOfBufferedChars() == true){ to if(endOfBufferedChars()){ then the
+program works fine......! The IL looks fine to me but all the CLR version
+I have tried barf on the exe so something must be wrong...