[runtime] Fix "make distcheck"
[mono-project.git] / mono / tests / verifier / make_field_store_test.sh
bloba50a5f4385c692cdc1fdf7068b681172c4cb40c9
1 #! /bin/sh
3 SED="sed"
4 if [ `which gsed 2> /dev/null` ] ; then
5 SED="gsed"
6 fi
8 TEST_NAME=$1
9 TEST_VALIDITY=$2
10 TEST_OP=$3
11 TEST_TYPE1=$4
12 TEST_TYPE2=$5
13 TEST_EMIT_CSTOR=$6
14 if [ "${TEST_EMIT_CSTOR}" == "yes" ]; then
15 TEST_CSTOR="newobj instance void ${TEST_TYPE2}::.ctor()";
16 else
17 TEST_CSTOR="ldloc.0";
20 TEST_NAME=${TEST_VALIDITY}_${TEST_NAME}
21 TEST_FILE=${TEST_NAME}_generated.il
22 echo $TEST_FILE
23 #TEST_TYPE1=`echo $TEST_TYPE1 | $SED -s 's/&/\\\&/'`
24 #TEST_TYPE2=`echo $TEST_TYPE2 | $SED -s 's/&/\\\&/'`
25 $SED -e "s/VALIDITY/${TEST_VALIDITY}/g" -e "s/CSTOR/${TEST_CSTOR}/g" -e "s/OPCODE/${TEST_OP}/g" -e "s/TYPE1/${TEST_TYPE1}/g" -e "s/TYPE2/${TEST_TYPE2}/g" > $TEST_FILE <<//EOF
27 .assembly '${TEST_NAME}_generated'
29 .hash algorithm 0x00008004
30 .ver 0:0:0:0
33 // VALIDITY CIL which breaks the ECMA-335 rules.
34 // this CIL should fail verification by a conforming CLI verifier.
36 .assembly extern mscorlib
38 .ver 1:0:5000:0
39 .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
42 .class interface abstract InterfaceA
46 .class interface abstract InterfaceB
50 .class sealed MyValueType extends [mscorlib]System.ValueType
52 .field public int32 fld
55 .class ClassB extends [mscorlib]System.Object
57 .field public TYPE1 fld
58 .field public static TYPE1 sfld
60 .method public hidebysig specialname rtspecialname instance default void .ctor () cil managed
62 .maxstack 8
63 ldarg.0
64 call instance void object::.ctor()
65 ret
69 .class ClassA extends [mscorlib]System.Object
71 .field public TYPE1 fld
72 .field public static TYPE1 sfld
73 .field public initonly TYPE1 const_field
74 .field public static initonly TYPE1 st_const_field
76 .method public hidebysig specialname rtspecialname instance default void .ctor () cil managed
78 .maxstack 8
79 ldarg.0
80 call instance void object::.ctor()
81 ret
85 .class public SubClass extends ClassA
87 .field public TYPE1 subfld
88 .field public static TYPE1 subsfld
90 .method public hidebysig specialname rtspecialname instance default void .ctor () cil managed
92 .maxstack 8
93 ldarg.0
94 call instance void ClassA::.ctor()
95 ret
99 .class public explicit Overlapped extends [mscorlib]System.Object
101 .field[0] public TYPE1 field1
102 //.field[0] public TYPE1 field2
103 .field[8] public TYPE1 field3
104 //.field[8] public TYPE1 field4
105 .field[16] public TYPE1 field5
106 .field[20] public TYPE1 field10
107 .field[24] public TYPE2 field_ok
109 .method public hidebysig specialname rtspecialname instance default void .ctor () cil managed
111 .maxstack 8
112 ldarg.0
113 call instance void object::.ctor()
118 .class public explicit SubOverlapped extends Overlapped
120 .field[16] public TYPE1 field6
122 .method public hidebysig specialname rtspecialname instance default void .ctor () cil managed
124 .maxstack 8
125 ldarg.0
126 call instance void Overlapped::.ctor()
131 .method public static int32 Main() cil managed
133 .entrypoint
134 .maxstack 2
135 .locals init (
136 TYPE2 V_1
138 CSTOR
139 OPCODE // VALIDITY.
141 ldc.i4.0
144 //EOF