[Mono-bugs] [Bug 75186][Wis] New - ilasm can't handle "call instance [out] ...", dies on "[out]"

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Wed Jun 8 16:26:21 EDT 2005


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 vgough at pobox.com.

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

--- shadow/75186	2005-06-08 16:26:20.000000000 -0400
+++ shadow/75186.tmp.31590	2005-06-08 16:26:20.000000000 -0400
@@ -0,0 +1,65 @@
+Bug#: 75186
+Product: Mono: Compilers
+Version: 1.1
+OS: 
+OS Details: Suse 9.2 / ix86
+Status: NEW   
+Resolution: 
+Severity: 
+Priority: Wishlist
+Component: IL assembler
+AssignedTo: mono-bugs at ximian.com                            
+ReportedBy: vgough at pobox.com               
+QAContact: mono-bugs at ximian.com
+TargetMilestone: ---
+URL: 
+Cc: 
+Summary: ilasm can't handle "call instance [out] ...", dies on "[out]"
+
+Description of Problem:
+
+ilasm can't handle "call instance [out] ...", eg:
+
+call instance [out] float64 float64[,]::Address(int32, int32)
+
+Steps to reproduce the problem:
+1. mcs -target:library -out:testilasm.dll testilasm.cs
+2. monodis --mscorlib --output=testilasm.ilasm testilasm.dll
+3. ilasm /dll /output:testilasm2.dll testilasm.ilasm
+
+Actual Results:
+
+Assembling 'testilasm.ilasm' , no listing file, to dll --> 'testilasm2.dll'
+
+syntax error, got token `OPEN_BRACKET'
+Error at: line (86) column (27)
+
+Unhandled Exception: Mono.ILASM.yyParser.yyException: irrecoverable syntax
+error
+in <0x00d9a> Mono.ILASM.ILParser:yyparse (yyInput yyLex)
+in <0x00089> Mono.ILASM.ILParser:yyparse (yyInput yyLex, System.Object yyd)
+in <0x001d8> Mono.ILASM.Driver+DriverMain:ProcessFile (System.String file_path)
+
+
+The test case (testilasm.cs):
+
+> cat testilasm.cs
+
+public class Test
+{
+    double[,] _data;
+
+    public double this[int row, int col]
+    {
+        get { return _data[row,col]; }
+        set { _data[row,col] = value; }
+    }
+
+    public void multByTwo()
+    {
+        for(int i=0; i<10; ++i)
+            for(int j=0; j<10; ++j)
+                _data[i, j] *= 2.0;
+    }
+
+}


More information about the mono-bugs mailing list