[Mono-bugs] [Bug 33533][Maj] Changed - mcs doesn't handle value-types params-arguments

bugzilla-daemon@rocky.ximian.com bugzilla-daemon@rocky.ximian.com
18 Nov 2002 16:19:28 -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 lupus@ximian.com.

http://bugzilla.ximian.com/show_bug.cgi?id=33533

--- shadow/33533	Sat Nov 16 12:46:23 2002
+++ shadow/33533.tmp.31462	Mon Nov 18 11:19:28 2002
@@ -1,23 +1,23 @@
 Bug#: 33533
-Product: Mono/Runtime
+Product: Mono/MCS
 Version: unspecified
 OS: Red Hat 7.3
 OS Details: 2.4.20-pre10acpi20021002
 Status: NEW   
 Resolution: 
 Severity: Unknown
 Priority: Major
-Component: misc
+Component: Misc
 AssignedTo: mono-bugs@ximian.com                            
 ReportedBy: mathias.hasselmann@gmx.de               
 QAContact: mono-bugs@ximian.com
 TargetMilestone: ---
 URL: 
 Cc: 
-Summary: Stack problem with params-arguments transfering value types
+Summary: mcs doesn't handle value-types params-arguments
 BugsThisDependsOn: 33532[FIXED]
 
 Following code passing a variable number of value-type arguments to a
 method compiles with mcs-0.16 and mcs-anoncvs20021108 but failes to run
 with mono-0.16 and mono-anoncvs20021108:
 
@@ -44,6 +44,19 @@
 produced by anoncvs version of mcs.
 
 ------- Additional Comments From mathias.hasselmann@gmx.de  2002-11-09 12:54 -------
 Created an attachment (id=2728)
 The binary produced
 
+
+------- Additional Comments From lupus@ximian.com  2002-11-18 11:19 -------
+this is a mcs bug, it produced invalid IL code running either on the
+mono or ms runtime. PEVerify says:
+
+[IL]: Error: [g:\mono\struct-params.exe : TestCase::Main] [offset
+0x00000013] [opcode stobj] Expected address of value type on the stack.
+[IL]: Error: [g:\mono\struct-params.exe : TestCase::Main] [offset
+0x00000013] [opcode stobj] [found Int32] [expected address of value
+class 'JValue'] Unexpected type on the stack.
+[IL]: Error: [g:\mono\struct-params.exe : TestCase::Main] [offset
+0x0000001E] [opcode ret] Stack must be empty on return from a void
+function.