Public bug reported:

The code below runs fine on MS .net, but fails in mono in ubuntu. I've
compiled with both MS C# compiler, csc.exe, and with mono's mcs, both
compiles fine, but mono cannot run the applications.

Mono gives this error when running the mcs compiled code:

Unhandled Exception: System.InvalidProgramException: Invalid IL code in
Tester:Main (string[]): IL_0058: stloc.s   5

And a almost identical when running the csc compiled one:

Unhandled Exception: System.InvalidProgramException: Invalid IL code in
Tester:Main (string[]): IL_0057: stloc.3

..
As I said, when executed on MS Windows in MS .net the csc compiled code runs 
fine. 

Here is the C# code that causes the errors:

/* This class works fine */
public class Works { 

    private double val;


    public double this[int i, int j] {

        get { return val; }

        set { val = value; }

    }


    public Works(double val) 
    { this.val = val; }

}


/* Same code as struct breaks */

public struct Breaks {

    private double val;


    public double this[int i, int j] {

        get { return val; }

        set { val = value; }

    }


    public Breaks(double val) 
    { this.val = val; }

}


public class Tester {

    public static void Main(string[] args)

    {

        System.Console.WriteLine("This works");

        Works w = new Works(3.0);

        w[0, 0] += 3.0;


        System.Console.WriteLine("This breaks");

        Breaks b = new Breaks(3.0);

        b[0, 0] += 3.0;

    }

}

** Affects: mono (Ubuntu)
     Importance: Undecided
         Status: Unconfirmed

-- 
Mono VM reports valid IL as invalid
https://launchpad.net/bugs/75460

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to