2006-06-06 Zoltan Varga <vargaz@gmail.com>
[mono.git] / mono / tests / verifier / make_stack_1_pop_test.sh
1 #! /bin/sh
2
3 TEST_OP=$1
4 TEST_TYPE=$2
5
6 TEST_OP_SHORT=`echo $TEST_OP | cut -d " " -f 1`
7 TEST_FILE=`echo invalid_stack_1_${TEST_OP_SHORT}_${TEST_TYPE} | sed -e "s/ /_/g" -e "s/\./_/g" -e "s/&/mp/g"`_generated.il
8 echo $TEST_FILE
9 sed -e "s/OPCODE/${TEST_OP}/g" -e "s/TYPE/${TEST_TYPE}/g" > $TEST_FILE <<//EOF
10 // invalid CIL which breaks the ECMA-335 rules.
11 // This CIL should fail verification by a conforming CLI verifier.
12
13 .assembly '${TEST_NAME}_generated'
14 {
15   .hash algorithm 0x00008004
16   .ver  0:0:0:0
17 }
18
19 .class Class extends [mscorlib]System.Object
20 {
21     .field public int32 fld
22 }
23
24 .method public static int32 Main() cil managed
25 {
26         .entrypoint
27         .maxstack 1
28         .locals init (
29             TYPE V_0
30         )
31         ldloc.0
32         OPCODE // invalid, only 1 value on stack.
33         branch_target:
34         pop
35         ldc.i4.0
36         ret
37 }
38 //EOF