#! /bin/sh
+SED="sed"
+if [ `which gsed 2> /dev/null` ] ; then
+ SED="gsed"
+fi
+
TEST_NAME=$1
TEST_VALIDITY=$2
TEST_BLOCK=$3
TEST_NAME=${TEST_VALIDITY}_${TEST_NAME}
TEST_FILE=${TEST_NAME}_generated.il
echo $TEST_FILE
-sed -e "s/VALIDITY/${TEST_VALIDITY}/g" -e "s/LOCAL/${TEST_LOCAL}/g" -e "s/BLOCK/${TEST_BLOCK}/g" -e "s/EXTRA_OPS/${TEST_EXTRA_OPS}/g" > $TEST_FILE <<//EOF
+$SED -e "s/VALIDITY/${TEST_VALIDITY}/g" -e "s/LOCAL/${TEST_LOCAL}/g" -e "s/BLOCK/${TEST_BLOCK}/g" -e "s/EXTRA_OPS/${TEST_EXTRA_OPS}/g" > $TEST_FILE <<//EOF
// VALIDITY
.assembly '${TEST_NAME}_generated'
{
nop
${OPCODE_2}
- leave END
+ leave TRY_2
}
catch [mscorlib]System.NullReferenceException
{
pop
${OPCODE_3}
leave END
- }
+ }
+
+TRY_2:
.try
{
nop
${OPCODE_4}
- leave END
+ leave TRY_3
}
BLOCK
endfinally
}
+TRY_3:
.try {
.try
{
nop
- leave END
+ leave TRY_4
}
catch [mscorlib]System.NullReferenceException
{
endfinally
}
+TRY_4:
+
.try
{
nop