[mcs] Constant folding of enum constant and literal was using wrong operands. Fixes...
[mono.git] / mcs / tests / test-99.cs
index 79c5d7d7cbf52781dba3c35d9b6ec3cd90e20707..036850e34bbd396b89818a143a148ddff87b2ffd 100644 (file)
@@ -13,7 +13,7 @@ class X {
                B
        }
        
-       static int Main ()
+       public static int Main ()
        {
                int v = 1;
                object foo = (v + A.a);
@@ -32,6 +32,8 @@ class X {
                // Now try the implicit conversions for underlying types in enum operators
                byte b = 1;
                short s = (short) (Test.A + b);
+               
+               const int e = A.b + 1 - A.a;
 
                //
                // Make sure that other operators still work
@@ -39,6 +41,10 @@ class X {
                        return 3;
                if (Test.A == Test.B)
                        return 4;
+
+               const A e2 = 3 - A.b;
+               if (e2 != A.a)
+                       return 5;
                
                return 0;
        }