+2006-02-02 Ankit Jain <jankit@novell.com>
+
+ * err-invalid-array-bounds.il: New. Test for 'lower bound <= upper bound'
+
2006-01-23 Ankit Jain <jankit@novell.com>
* err-*.il, test-perm_fail*.il: Move negative tests from tests/ to here.
--- /dev/null
+// Test for invalid array bounds, [5...1]
+// lower bound <= upper bound
+
+.assembly extern mscorlib
+{
+ .ver 1:0:5000:0
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
+}
+.assembly 'err-invalid-array-bounds'
+{
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+.module 'err-invalid-array-bounds.exe'
+
+
+ .class private auto ansi beforefieldinit test
+ extends [mscorlib]System.Object
+ {
+
+ .method public hidebysig specialname rtspecialname
+ instance default void .ctor () cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void object::.ctor()
+ IL_0006: ret
+ }
+
+ .method public static hidebysig
+ default void Main () cil managed
+ {
+ .entrypoint
+ .maxstack 0
+ .locals init (
+ int32[5...1] V_0)
+ IL_0000: ret
+ }
+
+ }
+2006-02-02 Ankit Jain <jankit@novell.com>
+
+ * ILParser.jay (bound | int32 ELLIPSIS int32): Throw exception if
+ lower_bound > upper_bound.
+
2006-01-28 Ankit Jain <jankit@novell.com>
* ILParser.jay (pinv_attr | ..): Fix typo.
}\r
| int32 ELLIPSIS int32\r
{\r
- // lower bound and size\r
+ // lower and upper bound\r
+ int lower = (int) $1;\r
+ int upper = (int) $3;\r
+ if (lower > upper) \r
+ throw new Exception (String.Format ("Lower bound {0} must be <= upper bound {1}", lower, upper));\r
+\r
$$ = new DictionaryEntry ($1, $3);\r
}\r
| int32 ELLIPSIS\r