[SRE] MonoError in mono_image_get_field_on_inst_token
[mono.git] / mono / tests / exception6.cs
old mode 100755 (executable)
new mode 100644 (file)
index 746892a..b2e09b9
@@ -7,6 +7,104 @@ public class Ex {
                
                checked {
 
+                       ocount = 0;
+                       try {
+                               ulong a =  UInt64.MaxValue - 1;
+                               ulong t = a++;
+                       } catch {
+                               ocount++;
+                       }
+                       if (ocount != 0)
+                               return 1;
+
+                       ocount = 0;
+                       try {
+                               ulong a =  UInt64.MaxValue;
+                               ulong t = a++;
+                       } catch {
+                               ocount++;
+                       }
+                       if (ocount != 1)
+                               return 2;
+
+                       ocount = 0;
+                       try {
+                               long a = Int64.MaxValue - 1;
+                               long t = a++;
+                       } catch {
+                               ocount++;
+                       }
+                       if (ocount != 0)
+                               return 3;
+
+                       try {
+                               long a = Int64.MaxValue;
+                               long t = a++;
+                       } catch {
+                               ocount++;
+                       }
+                       if (ocount != 1)
+                               return 4;
+
+                       ocount = 0;
+                       try {
+                               ulong a = UInt64.MaxValue - 1;
+                               ulong t = a++;
+                       } catch {
+                               ocount++;
+                       }
+                       if (ocount != 0)
+                               return 5;
+
+                       try {
+                               ulong a = UInt64.MaxValue;
+                               ulong t = a++;
+                       } catch {
+                               ocount++;
+                       }
+                       if (ocount != 1)
+                               return 6;
+
+                       ocount = 0;
+                       try {
+                               long a = Int64.MinValue + 1;
+                               long t = a--;
+                       } catch {
+                               ocount++;
+                       }
+                       if (ocount != 0)
+                               return 7;
+
+                       ocount = 0;
+                       try {
+                               long a = Int64.MinValue;
+                               long t = a--;
+                       } catch {
+                               ocount++;
+                       }
+                       if (ocount != 1)
+                               return 8;
+
+                       ocount = 0;
+                       try {
+                               ulong a = UInt64.MinValue + 1;
+                               ulong t = a--;
+                       } catch {
+                               ocount++;
+                       }
+                       if (ocount != 0)
+                               return 9;
+
+                       ocount = 0;
+                       try {
+                               ulong a = UInt64.MinValue;
+                               ulong t = a--;
+                       } catch {
+                               ocount++;
+                       }
+                       if (ocount != 1)
+                               return 10;
+
                        ocount = 0;
                        try {
                                int a = Int32.MinValue + 1;
@@ -15,7 +113,7 @@ public class Ex {
                                ocount++;
                        }
                        if (ocount != 0)
-                               return 1;
+                               return 11;
 
                        ocount = 0;
                        try {
@@ -25,7 +123,7 @@ public class Ex {
                                ocount++;
                        }
                        if (ocount != 1)
-                               return 1;
+                               return 12;
 
                        ocount = 0;
                        try {
@@ -35,7 +133,7 @@ public class Ex {
                                ocount++;
                        }
                        if (ocount != 0)
-                               return 1;
+                               return 13;
 
                        ocount = 0;
                        try {
@@ -45,7 +143,7 @@ public class Ex {
                                ocount++;
                        }
                        if (ocount != 1)
-                               return 1;
+                               return 14;
 
                        ocount = 0;
                        try {
@@ -55,7 +153,7 @@ public class Ex {
                                ocount++;
                        }
                        if (ocount != 0)
-                               return 1;
+                               return 15;
 
                        ocount = 0;
                        try {
@@ -65,7 +163,7 @@ public class Ex {
                                ocount++;
                        }
                        if (ocount != 1)
-                               return 1;
+                               return 16;
 
                        ocount = 0;
                        try {
@@ -73,7 +171,7 @@ public class Ex {
                                ocount++;
                        }
                        if (ocount != 0)
-                               return 1;
+                               return 17;
 
                        ocount = 0;
                        try {
@@ -83,7 +181,7 @@ public class Ex {
                                ocount++;
                        }
                        if (ocount != 0)
-                               return 1;
+                               return 18;
 
                        ocount = 0;
                        try {
@@ -93,19 +191,27 @@ public class Ex {
                                ocount++;
                        }
                        if (ocount != 1)
-                               return 1;
+                               return 19;
+
+                       ocount = 0;
+                       try {
+                               ulong a = 0xffffffffff;
+                               ulong t = a*0x0ffffff;
+                       } catch {
+                               ocount++;
+                       }
+                       if (ocount != 0)
+                               return 20;
 
-                       /*
                        ocount = 0;
                        try {
-                               uint a = 0xffffffff;
-                               uint t = a*2;
+                               ulong a = 0xffffffffff;
+                               ulong t = a*0x0fffffff;
                        } catch {
                                ocount++;
                        }
                        if (ocount != 1)
-                               return 1;
-                       */
+                               return 21;
                }
                
                return 0;