summaryrefslogtreecommitdiff
path: root/tests/src/JIT/Directed/coverage/oldtests
diff options
context:
space:
mode:
authorJiyoung Yun <jy910.yun@samsung.com>2016-11-23 19:09:09 +0900
committerJiyoung Yun <jy910.yun@samsung.com>2016-11-23 19:09:09 +0900
commit4b4aad7217d3292650e77eec2cf4c198ea9c3b4b (patch)
tree98110734c91668dfdbb126fcc0e15ddbd93738ca /tests/src/JIT/Directed/coverage/oldtests
parentfa45f57ed55137c75ac870356a1b8f76c84b229c (diff)
downloadcoreclr-4b4aad7217d3292650e77eec2cf4c198ea9c3b4b.tar.gz
coreclr-4b4aad7217d3292650e77eec2cf4c198ea9c3b4b.tar.bz2
coreclr-4b4aad7217d3292650e77eec2cf4c198ea9c3b4b.zip
Imported Upstream version 1.1.0upstream/1.1.0
Diffstat (limited to 'tests/src/JIT/Directed/coverage/oldtests')
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/33objref.cs184
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/33objref_cs_d.csproj45
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/33objref_cs_do.csproj45
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/33objref_cs_r.csproj45
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/33objref_cs_ro.csproj45
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/Desktop/callipinvoke.il199
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/Desktop/callipinvoke_il_d.ilproj40
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/Desktop/callipinvoke_il_r.ilproj40
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/arrgetlen.il213
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/arrgetlen_il_d.ilproj40
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/arrgetlen_il_r.ilproj40
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/callipinvoke.il197
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/callipinvoke.ilproj41
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/cse1.cs171
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/cse1_cs_d.csproj45
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/cse1_cs_do.csproj45
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/cse1_cs_r.csproj45
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/cse1_cs_ro.csproj45
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/cse2.cs544
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/cse2_cs_d.csproj46
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/cse2_cs_do.csproj46
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/cse2_cs_r.csproj46
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/cse2_cs_ro.csproj46
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/lclfldadd.cs559
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/lclfldadd_cs_d.csproj45
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/lclfldadd_cs_do.csproj45
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/lclfldadd_cs_r.csproj45
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/lclfldadd_cs_ro.csproj45
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/lclflddiv.cs559
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/lclflddiv_cs_d.csproj45
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/lclflddiv_cs_do.csproj45
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/lclflddiv_cs_r.csproj45
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/lclflddiv_cs_ro.csproj45
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/lclfldmul.cs559
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/lclfldmul_cs_d.csproj45
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/lclfldmul_cs_do.csproj45
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/lclfldmul_cs_r.csproj45
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/lclfldmul_cs_ro.csproj45
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/lclfldrem.cs559
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/lclfldrem_cs_d.csproj45
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/lclfldrem_cs_do.csproj45
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/lclfldrem_cs_r.csproj45
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/lclfldrem_cs_ro.csproj45
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/lclfldsub.cs559
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/lclfldsub_cs_d.csproj45
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/lclfldsub_cs_do.csproj45
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/lclfldsub_cs_r.csproj45
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/lclfldsub_cs_ro.csproj45
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/lcliimpl.il73
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/lcliimpl_il_d.ilproj40
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/lcliimpl_il_r.ilproj40
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/ldfldstatic.il243
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/ldfldstatic_il_d.ilproj40
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/ldfldstatic_il_r.ilproj37
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/ldsshrstsfld.il83
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/ldsshrstsfld_il_d.ilproj40
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/ldsshrstsfld_il_r.ilproj41
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/ldvirtftncalli.il491
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/ldvirtftncalli_il_d.ilproj40
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/ldvirtftncalli_il_r.ilproj40
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/ovfldiv1.il80
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/ovfldiv1_il_d.ilproj40
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/ovfldiv1_il_r.ilproj37
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/ovfldiv2.il77
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/ovfldiv2_il_d.ilproj40
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/ovfldiv2_il_r.ilproj40
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/ovflrem1.il80
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/ovflrem1_il_d.ilproj40
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/ovflrem1_il_r.ilproj37
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/ovflrem2.il75
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/ovflrem2_il_d.ilproj40
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/ovflrem2_il_r.ilproj40
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/stfldstatic1.il117
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/stfldstatic1_il_d.ilproj40
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/stfldstatic1_il_r.ilproj40
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/stfldstatic2.il117
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/stfldstatic2_il_d.ilproj40
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/stfldstatic2_il_r.ilproj40
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/subbyref.il77
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/subbyref_il_d.ilproj40
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/subbyref_il_r.ilproj40
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/switchdefaultonly1.il39
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/switchdefaultonly1_il_d.ilproj40
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/switchdefaultonly1_il_r.ilproj40
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/switchdefaultonly2.il46
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/switchdefaultonly2_il_d.ilproj40
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/switchdefaultonly2_il_r.ilproj40
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/switchdefaultonly3.il51
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/switchdefaultonly3_il_d.ilproj40
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/switchdefaultonly3_il_r.ilproj40
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/tls1.il30
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/tls1.ilproj47
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/tls2.il29
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/tls2.ilproj47
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/tlstest.il78
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/tlstest_il_d.ilproj49
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/tlstest_il_r.ilproj49
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/trashreg.il72
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/trashreg_il_d.ilproj40
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/trashreg_il_r.ilproj40
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/volatilecpobj.il203
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/volatilecpobj_il_d.ilproj40
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/volatilecpobj_il_r.ilproj40
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/zeroinit.il284
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/zeroinit_il_d.ilproj40
-rw-r--r--tests/src/JIT/Directed/coverage/oldtests/zeroinit_il_r.ilproj40
106 files changed, 9837 insertions, 0 deletions
diff --git a/tests/src/JIT/Directed/coverage/oldtests/33objref.cs b/tests/src/JIT/Directed/coverage/oldtests/33objref.cs
new file mode 100644
index 0000000000..c8fb6360bd
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/33objref.cs
@@ -0,0 +1,184 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+//testing more than 32 (>33) objref's on the stack and as function arguments
+
+using System;
+
+internal class ratnl
+{
+ private long _nmr,_dnm;
+ public ratnl(long n, long d)
+ {
+ _nmr = n;
+ _dnm = d;
+ }
+ public static ratnl operator +(ratnl a, ratnl b)
+ {
+ return new ratnl(a._nmr + b._nmr, a._dnm + b._nmr);
+ }
+ public static ratnl operator -(ratnl a, ratnl b)
+ {
+ return new ratnl(a._nmr - b._nmr, a._dnm - b._nmr);
+ }
+ public static ratnl operator *(ratnl a, ratnl b)
+ {
+ return new ratnl(a._nmr * b._nmr, a._dnm * b._nmr);
+ }
+ public long p_nmr
+ {
+ get { return _nmr; }
+ }
+ public long p_dnm
+ {
+ get { return _dnm; }
+ }
+}
+
+internal class Test33objref
+{
+ public static ratnl f1(ratnl a1, ratnl a2, ratnl a3, ratnl a4, ratnl a5, ratnl a6, ratnl a7, ratnl a8, ratnl a9, ratnl a10,
+ ratnl a11, ratnl a12, ratnl a13, ratnl a14, ratnl a15, ratnl a16, ratnl a17, ratnl a18, ratnl a19, ratnl a20,
+ ratnl a21, ratnl a22, ratnl a23, ratnl a24, ratnl a25, ratnl a26, ratnl a27, ratnl a28, ratnl a29, ratnl a30,
+ ratnl a31, ratnl a32, ratnl a33)
+ {
+ ratnl result = ((a1 * a2 + a3 * a4 + a5 * a6 + a7 * a8 + a9 * a10) *
+ (a11 - a12) * (a13 - a14) * (a15 - a16) * (a17 - a18) * (a19 - a20) -
+ a30 - a29 + a28 - a27 + a26 - a25 + a24 - a23 + a22 - a21) *
+ ((a33 - a30) * (a31 + a32));
+ return result;
+ }
+
+ public static long f2(ratnl a1, ratnl a2, ratnl a3, ratnl a4, ratnl a5, ratnl a6, ratnl a7, ratnl a8, ratnl a9, ratnl a10,
+ ratnl a11, ratnl a12, ratnl a13, ratnl a14, ratnl a15, ratnl a16, ratnl a17, ratnl a18, ratnl a19, ratnl a20,
+ ratnl a21, ratnl a22, ratnl a23, ratnl a24, ratnl a25, ratnl a26, ratnl a27, ratnl a28, ratnl a29, ratnl a30,
+ ratnl a31, ratnl a32, ratnl a33)
+ {
+ return ((a1.p_nmr * a2.p_nmr + a3.p_nmr * a4.p_nmr + a5.p_nmr * a6.p_nmr + a7.p_nmr * a8.p_nmr + a9.p_nmr * a10.p_nmr) *
+ (a11.p_nmr - a12.p_nmr) * (a13.p_nmr - a14.p_nmr) * (a15.p_nmr - a16.p_nmr) * (a17.p_nmr - a18.p_nmr) * (a19.p_nmr - a20.p_nmr) -
+ a30.p_nmr - a29.p_nmr + a28.p_nmr - a27.p_nmr + a26.p_nmr - a25.p_nmr + a24.p_nmr - a23.p_nmr + a22.p_nmr - a21.p_nmr) *
+ (a33.p_nmr - a30.p_nmr) * (a31.p_nmr + a32.p_nmr);
+ }
+
+ public static long f3(ratnl a1, ratnl a2, ratnl a3, ratnl a4, ratnl a5, ratnl a6, ratnl a7, ratnl a8, ratnl a9, ratnl a10,
+ ratnl a11, ratnl a12, ratnl a13, ratnl a14, ratnl a15, ratnl a16, ratnl a17, ratnl a18, ratnl a19, ratnl a20,
+ ratnl a21, ratnl a22, ratnl a23, ratnl a24, ratnl a25, ratnl a26, ratnl a27, ratnl a28, ratnl a29, ratnl a30,
+ ratnl a31, ratnl a32, ratnl a33)
+ {
+ return ((a1.p_dnm * a2.p_dnm + a3.p_dnm * a4.p_dnm + a5.p_dnm * a6.p_dnm + a7.p_dnm * a8.p_dnm + a9.p_dnm * a10.p_dnm) *
+ (a11.p_dnm - a12.p_dnm) * (a13.p_dnm - a14.p_dnm) * (a15.p_dnm - a16.p_dnm) * (a17.p_dnm - a18.p_dnm) * (a19.p_dnm - a20.p_dnm) -
+ a30.p_dnm - a29.p_dnm + a28.p_dnm - a27.p_dnm + a26.p_dnm - a25.p_dnm + a24.p_dnm - a23.p_dnm + a22.p_dnm - a21.p_dnm) *
+ (a33.p_dnm - a30.p_dnm) * (a31.p_dnm + a32.p_dnm);
+ }
+
+ public static long f4(ref long a1, ref long a2, ref long a3, ref long a4, ref long a5, ref long a6, ref long a7, ref long a8, ref long a9, ref long a10,
+ ref long a11, ref long a12, ref long a13, ref long a14, ref long a15, ref long a16, ref long a17, ref long a18, ref long a19, ref long a20,
+ ref long a21, ref long a22, ref long a23, ref long a24, ref long a25, ref long a26, ref long a27, ref long a28, ref long a29, ref long a30,
+ ref long a31, ref long a32, ref long a33)
+ {
+ return ((a1 * a2 + a3 * a4 + a5 * a6 + a7 * a8 + a9 * a10) *
+ (a11 - a12) * (a13 - a14) * (a15 - a16) * (a17 - a18) * (a19 - a20) -
+ a30 - a29 + a28 - a27 + a26 - a25 + a24 - a23 + a22 - a21) *
+ (a33 - a30) * (a31 + a32);
+ }
+
+ public static int Main()
+ {
+ bool passed = true;
+
+ ratnl r1 = new ratnl(1, 1);
+ ratnl r2 = new ratnl(2, 2);
+ ratnl r3 = new ratnl(3, 3);
+ ratnl r4 = new ratnl(4, 4);
+ ratnl r5 = new ratnl(5, 5);
+ ratnl r6 = new ratnl(6, 6);
+ ratnl r7 = new ratnl(7, 7);
+ ratnl r8 = new ratnl(8, 8);
+ ratnl r9 = new ratnl(9, 9);
+ ratnl r10 = new ratnl(10, 10);
+ ratnl r11 = new ratnl(-10, 30);
+ ratnl r12 = new ratnl(-9, 31);
+ ratnl r13 = new ratnl(-8, 32);
+ ratnl r14 = new ratnl(-7, 33);
+ ratnl r15 = new ratnl(-6, 34);
+ ratnl r16 = new ratnl(-5, 35);
+ ratnl r17 = new ratnl(-4, 36);
+ ratnl r18 = new ratnl(-3, 37);
+ ratnl r19 = new ratnl(-2, 38);
+ ratnl r20 = new ratnl(-1, 39);
+ ratnl r21 = new ratnl(11, -1);
+ ratnl r22 = new ratnl(22, -2);
+ ratnl r23 = new ratnl(33, -3);
+ ratnl r24 = new ratnl(44, -4);
+ ratnl r25 = new ratnl(55, -5);
+ ratnl r26 = new ratnl(66, -6);
+ ratnl r27 = new ratnl(77, -7);
+ ratnl r28 = new ratnl(88, -8);
+ ratnl r29 = new ratnl(99, -9);
+ ratnl r30 = new ratnl(30, -30);
+ ratnl r31 = new ratnl(31, -31);
+ ratnl r32 = new ratnl(32, -32);
+ ratnl r33 = new ratnl(33, -33);
+
+ if (f1(r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33).p_nmr
+ != f2(r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33))
+ passed = false;
+
+ long dnm1 = r1.p_dnm;
+ long dnm2 = r2.p_dnm;
+ long dnm3 = r3.p_dnm;
+ long dnm4 = r4.p_dnm;
+ long dnm5 = r5.p_dnm;
+ long dnm6 = r6.p_dnm;
+ long dnm7 = r7.p_dnm;
+ long dnm8 = r8.p_dnm;
+ long dnm9 = r9.p_dnm;
+ long dnm10 = r10.p_dnm;
+ long dnm11 = r11.p_dnm;
+ long dnm12 = r12.p_dnm;
+ long dnm13 = r13.p_dnm;
+ long dnm14 = r14.p_dnm;
+ long dnm15 = r15.p_dnm;
+ long dnm16 = r16.p_dnm;
+ long dnm17 = r17.p_dnm;
+ long dnm18 = r18.p_dnm;
+ long dnm19 = r19.p_dnm;
+ long dnm21 = r21.p_dnm;
+ long dnm20 = r20.p_dnm;
+ long dnm22 = r22.p_dnm;
+ long dnm23 = r23.p_dnm;
+ long dnm24 = r24.p_dnm;
+ long dnm25 = r25.p_dnm;
+ long dnm26 = r26.p_dnm;
+ long dnm27 = r27.p_dnm;
+ long dnm28 = r28.p_dnm;
+ long dnm29 = r29.p_dnm;
+ long dnm30 = r30.p_dnm;
+ long dnm31 = r31.p_dnm;
+ long dnm32 = r32.p_dnm;
+ long dnm33 = r33.p_dnm;
+
+ if (f3(r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33)
+ != f4(ref dnm1, ref dnm2, ref dnm3, ref dnm4, ref dnm5, ref dnm6, ref dnm7, ref dnm8, ref dnm9, ref dnm10,
+ ref dnm11, ref dnm12, ref dnm13, ref dnm14, ref dnm15, ref dnm16, ref dnm17, ref dnm18, ref dnm19, ref dnm20,
+ ref dnm21, ref dnm22, ref dnm23, ref dnm24, ref dnm25, ref dnm26, ref dnm27, ref dnm28, ref dnm29, ref dnm30,
+ ref dnm31, ref dnm32, ref dnm33))
+ passed = false;
+
+ if (!passed)
+ {
+ Console.WriteLine("FAILED");
+ return 1;
+ }
+ else
+ {
+ Console.WriteLine("PASSED");
+ return 100;
+ }
+ }
+}
+
+
+
+
diff --git a/tests/src/JIT/Directed/coverage/oldtests/33objref_cs_d.csproj b/tests/src/JIT/Directed/coverage/oldtests/33objref_cs_d.csproj
new file mode 100644
index 0000000000..daf55272e9
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/33objref_cs_d.csproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{C17DAACE-3DBA-4199-90E2-96F991712114}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ <Optimize>False</Optimize>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="33objref.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <PropertyGroup>
+ <ProjectJson>$(JitPackagesConfigFileDirectory)minimal\project.json</ProjectJson>
+ <ProjectLockJson>$(JitPackagesConfigFileDirectory)minimal\project.lock.json</ProjectLockJson>
+ </PropertyGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/33objref_cs_do.csproj b/tests/src/JIT/Directed/coverage/oldtests/33objref_cs_do.csproj
new file mode 100644
index 0000000000..b61c71087d
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/33objref_cs_do.csproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{5540B7B2-2011-400F-9DF6-3A35CF7C4004}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ <Optimize>True</Optimize>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="33objref.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <PropertyGroup>
+ <ProjectJson>$(JitPackagesConfigFileDirectory)minimal\project.json</ProjectJson>
+ <ProjectLockJson>$(JitPackagesConfigFileDirectory)minimal\project.lock.json</ProjectLockJson>
+ </PropertyGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/33objref_cs_r.csproj b/tests/src/JIT/Directed/coverage/oldtests/33objref_cs_r.csproj
new file mode 100644
index 0000000000..17d8ac1f21
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/33objref_cs_r.csproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{5536EDEC-592C-4855-8560-839687B39DEF}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>None</DebugType>
+ <Optimize>False</Optimize>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="33objref.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <PropertyGroup>
+ <ProjectJson>$(JitPackagesConfigFileDirectory)minimal\project.json</ProjectJson>
+ <ProjectLockJson>$(JitPackagesConfigFileDirectory)minimal\project.lock.json</ProjectLockJson>
+ </PropertyGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/33objref_cs_ro.csproj b/tests/src/JIT/Directed/coverage/oldtests/33objref_cs_ro.csproj
new file mode 100644
index 0000000000..04af66584f
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/33objref_cs_ro.csproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{F99AADDF-CFF0-43F7-9AC9-D19E5A72DBBE}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>None</DebugType>
+ <Optimize>True</Optimize>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="33objref.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <PropertyGroup>
+ <ProjectJson>$(JitPackagesConfigFileDirectory)minimal\project.json</ProjectJson>
+ <ProjectLockJson>$(JitPackagesConfigFileDirectory)minimal\project.lock.json</ProjectLockJson>
+ </PropertyGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/Desktop/callipinvoke.il b/tests/src/JIT/Directed/coverage/oldtests/Desktop/callipinvoke.il
new file mode 100644
index 0000000000..a6d43f538c
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/Desktop/callipinvoke.il
@@ -0,0 +1,199 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+//Testing calli with pinvoke methods
+.assembly extern legacy library mscorlib {}
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly callipinvoke
+{
+}
+
+
+.class public auto ansi Win32
+{
+
+ .method family static pinvokeimpl("kernel32.dll" ansi winapi) unsigned int32 GetSystemDirectoryA(class [mscorlib]System.Text.StringBuilder lpText,unsigned int32 uSize) il managed preservesig {}
+ .method family static pinvokeimpl("kernel32.dll" unicode winapi) unsigned int32 GetSystemDirectoryW(class [mscorlib]System.Text.StringBuilder lpText,unsigned int32 uSize) il managed preservesig {}
+ .method family static pinvokeimpl("kernel32.dll" as "GetSystemDirectory" autochar winapi) unsigned int32 GetSystemDirectoryAuto(class [mscorlib]System.Text.StringBuilder pText,unsigned int32 uSize) il managed preservesig {}
+ .method family static pinvokeimpl("kernel32.dll" as "GetSystemDirectoryA" ansi winapi) unsigned int32 GetSystemDirectory(class [mscorlib]System.Text.StringBuilder lpText,unsigned int32 uSize) il managed preservesig {}
+ .method public specialname rtspecialname instance void .ctor() il managed
+ {
+ // Method begins at RVA 0x1000
+ // Code size 7 (0x7)
+ .maxstack 1
+
+ IL_0000: ldarg.0
+ IL_0001: tail. call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ } // end of method 'Win32::.ctor'
+
+} // end of class 'Win32'
+
+.class public auto ansi TailWin32 extends Win32
+{
+ .method public static unsigned int32 GetSystemDirectoryA(class [mscorlib]System.Text.StringBuilder lpText,unsigned int32 uSize) il managed
+ {
+ // Method begins at RVA 0x1020
+ // Code size 8 (0x8)
+ .maxstack 3
+
+ IL_0000: ldarg.0
+ IL_0001: ldarg.1
+ ldftn unsigned int32 Win32::GetSystemDirectoryA(class [mscorlib]System.Text.StringBuilder,unsigned int32)
+ calli unsigned int32 (class [mscorlib]System.Text.StringBuilder,unsigned int32)
+ IL_0007: ret
+ } // end of method 'TailWin32::GetSystemDirectoryA'
+
+ .method public instance unsigned int32 GetSystemDirectoryW(class [mscorlib]System.Text.StringBuilder lpText,unsigned int32 uSize) il managed
+ {
+ // Method begins at RVA 0x1040
+ // Code size 8 (0x8)
+ .maxstack 3
+
+ IL_0000: ldarg.1
+ IL_0001: ldarg.2
+ ldftn unsigned int32 Win32::GetSystemDirectoryW(class [mscorlib]System.Text.StringBuilder,unsigned int32)
+ calli unsigned int32 (class [mscorlib]System.Text.StringBuilder,unsigned int32)
+ IL_0007: ret
+ } // end of method 'TailWin32::GetSystemDirectoryW'
+
+ .method public static unsigned int32 GetSystemDirectoryAuto(class [mscorlib]System.Text.StringBuilder lpText,unsigned int32 uSize) il managed
+ {
+ // Method begins at RVA 0x1060
+ // Code size 8 (0x8)
+ .maxstack 3
+
+ IL_0000: ldarg.0
+ IL_0001: ldarg.1
+ ldftn unsigned int32 Win32::GetSystemDirectoryAuto(class [mscorlib]System.Text.StringBuilder,unsigned int32)
+ calli unsigned int32 (class [mscorlib]System.Text.StringBuilder,unsigned int32)
+ IL_0007: ret
+ } // end of method 'TailWin32::GetSystemDirectoryAuto'
+
+ .method public instance unsigned int32 GetSystemDirectory(class [mscorlib]System.Text.StringBuilder lpText,unsigned int32 uSize) il managed
+ {
+ // Method begins at RVA 0x1080
+ // Code size 8 (0x8)
+ .maxstack 3
+
+ IL_0000: ldarg.1
+ IL_0001: ldarg.2
+ ldftn unsigned int32 Win32::GetSystemDirectory(class [mscorlib]System.Text.StringBuilder,unsigned int32)
+ calli unsigned int32 (class [mscorlib]System.Text.StringBuilder,unsigned int32)
+ IL_0007: ret
+ } // end of method 'TailWin32::GetSystemDirectory'
+
+ .method public specialname rtspecialname instance void .ctor() il managed
+ {
+ // Method begins at RVA 0x10a0
+ // Code size 7 (0x7)
+ .maxstack 1
+
+ IL_0000: ldarg.0
+ IL_0001: tail. call instance void Win32::.ctor()
+ IL_0006: ret
+ } // end of method 'TailWin32::.ctor'
+
+} // end of class 'TailWin32'
+
+//Global methods
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.method public static int32 main() il managed
+{
+ .entrypoint
+ // Method begins at RVA 0x10c0
+ // Code size 241 (0xf1)
+ .maxstack 3
+ .locals init (class [mscorlib]System.Text.StringBuilder V_0,
+ int32 V_1,
+ class TailWin32 V_2,
+ int32 V_3)
+
+ IL_0000: ldc.i4 0x100
+ IL_0005: newobj instance void [mscorlib]System.Text.StringBuilder::.ctor(int32)
+ IL_000a: stloc.0
+ IL_000b: ldc.i4 0x1
+ IL_0010: stloc.1
+ IL_0011: newobj instance void TailWin32::.ctor()
+ IL_0016: stloc.2
+ IL_0017: ldloc.0
+ IL_0018: ldc.i4 0x100
+ IL_001d: call unsigned int32 TailWin32::GetSystemDirectoryA(class [mscorlib]System.Text.StringBuilder,unsigned int32)
+ IL_0022: stloc.3
+ IL_0023: ldloc.0
+ IL_0024: castclass [mscorlib]System.Object
+ IL_0029: call void [System.Console]System.Console::WriteLine(class [mscorlib]System.Object)
+ IL_002e: ldloc.3
+ IL_002f: ldc.i4 0x0
+ IL_0034: bne.un IL_004e
+
+ IL_0039: ldstr "Call ansi API failed"//ldptr D_00003000
+ IL_003e: //newobj instance void [mscorlib]System.String::.ctor(wchar*)
+ IL_0043: call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ IL_0048: ldc.i4 0x0
+ IL_004d: stloc.1
+ IL_004e: ldloc.2
+ IL_004f: ldloc.0
+ IL_0050: ldc.i4 0x100
+ IL_0055: call instance unsigned int32 TailWin32::GetSystemDirectory(class [mscorlib]System.Text.StringBuilder,unsigned int32)
+ IL_005a: stloc.3
+ IL_005b: ldloc.0
+ IL_005c: castclass [mscorlib]System.Object
+ IL_0061: call void [System.Console]System.Console::WriteLine(class [mscorlib]System.Object)
+ IL_0066: ldloc.3
+ IL_0067: ldc.i4 0x0
+ IL_006c: bne.un IL_0086
+
+ IL_0071: ldstr "Called unicode/ansi based." //ldptr D_00003030
+ IL_0076: //newobj instance void [mscorlib]System.String::.ctor(wchar*)
+ IL_007b: call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ IL_0080: ldc.i4 0x0
+ IL_0085: stloc.1
+ IL_0086: ldloc.0
+ IL_0087: ldc.i4 0x100
+ IL_008c: call unsigned int32 TailWin32::GetSystemDirectoryAuto(class [mscorlib]System.Text.StringBuilder,unsigned int32)
+ IL_0091: stloc.3
+ IL_0092: ldloc.0
+ IL_0093: castclass [mscorlib]System.Object
+ IL_0098: call void [System.Console]System.Console::WriteLine(class [mscorlib]System.Object)
+ IL_009d: ldloc.3
+ IL_009e: ldc.i4 0x0
+ IL_00a3: bne.un IL_00bc
+
+ IL_00a8: ldstr "Call unicode/ansi" //ldptr D_000030A0
+ IL_00ad: //newobj instance void [mscorlib]System.String::.ctor(wchar*)
+ IL_00b2: call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ IL_00b7: br IL_00dc
+
+ IL_00bc: ldloc.1
+ IL_00bd: ldc.i4 0x0
+ IL_00c2: beq IL_00dc
+
+ IL_00c7: ldstr "Passed" //ldptr D_000030EC
+ IL_00cc: //newobj instance void [mscorlib]System.String::.ctor(wchar*)
+ IL_00d1: call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ IL_00d6: ldc.i4 100
+ IL_00db: ret
+
+ IL_00dc: ldstr "failed"//ldptr D_00003100
+ IL_00e1: //newobj instance void [mscorlib]System.String::.ctor(wchar*)
+ IL_00e6: call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ IL_00eb: ldc.i4 1
+ IL_00f0: ret
+} // end of global method 'main'
+
+.method public static int32 _mainMSIL(int32 argc,int8** argv,int8** envp) il managed
+{
+ // Method begins at RVA 0x11c0
+ // Code size 6 (0x6)
+ .maxstack 1
+
+ IL_0000: call int32 main()
+ IL_0005: ret
+} // end of global method '_mainMSIL'
+
diff --git a/tests/src/JIT/Directed/coverage/oldtests/Desktop/callipinvoke_il_d.ilproj b/tests/src/JIT/Directed/coverage/oldtests/Desktop/callipinvoke_il_d.ilproj
new file mode 100644
index 0000000000..d559008868
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/Desktop/callipinvoke_il_d.ilproj
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="callipinvoke.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/Desktop/callipinvoke_il_r.ilproj b/tests/src/JIT/Directed/coverage/oldtests/Desktop/callipinvoke_il_r.ilproj
new file mode 100644
index 0000000000..6940a152ce
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/Desktop/callipinvoke_il_r.ilproj
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="callipinvoke.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/arrgetlen.il b/tests/src/JIT/Directed/coverage/oldtests/arrgetlen.il
new file mode 100644
index 0000000000..69ccc0f04c
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/arrgetlen.il
@@ -0,0 +1,213 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+.assembly extern mscorlib { }
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly arrgetlen {}
+.class private sequential ansi sealed beforefieldinit VT
+ extends [mscorlib]System.ValueType
+{
+ .pack 0
+ .size 1
+} // end of class VT
+
+.class private auto ansi beforefieldinit X<([mscorlib]System.Object) T>
+ extends [mscorlib]System.Object
+{
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ // Code size 7 (0x7)
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ } // end of method X::.ctor
+
+} // end of class X
+
+.class private auto ansi beforefieldinit arrgetlen
+ extends [mscorlib]System.Object
+{
+ .method private hidebysig static int32
+ Main() cil managed
+ {
+ .entrypoint
+ .maxstack 2
+ .locals init (class [mscorlib]System.Array V_0,
+ int32 V_1,
+ valuetype VT [] V_2,
+ class arrgetlen[] V_3,
+ class X<int32> [] V_4,
+ class X<class X<int32>> [] V_5,
+ class X<class X<int32>>[] [] V_6)
+ IL_0000: ldstr "System.Int32"
+ IL_0005: call class [mscorlib]System.Type [mscorlib]System.Type::GetType(string)
+ IL_000a: ldc.i4.1
+ IL_000b: call class [mscorlib]System.Array [mscorlib]System.Array::CreateInstance(class [mscorlib]System.Type,
+ int32)
+ IL_0010: stloc.0
+ IL_0011: ldloc.0
+ IL_0012: ldc.i4.0
+ IL_0013: callvirt instance int32 [mscorlib]System.Array::GetLength(int32)
+ IL_0018: ldc.i4.1
+ IL_0019: beq.s IL_0022
+
+ IL_001b: ldc.i4.1
+ IL_001c: stloc.1
+ IL_001d: br IL_0135
+
+ IL_0022: ldtoken VT
+ IL_0027: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_002c: ldc.i4.1
+ IL_002d: call class [mscorlib]System.Array [mscorlib]System.Array::CreateInstance(class [mscorlib]System.Type,
+ int32)
+ IL_0032: stloc.2
+ IL_0033: ldloc.2
+ IL_0034: ldc.i4.0
+ IL_0035: callvirt instance int32 [mscorlib]System.Array::GetLength(int32)
+ IL_003a: ldc.i4.1
+ IL_003b: beq.s IL_0044
+
+ IL_003d: ldc.i4.1
+ IL_003e: stloc.1
+ IL_003f: br IL_0135
+
+ IL_0044: ldtoken arrgetlen
+ IL_0049: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_004e: ldc.i4.1
+ IL_004f: call class [mscorlib]System.Array [mscorlib]System.Array::CreateInstance(class [mscorlib]System.Type,
+ int32)
+ IL_0054: stloc V_3
+ IL_0055: ldloc V_3
+ IL_0056: ldc.i4.0
+ IL_0057: callvirt instance int32 [mscorlib]System.Array::GetLength(int32)
+ IL_005c: ldc.i4.1
+ IL_005d: beq.s IL_0066
+
+ IL_005f: ldc.i4.1
+ IL_0060: stloc.1
+ IL_0061: br IL_0135
+
+ IL_0066: ldtoken class X<int32>
+ IL_006b: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_0070: ldc.i4.1
+ IL_0071: call class [mscorlib]System.Array [mscorlib]System.Array::CreateInstance(class [mscorlib]System.Type,
+ int32)
+ IL_0076: stloc V_4
+ IL_0077: ldloc V_4
+ IL_0078: ldc.i4.0
+ IL_0079: callvirt instance int32 [mscorlib]System.Array::GetLength(int32)
+ IL_007e: ldc.i4.1
+ IL_007f: beq.s IL_0088
+
+ IL_0081: ldc.i4.1
+ IL_0082: stloc.1
+ IL_0083: br IL_0135
+
+ IL_0088: ldtoken class X<class X<int32>>
+ IL_008d: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_0092: ldc.i4.1
+ IL_0093: call class [mscorlib]System.Array [mscorlib]System.Array::CreateInstance(class [mscorlib]System.Type,
+ int32)
+ IL_0098: stloc V_5
+ IL_0099: ldloc V_5
+ IL_009a: ldc.i4.0
+ IL_009b: callvirt instance int32 [mscorlib]System.Array::GetLength(int32)
+ IL_00a0: ldc.i4.1
+ IL_00a1: beq.s IL_00aa
+
+ IL_00a3: ldc.i4.1
+ IL_00a4: stloc.1
+ IL_00a5: br IL_0135
+
+ IL_00aa: ldtoken valuetype VT[]
+ IL_00af: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_00b4: ldc.i4.2
+ IL_00b5: call class [mscorlib]System.Array [mscorlib]System.Array::CreateInstance(class [mscorlib]System.Type,
+ int32)
+ IL_00ba: stloc.0
+ IL_00bb: ldloc.0
+ IL_00bc: ldc.i4.0
+ IL_00bd: callvirt instance int32 [mscorlib]System.Array::GetLength(int32)
+ IL_00c2: ldc.i4.2
+ IL_00c3: beq.s IL_00c9
+
+ IL_00c5: ldc.i4.2
+ IL_00c6: stloc.1
+ IL_00c7: br.s IL_0135
+
+ IL_00c9: ldtoken class arrgetlen[]
+ IL_00ce: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_00d3: ldc.i4.2
+ IL_00d4: call class [mscorlib]System.Array [mscorlib]System.Array::CreateInstance(class [mscorlib]System.Type,
+ int32)
+ IL_00d9: stloc.0
+ IL_00da: ldloc.0
+ IL_00db: ldc.i4.0
+ IL_00dc: callvirt instance int32 [mscorlib]System.Array::GetLength(int32)
+ IL_00e1: ldc.i4.2
+ IL_00e2: beq.s IL_00e8
+
+ IL_00e4: ldc.i4.2
+ IL_00e5: stloc.1
+ IL_00e6: br.s IL_0135
+
+ IL_00e8: ldtoken class X<int32>[]
+ IL_00ed: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_00f2: ldc.i4.2
+ IL_00f3: call class [mscorlib]System.Array [mscorlib]System.Array::CreateInstance(class [mscorlib]System.Type,
+ int32)
+ IL_00f8: stloc.0
+ IL_00f9: ldloc.0
+ IL_00fa: ldc.i4.0
+ IL_00fb: callvirt instance int32 [mscorlib]System.Array::GetLength(int32)
+ IL_0100: ldc.i4.2
+ IL_0101: beq.s IL_0107
+
+ IL_0103: ldc.i4.2
+ IL_0104: stloc.1
+ IL_0105: br.s IL_0135
+
+ IL_0107: ldtoken class X<class X<int32>>[]
+ IL_010c: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_0111: ldc.i4.2
+ IL_0112: call class [mscorlib]System.Array [mscorlib]System.Array::CreateInstance(class [mscorlib]System.Type,
+ int32)
+ IL_0117: stloc V_6
+ IL_0118: ldloc V_6
+ IL_0119: ldc.i4.0
+ IL_011a: callvirt instance int32 [mscorlib]System.Array::GetLength(int32)
+ IL_011f: ldc.i4.2
+ IL_0120: beq.s IL_0126
+
+ IL_0122: ldc.i4.2
+ IL_0123: stloc.1
+ IL_0124: br.s IL_0135
+
+ IL_0126: ldstr "PASSED"
+ IL_012b: call void [System.Console]System.Console::WriteLine(string)
+ IL_0130: ldc.i4.s 100
+ IL_0132: stloc.1
+ IL_0133: br.s IL_0135
+
+ IL_0135: ldloc.1
+ IL_0136: ret
+ } // end of method arrgetlen::Main
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ // Code size 7 (0x7)
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ } // end of method arrgetlen::.ctor
+
+}
diff --git a/tests/src/JIT/Directed/coverage/oldtests/arrgetlen_il_d.ilproj b/tests/src/JIT/Directed/coverage/oldtests/arrgetlen_il_d.ilproj
new file mode 100644
index 0000000000..fea459f56e
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/arrgetlen_il_d.ilproj
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="arrgetlen.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/arrgetlen_il_r.ilproj b/tests/src/JIT/Directed/coverage/oldtests/arrgetlen_il_r.ilproj
new file mode 100644
index 0000000000..261331178b
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/arrgetlen_il_r.ilproj
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="arrgetlen.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/callipinvoke.il b/tests/src/JIT/Directed/coverage/oldtests/callipinvoke.il
new file mode 100644
index 0000000000..cb70de7728
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/callipinvoke.il
@@ -0,0 +1,197 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+//Testing calli with pinvoke methods
+.assembly extern legacy library mscorlib {}
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly callipinvoke
+{
+}
+
+.class public auto ansi Win32
+{
+ .method family static pinvokeimpl("kernel32.dll" ansi) unsigned int32 GetSystemDirectoryA(class [mscorlib]System.Text.StringBuilder lpText,unsigned int32 uSize) il managed preservesig {}
+ .method family static pinvokeimpl("kernel32.dll" unicode) unsigned int32 GetSystemDirectoryW(class [mscorlib]System.Text.StringBuilder lpText,unsigned int32 uSize) il managed preservesig {}
+ .method family static pinvokeimpl("kernel32.dll" as "GetSystemDirectory" autochar) unsigned int32 GetSystemDirectoryAuto(class [mscorlib]System.Text.StringBuilder pText,unsigned int32 uSize) il managed preservesig {}
+ .method family static pinvokeimpl("kernel32.dll" as "GetSystemDirectoryA" ansi) unsigned int32 GetSystemDirectory(class [mscorlib]System.Text.StringBuilder lpText,unsigned int32 uSize) il managed preservesig {}
+ .method public specialname rtspecialname instance void .ctor() il managed
+ {
+ // Method begins at RVA 0x1000
+ // Code size 7 (0x7)
+ .maxstack 1
+
+ IL_0000: ldarg.0
+ IL_0001: tail. call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ } // end of method 'Win32::.ctor'
+
+} // end of class 'Win32'
+
+.class public auto ansi TailWin32 extends Win32
+{
+ .method public static unsigned int32 GetSystemDirectoryA(class [mscorlib]System.Text.StringBuilder lpText,unsigned int32 uSize) il managed
+ {
+ // Method begins at RVA 0x1020
+ // Code size 8 (0x8)
+ .maxstack 3
+
+ IL_0000: ldarg.0
+ IL_0001: ldarg.1
+ ldftn unsigned int32 Win32::GetSystemDirectoryA(class [mscorlib]System.Text.StringBuilder,unsigned int32)
+ calli unsigned int32 (class [mscorlib]System.Text.StringBuilder,unsigned int32)
+ IL_0007: ret
+ } // end of method 'TailWin32::GetSystemDirectoryA'
+
+ .method public instance unsigned int32 GetSystemDirectoryW(class [mscorlib]System.Text.StringBuilder lpText,unsigned int32 uSize) il managed
+ {
+ // Method begins at RVA 0x1040
+ // Code size 8 (0x8)
+ .maxstack 3
+
+ IL_0000: ldarg.1
+ IL_0001: ldarg.2
+ ldftn unsigned int32 Win32::GetSystemDirectoryW(class [mscorlib]System.Text.StringBuilder,unsigned int32)
+ calli unsigned int32 (class [mscorlib]System.Text.StringBuilder,unsigned int32)
+ IL_0007: ret
+ } // end of method 'TailWin32::GetSystemDirectoryW'
+
+ .method public static unsigned int32 GetSystemDirectoryAuto(class [mscorlib]System.Text.StringBuilder lpText,unsigned int32 uSize) il managed
+ {
+ // Method begins at RVA 0x1060
+ // Code size 8 (0x8)
+ .maxstack 3
+
+ IL_0000: ldarg.0
+ IL_0001: ldarg.1
+ ldftn unsigned int32 Win32::GetSystemDirectoryAuto(class [mscorlib]System.Text.StringBuilder,unsigned int32)
+ calli unsigned int32 (class [mscorlib]System.Text.StringBuilder,unsigned int32)
+ IL_0007: ret
+ } // end of method 'TailWin32::GetSystemDirectoryAuto'
+
+ .method public instance unsigned int32 GetSystemDirectory(class [mscorlib]System.Text.StringBuilder lpText,unsigned int32 uSize) il managed
+ {
+ // Method begins at RVA 0x1080
+ // Code size 8 (0x8)
+ .maxstack 3
+
+ IL_0000: ldarg.1
+ IL_0001: ldarg.2
+ ldftn unsigned int32 Win32::GetSystemDirectory(class [mscorlib]System.Text.StringBuilder,unsigned int32)
+ calli unsigned int32 (class [mscorlib]System.Text.StringBuilder,unsigned int32)
+ IL_0007: ret
+ } // end of method 'TailWin32::GetSystemDirectory'
+
+ .method public specialname rtspecialname instance void .ctor() il managed
+ {
+ // Method begins at RVA 0x10a0
+ // Code size 7 (0x7)
+ .maxstack 1
+
+ IL_0000: ldarg.0
+ IL_0001: tail. call instance void Win32::.ctor()
+ IL_0006: ret
+ } // end of method 'TailWin32::.ctor'
+
+} // end of class 'TailWin32'
+
+//Global methods
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.method public static int32 main() il managed
+{
+ .entrypoint
+ // Method begins at RVA 0x10c0
+ // Code size 241 (0xf1)
+ .maxstack 3
+ .locals init (class [mscorlib]System.Text.StringBuilder V_0,
+ int32 V_1,
+ class TailWin32 V_2,
+ int32 V_3)
+
+ IL_0000: ldc.i4 0x100
+ IL_0005: newobj instance void [mscorlib]System.Text.StringBuilder::.ctor(int32)
+ IL_000a: stloc.0
+ IL_000b: ldc.i4 0x1
+ IL_0010: stloc.1
+ IL_0011: newobj instance void TailWin32::.ctor()
+ IL_0016: stloc.2
+ IL_0017: ldloc.0
+ IL_0018: ldc.i4 0x100
+ IL_001d: call unsigned int32 TailWin32::GetSystemDirectoryA(class [mscorlib]System.Text.StringBuilder,unsigned int32)
+ IL_0022: stloc.3
+ IL_0023: ldloc.0
+ IL_0024: castclass [mscorlib]System.Object
+ IL_0029: call void [System.Console]System.Console::WriteLine(class [mscorlib]System.Object)
+ IL_002e: ldloc.3
+ IL_002f: ldc.i4 0x0
+ IL_0034: bne.un IL_004e
+
+ IL_0039: ldstr "Call ansi API failed"//ldptr D_00003000
+ IL_003e: //newobj instance void [mscorlib]System.String::.ctor(wchar*)
+ IL_0043: call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ IL_0048: ldc.i4 0x0
+ IL_004d: stloc.1
+ IL_004e: ldloc.2
+ IL_004f: ldloc.0
+ IL_0050: ldc.i4 0x100
+ IL_0055: call instance unsigned int32 TailWin32::GetSystemDirectory(class [mscorlib]System.Text.StringBuilder,unsigned int32)
+ IL_005a: stloc.3
+ IL_005b: ldloc.0
+ IL_005c: castclass [mscorlib]System.Object
+ IL_0061: call void [System.Console]System.Console::WriteLine(class [mscorlib]System.Object)
+ IL_0066: ldloc.3
+ IL_0067: ldc.i4 0x0
+ IL_006c: bne.un IL_0086
+
+ IL_0071: ldstr "Called unicode/ansi based." //ldptr D_00003030
+ IL_0076: //newobj instance void [mscorlib]System.String::.ctor(wchar*)
+ IL_007b: call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ IL_0080: ldc.i4 0x0
+ IL_0085: stloc.1
+ IL_0086: ldloc.0
+ IL_0087: ldc.i4 0x100
+ IL_008c: call unsigned int32 TailWin32::GetSystemDirectoryAuto(class [mscorlib]System.Text.StringBuilder,unsigned int32)
+ IL_0091: stloc.3
+ IL_0092: ldloc.0
+ IL_0093: castclass [mscorlib]System.Object
+ IL_0098: call void [System.Console]System.Console::WriteLine(class [mscorlib]System.Object)
+ IL_009d: ldloc.3
+ IL_009e: ldc.i4 0x0
+ IL_00a3: bne.un IL_00bc
+
+ IL_00a8: ldstr "Call unicode/ansi" //ldptr D_000030A0
+ IL_00ad: //newobj instance void [mscorlib]System.String::.ctor(wchar*)
+ IL_00b2: call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ IL_00b7: br IL_00dc
+
+ IL_00bc: ldloc.1
+ IL_00bd: ldc.i4 0x0
+ IL_00c2: beq IL_00dc
+
+ IL_00c7: ldstr "Passed" //ldptr D_000030EC
+ IL_00cc: //newobj instance void [mscorlib]System.String::.ctor(wchar*)
+ IL_00d1: call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ IL_00d6: ldc.i4 100
+ IL_00db: ret
+
+ IL_00dc: ldstr "failed"//ldptr D_00003100
+ IL_00e1: //newobj instance void [mscorlib]System.String::.ctor(wchar*)
+ IL_00e6: call void [System.Console]System.Console::WriteLine(class [mscorlib]System.String)
+ IL_00eb: ldc.i4 1
+ IL_00f0: ret
+} // end of global method 'main'
+
+.method public static int32 _mainMSIL(int32 argc,int8** argv,int8** envp) il managed
+{
+ // Method begins at RVA 0x11c0
+ // Code size 6 (0x6)
+ .maxstack 1
+
+ IL_0000: call int32 main()
+ IL_0005: ret
+} // end of global method '_mainMSIL'
+
diff --git a/tests/src/JIT/Directed/coverage/oldtests/callipinvoke.ilproj b/tests/src/JIT/Directed/coverage/oldtests/callipinvoke.ilproj
new file mode 100644
index 0000000000..85e6960a82
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/callipinvoke.ilproj
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ <Optimize>False</Optimize>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="callipinvoke.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/cse1.cs b/tests/src/JIT/Directed/coverage/oldtests/cse1.cs
new file mode 100644
index 0000000000..3df4e8eddb
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/cse1.cs
@@ -0,0 +1,171 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+//testing common sub-expression elimination
+
+using System;
+public class CL
+{
+ public int item;
+};
+
+public class CSE1
+{
+ private static int s_sa;
+ private static int s_sb;
+ private static int[] s_arr1d = { 10, 20, 30, 40, 50 };
+
+ private static int DoIt(ref int pa)
+ {
+ int result = 0;
+ if (s_sa + s_sb == 0)
+ result++;
+ pa = 1;
+ if (s_sa + s_sb == 1)
+ result++;
+ pa = 2;
+ if (s_sa + s_sb == 2)
+ result++;
+ pa = 3;
+ if (s_sa + s_sb == 3)
+ result++;
+ return result;
+ }
+
+ private static int DoAdd(ref int pa)
+ {
+ int result = 0;
+ if (s_sa + s_sb == 0)
+ result += s_arr1d[s_sa + s_sb];
+ pa = 1;
+ if (s_sa + s_sb == 1)
+ result += s_arr1d[s_sa + s_sb];
+ pa = 2;
+ if (s_sa + s_sb == 2)
+ result += s_arr1d[s_sa + s_sb];
+ pa = 3;
+ if (s_sa + s_sb == 3)
+ result += s_arr1d[s_sa + s_sb];
+ result += s_arr1d[s_sa + s_sb + 1];
+ return result;
+ }
+
+ private static int DoSub(ref int pa)
+ {
+ int result = 0;
+ if (s_sa - s_sb == 3)
+ result += s_arr1d[s_sa - s_sb - 3];
+ pa = 1;
+ if (s_sa - s_sb == 1)
+ result += s_arr1d[s_sa - s_sb];
+ pa = 2;
+ if (s_sa - s_sb == 2)
+ result += s_arr1d[s_sa - s_sb];
+ pa = 3;
+ if (s_sa - s_sb == 3)
+ result += s_arr1d[s_sa - s_sb];
+ result += s_arr1d[s_sa - s_sb + 1];
+ return result;
+ }
+
+ private static int DoMul(ref int pa)
+ {
+ int result = 0;
+ if (s_sa * s_sb == 3)
+ result += s_arr1d[s_sa * s_sb * result];
+ pa = 1;
+ if (s_sa * s_sb == 1)
+ result += s_arr1d[s_sa * s_sb];
+ pa = 2;
+ if (s_sa * s_sb == 2)
+ result += s_arr1d[s_sa * s_sb];
+ pa = 3;
+ if (s_sa * s_sb == 3)
+ result += s_arr1d[s_sa * s_sb];
+ result += s_arr1d[s_sa * s_sb + 1];
+ return result;
+ }
+
+ private static int DoDiv(ref int pa)
+ {
+ int result = 0;
+ if (s_sa / s_sb == 3)
+ result += s_arr1d[s_sa / s_sb];
+ pa = 1;
+ if (s_sa / s_sb == 1)
+ result += s_arr1d[s_sa / s_sb];
+ pa = 2;
+ if (s_sa / s_sb == 2)
+ result += s_arr1d[s_sa / s_sb];
+ pa = 3;
+ if (s_sa / s_sb == 3)
+ result += s_arr1d[s_sa / s_sb - 3];
+ result += s_arr1d[s_sa / s_sb + 1];
+ return result;
+ }
+
+ public static int Main(string[] args)
+ {
+ int result;
+ s_sa = 0;
+ s_sb = 0;
+
+ result = DoIt(ref s_sa);
+ if ((result != 4) || (s_sa != 3))
+ {
+ Console.WriteLine("testcase 0 FAILED, result is {0}, sa is {1}", result, s_sa);
+ return 1;
+ }
+
+ s_sa = 0;
+ result = DoAdd(ref s_sa);
+ if ((result != 150) || (s_sa != 3))
+ {
+ Console.WriteLine("testcase 1 FAILED, result is {0}, sa is {1}", result, s_sa);
+ return 1;
+ }
+
+ result = DoSub(ref s_sa);
+ if ((result != 150) || (s_sa != 3))
+ {
+ Console.WriteLine("testcase 2 FAILED, result is {0}, sa is {1}", result, s_sa);
+ return 1;
+ }
+
+ s_sb = 1;
+ result = DoMul(ref s_sa);
+ if ((result != 150) || (s_sa != 3))
+ {
+ Console.WriteLine("testcase 3 FAILED, result is {0}, sa is {1}", result, s_sa);
+ return 1;
+ }
+
+ result = DoDiv(ref s_sa);
+ if ((result != 150) || (s_sa != 3))
+ {
+ Console.WriteLine("testcase 4 FAILED, result is {0}, sa is {1}", result, s_sa);
+ return 1;
+ }
+
+ CL CL1 = new CL();
+ CL1.item = 10;
+ if (CL1.item * 2 < 30)
+ {
+ CL1.item = CL1.item * 2;
+ }
+ else
+ {
+ CL1.item = 5 * (CL1.item * 2);
+ }
+
+ if (CL1.item * 2 != 40)
+ {
+ Console.WriteLine("testcase 5 FAILED, CL1.item is {0}", CL1.item);
+ return 1;
+ }
+
+ Console.WriteLine("PASSED");
+ return 100;
+ }
+}
diff --git a/tests/src/JIT/Directed/coverage/oldtests/cse1_cs_d.csproj b/tests/src/JIT/Directed/coverage/oldtests/cse1_cs_d.csproj
new file mode 100644
index 0000000000..eff3bc83ea
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/cse1_cs_d.csproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{0F8D7570-F2F9-48EC-8337-D30A7E3E804E}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ <Optimize>False</Optimize>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="cse1.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <PropertyGroup>
+ <ProjectJson>$(JitPackagesConfigFileDirectory)minimal\project.json</ProjectJson>
+ <ProjectLockJson>$(JitPackagesConfigFileDirectory)minimal\project.lock.json</ProjectLockJson>
+ </PropertyGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/cse1_cs_do.csproj b/tests/src/JIT/Directed/coverage/oldtests/cse1_cs_do.csproj
new file mode 100644
index 0000000000..8d206d9923
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/cse1_cs_do.csproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{74D4B57D-1DCD-4AA9-B60E-76892E52EA3A}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ <Optimize>True</Optimize>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="cse1.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <PropertyGroup>
+ <ProjectJson>$(JitPackagesConfigFileDirectory)minimal\project.json</ProjectJson>
+ <ProjectLockJson>$(JitPackagesConfigFileDirectory)minimal\project.lock.json</ProjectLockJson>
+ </PropertyGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/cse1_cs_r.csproj b/tests/src/JIT/Directed/coverage/oldtests/cse1_cs_r.csproj
new file mode 100644
index 0000000000..f112ea370b
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/cse1_cs_r.csproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{692088EB-4644-4378-B391-3C06C532281C}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>None</DebugType>
+ <Optimize>False</Optimize>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="cse1.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <PropertyGroup>
+ <ProjectJson>$(JitPackagesConfigFileDirectory)minimal\project.json</ProjectJson>
+ <ProjectLockJson>$(JitPackagesConfigFileDirectory)minimal\project.lock.json</ProjectLockJson>
+ </PropertyGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/cse1_cs_ro.csproj b/tests/src/JIT/Directed/coverage/oldtests/cse1_cs_ro.csproj
new file mode 100644
index 0000000000..55e2d2b1e3
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/cse1_cs_ro.csproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{670924CC-25CB-4669-9106-89971679F2C7}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>None</DebugType>
+ <Optimize>True</Optimize>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="cse1.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <PropertyGroup>
+ <ProjectJson>$(JitPackagesConfigFileDirectory)minimal\project.json</ProjectJson>
+ <ProjectLockJson>$(JitPackagesConfigFileDirectory)minimal\project.lock.json</ProjectLockJson>
+ </PropertyGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/cse2.cs b/tests/src/JIT/Directed/coverage/oldtests/cse2.cs
new file mode 100644
index 0000000000..f1c06ff91e
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/cse2.cs
@@ -0,0 +1,544 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+//Testing common sub-expression elimination in random code
+
+using System;
+internal unsafe class testout1
+{
+ public static int sa = 2;
+ public static int sb = 1;
+ public struct VT_0_1_2_5_2
+ {
+ public double a4_0_1_2_5_2;
+ }
+
+
+ public struct VT_0_1_2_5_1
+ {
+ public double a1_0_1_2_5_1;
+ }
+
+
+ public struct VT_0_1_2_4_3
+ {
+ public long a0_0_1_2_4_3;
+ }
+
+
+ public struct VT_0_1_2_4_2
+ {
+ public double a2_0_1_2_4_2;
+ }
+
+
+ public struct VT_0_1_2_3_2
+ {
+ public long a2_0_1_2_3_2;
+ }
+
+
+ public struct VT_0_1_2_3_1
+ {
+ public int a1_0_1_2_3_1;
+ public long a4_0_1_2_3_1;
+ }
+
+
+ public struct VT_0_1_2_2_2
+ {
+ public double a3_0_1_2_2_2;
+ }
+
+
+ public struct VT_0_1_2_2_1
+ {
+ public long a0_0_1_2_2_1;
+ public double a1_0_1_2_2_1;
+ public double a4_0_1_2_2_1;
+ public long a5_0_1_2_2_1;
+ }
+
+
+ public struct VT_0_1_2_1_2
+ {
+ public int a1_0_1_2_1_2;
+ public double a4_0_1_2_1_2;
+ }
+
+
+ public struct VT_0_1_2_1_1
+ {
+ public double a0_0_1_2_1_1;
+ public double a3_0_1_2_1_1;
+ public double a4_0_1_2_1_1;
+ }
+
+
+ public struct VT_0_1_2_5
+ {
+ public double a1_0_1_2_5;
+ public double a2_0_1_2_5;
+ }
+
+
+ public struct VT_0_1_2_3
+ {
+ public int a1_0_1_2_3;
+ public long a2_0_1_2_3;
+ }
+
+
+ public struct VT_0_1_2_2
+ {
+ public double a3_0_1_2_2;
+ }
+
+
+ public struct VT_0_1_2_1
+ {
+ public double a1_0_1_2_1;
+ public double a3_0_1_2_1;
+ }
+
+
+ public struct VT_0_1_2
+ {
+ public double a0_0_1_2;
+ }
+
+
+ public struct VT_0_1
+ {
+ public float a2_0_1;
+ public int a3_0_1;
+ }
+
+
+ public struct VT_0
+ {
+ public float a2_0;
+ public double a3_0;
+ public double a4_0;
+ }
+
+
+ public class CL_0_1_2_5_2
+ {
+ public long a0_0_1_2_5_2 = -sa * sb;
+ }
+
+
+ public class CL_0_1_2_5_1
+ {
+ public double[,,] arr3d_0_1_2_5_1 = new double[5, 11, 4];
+ }
+
+
+ public class CL_0_1_2_4_1
+ {
+ public long[,,] arr3d_0_1_2_4_1 = new long[5, 11, 4];
+ public long a1_0_1_2_4_1 = sa + sb;
+ }
+
+
+ public class CL_0_1_2_3_2
+ {
+ public long[,,] arr3d_0_1_2_3_2 = new long[5, 11, 4];
+ public int[,] arr2d_0_1_2_3_2 = new int[3, 11];
+ }
+
+
+ public class CL_0_1_2_3_1
+ {
+ public long[] arr1d_0_1_2_3_1 = new long[11];
+ public int[,,] arr3d_0_1_2_3_1 = new int[5, 11, 4];
+ public int a5_0_1_2_3_1 = -sa / sb;
+ }
+
+
+ public class CL_0_1_2_2_2
+ {
+ public double a4_0_1_2_2_2 = sa - sb;
+ }
+
+
+ public class CL_0_1_2_2_1
+ {
+ public int[,] arr2d_0_1_2_2_1 = new int[3, 11];
+ }
+
+
+ public class CL_0_1_2_1_2
+ {
+ public double a0_0_1_2_1_2 = sa - sb;
+ }
+
+
+ public class CL_0_1_2_5
+ {
+ public int[,] arr2d_0_1_2_5 = new int[3, 11];
+ }
+
+
+ public class CL_0_1_2_1
+ {
+ public long[,] arr2d_0_1_2_1 = new long[3, 11];
+ }
+
+
+ public class CL_0_1
+ {
+ public double a1_0_1 = sa + sb;
+ }
+
+
+ public static VT_0_1_2_5_2 vtstatic_0_1_2_5_2 = new VT_0_1_2_5_2();
+
+
+
+
+ public static VT_0_1_2_4_3 vtstatic_0_1_2_4_3 = new VT_0_1_2_4_3();
+
+
+
+
+ public static CL_0_1_2_4_1 clstatic_0_1_2_4_1 = new CL_0_1_2_4_1();
+
+
+ public static VT_0_1_2_3_2 vtstatic_0_1_2_3_2 = new VT_0_1_2_3_2();
+
+ private static int s_a2_0_1_2_3_1 = sa / sb;
+
+ public static VT_0_1_2_3_1 vtstatic_0_1_2_3_1 = new VT_0_1_2_3_1();
+
+ private static double s_a1_0_1_2_2_2 = -sa * sb;
+
+
+
+ public static VT_0_1_2_2_1 vtstatic_0_1_2_2_1 = new VT_0_1_2_2_1();
+ public static CL_0_1_2_2_1 clstatic_0_1_2_2_1 = new CL_0_1_2_2_1();
+
+
+
+
+
+
+ public static VT_0_1_2_5 vtstatic_0_1_2_5 = new VT_0_1_2_5();
+
+
+
+
+
+
+ public static VT_0_1_2_2 vtstatic_0_1_2_2 = new VT_0_1_2_2();
+
+
+
+
+
+
+
+
+ public static VT_0_1 vtstatic_0_1 = new VT_0_1();
+
+
+ public static VT_0 vtstatic_0 = new VT_0();
+
+ public static double Func_0_1_2_5_2(CL_0_1_2_5_2 cl_0_1_2_5_2, double* a5_0_1_2_5_2)
+ {
+ double a2_0_1_2_5_2 = sa + sb;
+ double a3_0_1_2_5_2 = sa - sb;
+
+ vtstatic_0_1_2_5_2.a4_0_1_2_5_2 = sa + sb;
+ double retval_0_1_2_5_2 = Convert.ToDouble((a2_0_1_2_5_2 + ((sa + sb - ((sa - sb + cl_0_1_2_5_2.a0_0_1_2_5_2) / (*a5_0_1_2_5_2))) * (((*a5_0_1_2_5_2) / a3_0_1_2_5_2) + vtstatic_0_1_2_5_2.a4_0_1_2_5_2))));
+ Console.WriteLine("retval_0_1_2_5_2 is {0}", retval_0_1_2_5_2);
+ return retval_0_1_2_5_2;
+ }
+
+ public static double Func_0_1_2_5_1(CL_0_1_2_5_1 cl_0_1_2_5_1)
+ {
+ VT_0_1_2_5_1 vt_0_1_2_5_1 = new VT_0_1_2_5_1();
+ vt_0_1_2_5_1.a1_0_1_2_5_1 = sa * sb;
+
+ double retval_0_1_2_5_1 = Convert.ToDouble((((vt_0_1_2_5_1.a1_0_1_2_5_1 + -sa * sb) - vt_0_1_2_5_1.a1_0_1_2_5_1) * ((vt_0_1_2_5_1.a1_0_1_2_5_1 * 1.0) + ((vt_0_1_2_5_1.a1_0_1_2_5_1 + cl_0_1_2_5_1.arr3d_0_1_2_5_1[4, 0, 3]) - (-sa * sb)))));
+ Console.WriteLine("retval_0_1_2_5_1 is {0}", retval_0_1_2_5_1);
+ return retval_0_1_2_5_1;
+ }
+
+ public static double Func_0_1_2_4_3()
+ {
+ int[,] arr2d_0_1_2_4_3 = new int[3, 11];
+
+ vtstatic_0_1_2_4_3.a0_0_1_2_4_3 = -sa / sb;
+ arr2d_0_1_2_4_3[2, 1] = sa / sb;
+ double retval_0_1_2_4_3 = Convert.ToDouble(((((double)((long)(Convert.ToInt32(arr2d_0_1_2_4_3[2, 1]) + (long)(vtstatic_0_1_2_4_3.a0_0_1_2_4_3)) * 0.25)) + (arr2d_0_1_2_4_3[2, 1] * (0.25 - (-sa / sb)))) - (((-sa / sb + sa + sb) + (-sa + sb * sa * sb)))));
+ Console.WriteLine("retval_0_1_2_4_3 is {0}", retval_0_1_2_4_3);
+ return retval_0_1_2_4_3;
+ }
+
+ public static double Func_0_1_2_4_2(VT_0_1_2_4_2 vt_0_1_2_4_2, double a3_0_1_2_4_2)
+ {
+ double a0_0_1_2_4_2 = -sa / sb;
+
+ double retval_0_1_2_4_2 = Convert.ToDouble(((a0_0_1_2_4_2 + ((a0_0_1_2_4_2 - sa / sb) * a3_0_1_2_4_2)) + ((-sa / sb * ((a3_0_1_2_4_2 - sa / sb) - (vt_0_1_2_4_2.a2_0_1_2_4_2))) + (a0_0_1_2_4_2 + sa / sb))));
+ Console.WriteLine("retval_0_1_2_4_2 is {0}", retval_0_1_2_4_2);
+ return retval_0_1_2_4_2;
+ }
+
+ public static long Func_0_1_2_4_1(int[,,] arr3d_0_1_2_4_1)
+ {
+ CL_0_1_2_4_1 cl_0_1_2_4_1 = new CL_0_1_2_4_1();
+
+ clstatic_0_1_2_4_1.arr3d_0_1_2_4_1[4, 0, 3] = -sa % sb;
+ long retval_0_1_2_4_1 = Convert.ToInt64(((long)(Convert.ToInt32(arr3d_0_1_2_4_1[4, 2, 3]) - (long)((clstatic_0_1_2_4_1.arr3d_0_1_2_4_1[4, 0, 3] - cl_0_1_2_4_1.a1_0_1_2_4_1))) + clstatic_0_1_2_4_1.arr3d_0_1_2_4_1[4, 0, 3]));
+ Console.WriteLine("retval_0_1_2_4_1 is {0}", retval_0_1_2_4_1);
+ return retval_0_1_2_4_1;
+ }
+
+ public static long Func_0_1_2_3_2(int[,] arr2d_0_1_2_3_2, CL_0_1_2_3_2 cl_0_1_2_3_2)
+ {
+ vtstatic_0_1_2_3_2.a2_0_1_2_3_2 = -sa * sb;
+ cl_0_1_2_3_2.arr3d_0_1_2_3_2[4, 0, 3] = sa * sb;
+ long retval_0_1_2_3_2 = Convert.ToInt64((((long)(((long)(vtstatic_0_1_2_3_2.a2_0_1_2_3_2) * (long)(sa + sb)) / -sa * sb)) - (long)(Convert.ToInt32((Convert.ToInt32((Convert.ToInt32(cl_0_1_2_3_2.arr2d_0_1_2_3_2[2, 4])) % (Convert.ToInt32(arr2d_0_1_2_3_2[2, 1]))))) - (long)(((long)(vtstatic_0_1_2_3_2.a2_0_1_2_3_2 / (vtstatic_0_1_2_3_2.a2_0_1_2_3_2 - cl_0_1_2_3_2.arr3d_0_1_2_3_2[4, 0, 3])))))));
+ Console.WriteLine("retval_0_1_2_3_2 is {0}", retval_0_1_2_3_2);
+ return retval_0_1_2_3_2;
+ }
+
+ public static long Func_0_1_2_3_1(CL_0_1_2_3_1 cl_0_1_2_3_1)
+ {
+ VT_0_1_2_3_1 vt_0_1_2_3_1 = new VT_0_1_2_3_1();
+ vt_0_1_2_3_1.a1_0_1_2_3_1 = -sa / sb;
+ vt_0_1_2_3_1.a4_0_1_2_3_1 = sa + sb + sa / sb;
+
+ vtstatic_0_1_2_3_1.a1_0_1_2_3_1 = -sa / sb;
+ vtstatic_0_1_2_3_1.a4_0_1_2_3_1 = sa + sb;
+ cl_0_1_2_3_1.arr1d_0_1_2_3_1[0] = sa / sb;
+ long retval_0_1_2_3_1 = Convert.ToInt64((long)(Convert.ToInt32(((Convert.ToInt32((Convert.ToInt32(cl_0_1_2_3_1.arr3d_0_1_2_3_1[4, 3, 3])) % (Convert.ToInt32(s_a2_0_1_2_3_1)))) + cl_0_1_2_3_1.a5_0_1_2_3_1)) + (long)((long)(Convert.ToInt32(((cl_0_1_2_3_1.a5_0_1_2_3_1 + 0) - ((Convert.ToInt32((Convert.ToInt32(vt_0_1_2_3_1.a1_0_1_2_3_1)) % (Convert.ToInt32(sa + sb))))))) + (long)((vtstatic_0_1_2_3_1.a4_0_1_2_3_1 - cl_0_1_2_3_1.arr1d_0_1_2_3_1[0]))))));
+ Console.WriteLine("retval_0_1_2_3_1 is {0}", retval_0_1_2_3_1);
+ return retval_0_1_2_3_1;
+ }
+
+ public static double Func_0_1_2_2_2(int[,] arr2d_0_1_2_2_2, VT_0_1_2_2_2 vt_0_1_2_2_2, CL_0_1_2_2_2 cl_0_1_2_2_2)
+ {
+ double retval_0_1_2_2_2 = Convert.ToDouble(((-sa * sb * (cl_0_1_2_2_2.a4_0_1_2_2_2 + (cl_0_1_2_2_2.a4_0_1_2_2_2 - (vt_0_1_2_2_2.a3_0_1_2_2_2)))) - ((arr2d_0_1_2_2_2[2, 0] - (Convert.ToInt32(arr2d_0_1_2_2_2[2, 0] * sa * sb))) / (-sa * sb / s_a1_0_1_2_2_2))));
+ Console.WriteLine("retval_0_1_2_2_2 is {0}", retval_0_1_2_2_2);
+ return retval_0_1_2_2_2;
+ }
+
+ public static double Func_0_1_2_2_1(VT_0_1_2_2_1 vt_0_1_2_2_1)
+ {
+ vtstatic_0_1_2_2_1.a0_0_1_2_2_1 = -sa + sb;
+ vtstatic_0_1_2_2_1.a1_0_1_2_2_1 = sa + sb * sb;
+ vtstatic_0_1_2_2_1.a4_0_1_2_2_1 = sb * sa + sb * sa;
+ vtstatic_0_1_2_2_1.a5_0_1_2_2_1 = sa - sb * sb;
+ clstatic_0_1_2_2_1.arr2d_0_1_2_2_1[2, 3] = sa * sb - sb;
+ double retval_0_1_2_2_1 = Convert.ToDouble((((sa + sb * sb - vtstatic_0_1_2_2_1.a1_0_1_2_2_1) + ((vtstatic_0_1_2_2_1.a1_0_1_2_2_1 + 0.0) / (20.0 - (sb * sa + sb * sa)))) - (((double)(((long)(vtstatic_0_1_2_2_1.a0_0_1_2_2_1 / (vtstatic_0_1_2_2_1.a0_0_1_2_2_1 + vt_0_1_2_2_1.a5_0_1_2_2_1 + sa - sb))) * (clstatic_0_1_2_2_1.arr2d_0_1_2_2_1[2, 3] * vtstatic_0_1_2_2_1.a4_0_1_2_2_1))))));
+ Console.WriteLine("retval_0_1_2_2_1 is {0}", retval_0_1_2_2_1);
+ return retval_0_1_2_2_1;
+ }
+
+ public static double Func_0_1_2_1_2(VT_0_1_2_1_2 vt_0_1_2_1_2)
+ {
+ CL_0_1_2_1_2 cl_0_1_2_1_2 = new CL_0_1_2_1_2();
+
+ double retval_0_1_2_1_2 = Convert.ToDouble(((vt_0_1_2_1_2.a1_0_1_2_1_2 / (cl_0_1_2_1_2.a0_0_1_2_1_2 - (vt_0_1_2_1_2.a4_0_1_2_1_2))) - cl_0_1_2_1_2.a0_0_1_2_1_2));
+ Console.WriteLine("retval_0_1_2_1_2 is {0}", retval_0_1_2_1_2);
+ return retval_0_1_2_1_2;
+ }
+
+ public static double Func_0_1_2_1_1()
+ {
+ VT_0_1_2_1_1 vt_0_1_2_1_1 = new VT_0_1_2_1_1();
+ vt_0_1_2_1_1.a0_0_1_2_1_1 = (sa + sb) * (sa + sb);
+ vt_0_1_2_1_1.a3_0_1_2_1_1 = -(sa + sb) / (sa - sb);
+ vt_0_1_2_1_1.a4_0_1_2_1_1 = -(sa + sb) / (sa * sb);
+
+ double retval_0_1_2_1_1 = Convert.ToDouble((((vt_0_1_2_1_1.a3_0_1_2_1_1 - vt_0_1_2_1_1.a0_0_1_2_1_1) + vt_0_1_2_1_1.a3_0_1_2_1_1) - ((vt_0_1_2_1_1.a3_0_1_2_1_1 - vt_0_1_2_1_1.a0_0_1_2_1_1) - ((vt_0_1_2_1_1.a0_0_1_2_1_1 + vt_0_1_2_1_1.a4_0_1_2_1_1)))));
+ Console.WriteLine("retval_0_1_2_1_1 is {0}", retval_0_1_2_1_1);
+ return retval_0_1_2_1_1;
+ }
+
+ public static double Func_0_1_2_5(CL_0_1_2_5 cl_0_1_2_5)
+ {
+ VT_0_1_2_5 vt_0_1_2_5 = new VT_0_1_2_5();
+ vt_0_1_2_5.a1_0_1_2_5 = sa - sb;
+ vt_0_1_2_5.a2_0_1_2_5 = sa * sb;
+
+ vtstatic_0_1_2_5.a1_0_1_2_5 = sa - sb;
+ vtstatic_0_1_2_5.a2_0_1_2_5 = sa - sb;
+ CL_0_1_2_5_2 cl_0_1_2_5_2 = new CL_0_1_2_5_2();
+ double* a5_0_1_2_5_2 = stackalloc double[1];
+ *a5_0_1_2_5_2 = sa * sb;
+ double val_0_1_2_5_2 = Func_0_1_2_5_2(cl_0_1_2_5_2, a5_0_1_2_5_2);
+ CL_0_1_2_5_1 cl_0_1_2_5_1 = new CL_0_1_2_5_1();
+ cl_0_1_2_5_1.arr3d_0_1_2_5_1[4, 0, 3] = sa * sb;
+ double val_0_1_2_5_1 = Func_0_1_2_5_1(cl_0_1_2_5_1);
+ double retval_0_1_2_5 = Convert.ToDouble(((Convert.ToInt32((cl_0_1_2_5.arr2d_0_1_2_5[2, 0] * vt_0_1_2_5.a1_0_1_2_5) - (vtstatic_0_1_2_5.a2_0_1_2_5 + (vtstatic_0_1_2_5.a2_0_1_2_5 + (vtstatic_0_1_2_5.a2_0_1_2_5 + val_0_1_2_5_2))))) * val_0_1_2_5_1));
+ Console.WriteLine("retval_0_1_2_5 is {0}", retval_0_1_2_5);
+ return retval_0_1_2_5;
+ }
+
+ public static long Func_0_1_2_4(long* a0_0_1_2_4)
+ {
+ double val_0_1_2_4_3 = Func_0_1_2_4_3();
+ VT_0_1_2_4_2 vt_0_1_2_4_2 = new VT_0_1_2_4_2();
+ vt_0_1_2_4_2.a2_0_1_2_4_2 = -sa * sb;
+ double a3_0_1_2_4_2 = -sa * sb;
+ double val_0_1_2_4_2 = Func_0_1_2_4_2(vt_0_1_2_4_2, a3_0_1_2_4_2);
+ int[,,] arr3d_0_1_2_4_1 = new int[5, 11, 4];
+ arr3d_0_1_2_4_1[4, 2, 3] = sa * sb;
+ long val_0_1_2_4_1 = Func_0_1_2_4_1(arr3d_0_1_2_4_1);
+ long retval_0_1_2_4 = Convert.ToInt64((long)(Convert.ToInt32((Convert.ToInt32(((*a0_0_1_2_4) / val_0_1_2_4_3) + val_0_1_2_4_2))) - (long)(val_0_1_2_4_1)));
+ Console.WriteLine("retval_0_1_2_4 is {0}", retval_0_1_2_4);
+ return retval_0_1_2_4;
+ }
+
+ public static int Func_0_1_2_3()
+ {
+ VT_0_1_2_3 vt_0_1_2_3 = new VT_0_1_2_3();
+ vt_0_1_2_3.a1_0_1_2_3 = -sa - sb;
+ vt_0_1_2_3.a2_0_1_2_3 = sa + sb;
+ long[,] arr2d_0_1_2_3 = new long[3, 11];
+ int a3_0_1_2_3 = sa / sb;
+
+ arr2d_0_1_2_3[2, 0] = sa / sb;
+ CL_0_1_2_3_2 cl_0_1_2_3_2 = new CL_0_1_2_3_2();
+ int[,] arr2d_0_1_2_3_2 = new int[3, 11];
+ arr2d_0_1_2_3_2[2, 1] = sa + sb;
+ cl_0_1_2_3_2.arr2d_0_1_2_3_2[2, 4] = sa - sb;
+ long val_0_1_2_3_2 = Func_0_1_2_3_2(arr2d_0_1_2_3_2, cl_0_1_2_3_2);
+ CL_0_1_2_3_1 cl_0_1_2_3_1 = new CL_0_1_2_3_1();
+ cl_0_1_2_3_1.arr3d_0_1_2_3_1[4, 3, 3] = sa - sb;
+ long val_0_1_2_3_1 = Func_0_1_2_3_1(cl_0_1_2_3_1);
+ int retval_0_1_2_3 = Convert.ToInt32((Convert.ToInt32((long)((long)(Convert.ToInt32((a3_0_1_2_3 - (vt_0_1_2_3.a1_0_1_2_3))) + (long)((long)(Convert.ToInt32((Convert.ToInt32((long)(arr2d_0_1_2_3[2, 0]) - (long)(val_0_1_2_3_2)))) + (long)(arr2d_0_1_2_3[2, 0]))))) - (long)((long)(Convert.ToInt32(((sa + sb) / vt_0_1_2_3.a2_0_1_2_3)) - (long)(val_0_1_2_3_1))))));
+ Console.WriteLine("retval_0_1_2_3 is {0}", retval_0_1_2_3);
+ return retval_0_1_2_3;
+ }
+
+ public static long Func_0_1_2_2(long[,] arr2d_0_1_2_2)
+ {
+ vtstatic_0_1_2_2.a3_0_1_2_2 = -(sa - sb);
+ VT_0_1_2_2_2 vt_0_1_2_2_2 = new VT_0_1_2_2_2();
+ vt_0_1_2_2_2.a3_0_1_2_2_2 = -sa / sb;
+ CL_0_1_2_2_2 cl_0_1_2_2_2 = new CL_0_1_2_2_2();
+ int[,] arr2d_0_1_2_2_2 = new int[3, 11];
+ arr2d_0_1_2_2_2[2, 0] = sa - sb;
+ double val_0_1_2_2_2 = Func_0_1_2_2_2(arr2d_0_1_2_2_2, vt_0_1_2_2_2, cl_0_1_2_2_2);
+ VT_0_1_2_2_1 vt_0_1_2_2_1 = new VT_0_1_2_2_1();
+ vt_0_1_2_2_1.a0_0_1_2_2_1 = -sa / sb;
+ vt_0_1_2_2_1.a1_0_1_2_2_1 = sa / sb;
+ vt_0_1_2_2_1.a4_0_1_2_2_1 = sa - sb;
+ vt_0_1_2_2_1.a5_0_1_2_2_1 = sa - sb;
+ double val_0_1_2_2_1 = Func_0_1_2_2_1(vt_0_1_2_2_1);
+ long retval_0_1_2_2 = Convert.ToInt64(((long)(Convert.ToInt32((Convert.ToInt32((val_0_1_2_2_1 - (val_0_1_2_2_2)) + vtstatic_0_1_2_2.a3_0_1_2_2))) - (long)(arr2d_0_1_2_2[2, 0])) - arr2d_0_1_2_2[2, 1]));
+ Console.WriteLine("retval_0_1_2_2 is {0}", retval_0_1_2_2);
+ return retval_0_1_2_2;
+ }
+
+ public static double Func_0_1_2_1(CL_0_1_2_1 cl_0_1_2_1, VT_0_1_2_1 vt_0_1_2_1)
+ {
+ VT_0_1_2_1_2 vt_0_1_2_1_2 = new VT_0_1_2_1_2();
+ vt_0_1_2_1_2.a1_0_1_2_1_2 = 1;
+ vt_0_1_2_1_2.a4_0_1_2_1_2 = -(sa / sb);
+ double val_0_1_2_1_2 = Func_0_1_2_1_2(vt_0_1_2_1_2);
+ double val_0_1_2_1_1 = Func_0_1_2_1_1();
+ double retval_0_1_2_1 = Convert.ToDouble(((((vt_0_1_2_1.a1_0_1_2_1 + ((double)(cl_0_1_2_1.arr2d_0_1_2_1[2, 0] * (sa / sb)))) * vt_0_1_2_1.a1_0_1_2_1) + val_0_1_2_1_1) / (((double)(cl_0_1_2_1.arr2d_0_1_2_1[2, 0] * val_0_1_2_1_2)) - (vt_0_1_2_1.a3_0_1_2_1))));
+ Console.WriteLine("retval_0_1_2_1 is {0}", retval_0_1_2_1);
+ return retval_0_1_2_1;
+ }
+
+ public static long Func_0_1_2(VT_0_1_2 vt_0_1_2)
+ {
+ CL_0_1_2_5 cl_0_1_2_5 = new CL_0_1_2_5();
+ cl_0_1_2_5.arr2d_0_1_2_5[2, 0] = sa * sb;
+ double val_0_1_2_5 = Func_0_1_2_5(cl_0_1_2_5);
+ long* a0_0_1_2_4 = stackalloc long[1];
+ *a0_0_1_2_4 = sa + sb;
+ long val_0_1_2_4 = Func_0_1_2_4(a0_0_1_2_4);
+ int val_0_1_2_3 = Func_0_1_2_3();
+ long[,] arr2d_0_1_2_2 = new long[3, 11];
+ arr2d_0_1_2_2[2, 0] = -sa * sb;
+ arr2d_0_1_2_2[2, 1] = sa * (sa + sb);
+ long val_0_1_2_2 = Func_0_1_2_2(arr2d_0_1_2_2);
+ VT_0_1_2_1 vt_0_1_2_1 = new VT_0_1_2_1();
+ vt_0_1_2_1.a1_0_1_2_1 = -(sa * sb);
+ vt_0_1_2_1.a3_0_1_2_1 = -sa + sb;
+ CL_0_1_2_1 cl_0_1_2_1 = new CL_0_1_2_1();
+ cl_0_1_2_1.arr2d_0_1_2_1[2, 0] = 2L;
+ double val_0_1_2_1 = Func_0_1_2_1(cl_0_1_2_1, vt_0_1_2_1);
+ long retval_0_1_2 = Convert.ToInt64((long)(Convert.ToInt32((Convert.ToInt32(val_0_1_2_5 - ((val_0_1_2_3 * vt_0_1_2.a0_0_1_2))))) + (long)((((long)((long)(Convert.ToInt32(sa + sb) - (long)(val_0_1_2_2)) / val_0_1_2_1)) + val_0_1_2_4))));
+ Console.WriteLine("retval_0_1_2 is {0}", retval_0_1_2);
+ return retval_0_1_2;
+ }
+
+ public static double Func_0_1_1()
+ {
+ double[,] arr2d_0_1_1 = new double[3, 11];
+
+ arr2d_0_1_1[2, 0] = 0.0;
+ double retval_0_1_1 = Convert.ToDouble(arr2d_0_1_1[2, 0]);
+ Console.WriteLine("retval_0_1_1 is {0}", retval_0_1_1);
+ return retval_0_1_1;
+ }
+
+ public static double Func_0_1(long[] arr1d_0_1, VT_0_1 vt_0_1)
+ {
+ CL_0_1 cl_0_1 = new CL_0_1();
+
+ vtstatic_0_1.a2_0_1 = sa + sb;
+ vtstatic_0_1.a3_0_1 = sa + sb;
+ VT_0_1_2 vt_0_1_2 = new VT_0_1_2();
+ vt_0_1_2.a0_0_1_2 = -(sa + sb);
+ long val_0_1_2 = Func_0_1_2(vt_0_1_2);
+ double val_0_1_1 = Func_0_1_1();
+ double retval_0_1 = Convert.ToDouble((((((long)(val_0_1_2 / arr1d_0_1[0])) / (vtstatic_0_1.a3_0_1 * (sa + sb))) + val_0_1_1) * ((vt_0_1.a2_0_1 * (sa + sb)) * (cl_0_1.a1_0_1 - ((arr1d_0_1[0] / -(sa + sb)))))));
+ Console.WriteLine("retval_0_1 is {0}", retval_0_1);
+ return retval_0_1;
+ }
+
+ public static int Func_0(double[,] arr2d_0, VT_0 vt_0)
+ {
+ vtstatic_0.a2_0 = sa / sb;
+ vtstatic_0.a3_0 = sa - sb;
+ vtstatic_0.a4_0 = sa - sb;
+ VT_0_1 vt_0_1 = new VT_0_1();
+ vt_0_1.a2_0_1 = sa + sb;
+ vt_0_1.a3_0_1 = sa / sb;
+ long[] arr1d_0_1 = new long[11];
+ arr1d_0_1[0] = 2L;
+ double val_0_1 = Func_0_1(arr1d_0_1, vt_0_1);
+ int retval_0 = Convert.ToInt32((Convert.ToInt32((Convert.ToInt32((val_0_1 - vtstatic_0.a3_0) + (vtstatic_0.a3_0 + (sa * sb)))) * (vtstatic_0.a4_0 / (((vt_0.a2_0 - (sb - sa)) * (vtstatic_0.a4_0 * sa * sb)) - (arr2d_0[2, 0]))))));
+ Console.WriteLine("retval_0 is {0}", retval_0);
+ return retval_0;
+ }
+
+ public static int Main()
+ {
+ sa = 10;
+ sb = 5;
+ vtstatic_0.a2_0 = sa + sb;
+ vtstatic_0.a3_0 = sa * sb;
+ vtstatic_0.a4_0 = sa - sb;
+ VT_0 vt_0 = new VT_0();
+ vt_0.a2_0 = sa * sb;
+ vt_0.a3_0 = sa + sb;
+ vt_0.a4_0 = sa - sb;
+ double[,] arr2d_0 = new double[3, 11];
+ arr2d_0[2, 0] = sa * sb;
+
+ int retval;
+ retval = Func_0(arr2d_0, vt_0);
+ if (retval != 4858)
+ {
+ Console.WriteLine("FAILED");
+ return 1;
+ }
+ else
+ {
+ Console.WriteLine("PASSED");
+ return 100;
+ }
+ }
+}
diff --git a/tests/src/JIT/Directed/coverage/oldtests/cse2_cs_d.csproj b/tests/src/JIT/Directed/coverage/oldtests/cse2_cs_d.csproj
new file mode 100644
index 0000000000..0f1f0b9d3d
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/cse2_cs_d.csproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{FFFA3954-E59A-4071-86EC-06DA7A87B349}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ <Optimize>False</Optimize>
+ <AllowUnsafeBlocks>True</AllowUnsafeBlocks>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="cse2.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <PropertyGroup>
+ <ProjectJson>$(JitPackagesConfigFileDirectory)minimal\project.json</ProjectJson>
+ <ProjectLockJson>$(JitPackagesConfigFileDirectory)minimal\project.lock.json</ProjectLockJson>
+ </PropertyGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/cse2_cs_do.csproj b/tests/src/JIT/Directed/coverage/oldtests/cse2_cs_do.csproj
new file mode 100644
index 0000000000..ecf6b682ea
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/cse2_cs_do.csproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{86DB00A7-72CA-4FCC-9A62-9AF981C699FD}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ <Optimize>True</Optimize>
+ <AllowUnsafeBlocks>True</AllowUnsafeBlocks>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="cse2.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <PropertyGroup>
+ <ProjectJson>$(JitPackagesConfigFileDirectory)minimal\project.json</ProjectJson>
+ <ProjectLockJson>$(JitPackagesConfigFileDirectory)minimal\project.lock.json</ProjectLockJson>
+ </PropertyGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/cse2_cs_r.csproj b/tests/src/JIT/Directed/coverage/oldtests/cse2_cs_r.csproj
new file mode 100644
index 0000000000..e6c840d63d
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/cse2_cs_r.csproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{EBF6CE8E-B096-4B19-A8FB-08AF2C2E34A6}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>None</DebugType>
+ <Optimize>False</Optimize>
+ <AllowUnsafeBlocks>True</AllowUnsafeBlocks>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="cse2.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <PropertyGroup>
+ <ProjectJson>$(JitPackagesConfigFileDirectory)minimal\project.json</ProjectJson>
+ <ProjectLockJson>$(JitPackagesConfigFileDirectory)minimal\project.lock.json</ProjectLockJson>
+ </PropertyGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/cse2_cs_ro.csproj b/tests/src/JIT/Directed/coverage/oldtests/cse2_cs_ro.csproj
new file mode 100644
index 0000000000..14bc157f41
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/cse2_cs_ro.csproj
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{01804A6B-5548-41C8-BE15-95585B0375EC}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>None</DebugType>
+ <Optimize>True</Optimize>
+ <AllowUnsafeBlocks>True</AllowUnsafeBlocks>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="cse2.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <PropertyGroup>
+ <ProjectJson>$(JitPackagesConfigFileDirectory)minimal\project.json</ProjectJson>
+ <ProjectLockJson>$(JitPackagesConfigFileDirectory)minimal\project.lock.json</ProjectLockJson>
+ </PropertyGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/lclfldadd.cs b/tests/src/JIT/Directed/coverage/oldtests/lclfldadd.cs
new file mode 100644
index 0000000000..e1ab1310d9
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/lclfldadd.cs
@@ -0,0 +1,559 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+//Testing simple math on local vars and fields - add
+
+#pragma warning disable 0414
+using System;
+internal class lclfldadd
+{
+ //user-defined class that overloads operator +
+ public class numHolder
+ {
+ private int _i_num;
+ private uint _ui_num;
+ private long _l_num;
+ private ulong _ul_num;
+ private float _f_num;
+ private double _d_num;
+ private decimal _m_num;
+ public numHolder(int i_num)
+ {
+ _i_num = Convert.ToInt32(i_num);
+ _ui_num = Convert.ToUInt32(i_num);
+ _l_num = Convert.ToInt64(i_num);
+ _ul_num = Convert.ToUInt64(i_num);
+ _f_num = Convert.ToSingle(i_num);
+ _d_num = Convert.ToDouble(i_num);
+ _m_num = Convert.ToDecimal(i_num);
+ }
+
+ public static int operator +(numHolder a, int b)
+ {
+ return a._i_num + b;
+ }
+
+ public numHolder(uint ui_num)
+ {
+ _i_num = Convert.ToInt32(ui_num);
+ _ui_num = Convert.ToUInt32(ui_num);
+ _l_num = Convert.ToInt64(ui_num);
+ _ul_num = Convert.ToUInt64(ui_num);
+ _f_num = Convert.ToSingle(ui_num);
+ _d_num = Convert.ToDouble(ui_num);
+ _m_num = Convert.ToDecimal(ui_num);
+ }
+
+ public static uint operator +(numHolder a, uint b)
+ {
+ return a._ui_num + b;
+ }
+
+ public numHolder(long l_num)
+ {
+ _i_num = Convert.ToInt32(l_num);
+ _ui_num = Convert.ToUInt32(l_num);
+ _l_num = Convert.ToInt64(l_num);
+ _ul_num = Convert.ToUInt64(l_num);
+ _f_num = Convert.ToSingle(l_num);
+ _d_num = Convert.ToDouble(l_num);
+ _m_num = Convert.ToDecimal(l_num);
+ }
+
+ public static long operator +(numHolder a, long b)
+ {
+ return a._l_num + b;
+ }
+
+ public numHolder(ulong ul_num)
+ {
+ _i_num = Convert.ToInt32(ul_num);
+ _ui_num = Convert.ToUInt32(ul_num);
+ _l_num = Convert.ToInt64(ul_num);
+ _ul_num = Convert.ToUInt64(ul_num);
+ _f_num = Convert.ToSingle(ul_num);
+ _d_num = Convert.ToDouble(ul_num);
+ _m_num = Convert.ToDecimal(ul_num);
+ }
+
+ public static long operator +(numHolder a, ulong b)
+ {
+ return (long)(a._ul_num + b);
+ }
+
+ public numHolder(float f_num)
+ {
+ _i_num = Convert.ToInt32(f_num);
+ _ui_num = Convert.ToUInt32(f_num);
+ _l_num = Convert.ToInt64(f_num);
+ _ul_num = Convert.ToUInt64(f_num);
+ _f_num = Convert.ToSingle(f_num);
+ _d_num = Convert.ToDouble(f_num);
+ _m_num = Convert.ToDecimal(f_num);
+ }
+
+ public static float operator +(numHolder a, float b)
+ {
+ return a._f_num + b;
+ }
+
+ public numHolder(double d_num)
+ {
+ _i_num = Convert.ToInt32(d_num);
+ _ui_num = Convert.ToUInt32(d_num);
+ _l_num = Convert.ToInt64(d_num);
+ _ul_num = Convert.ToUInt64(d_num);
+ _f_num = Convert.ToSingle(d_num);
+ _d_num = Convert.ToDouble(d_num);
+ _m_num = Convert.ToDecimal(d_num);
+ }
+
+ public static double operator +(numHolder a, double b)
+ {
+ return a._d_num + b;
+ }
+
+ public numHolder(decimal m_num)
+ {
+ _i_num = Convert.ToInt32(m_num);
+ _ui_num = Convert.ToUInt32(m_num);
+ _l_num = Convert.ToInt64(m_num);
+ _ul_num = Convert.ToUInt64(m_num);
+ _f_num = Convert.ToSingle(m_num);
+ _d_num = Convert.ToDouble(m_num);
+ _m_num = Convert.ToDecimal(m_num);
+ }
+
+ public static int operator +(numHolder a, decimal b)
+ {
+ return (int)(a._m_num + b);
+ }
+
+ public static int operator +(numHolder a, numHolder b)
+ {
+ return a._i_num + b._i_num;
+ }
+ }
+
+ private static int s_i_s_op1 = 1;
+ private static uint s_ui_s_op1 = 1;
+ private static long s_l_s_op1 = 1;
+ private static ulong s_ul_s_op1 = 1;
+ private static float s_f_s_op1 = 1;
+ private static double s_d_s_op1 = 1;
+ private static decimal s_m_s_op1 = 1;
+
+ private static int s_i_s_op2 = 8;
+ private static uint s_ui_s_op2 = 8;
+ private static long s_l_s_op2 = 8;
+ private static ulong s_ul_s_op2 = 8;
+ private static float s_f_s_op2 = 8;
+ private static double s_d_s_op2 = 8;
+ private static decimal s_m_s_op2 = 8;
+ private static numHolder s_nHldr_s_op2 = new numHolder(8);
+
+ public static int i_f(String s)
+ {
+ if (s == "op1")
+ return 1;
+ else
+ return 8;
+ }
+ public static uint ui_f(String s)
+ {
+ if (s == "op1")
+ return 1;
+ else
+ return 8;
+ }
+ public static long l_f(String s)
+ {
+ if (s == "op1")
+ return 1;
+ else
+ return 8;
+ }
+ public static ulong ul_f(String s)
+ {
+ if (s == "op1")
+ return 1;
+ else
+ return 8;
+ }
+ public static float f_f(String s)
+ {
+ if (s == "op1")
+ return 1;
+ else
+ return 8;
+ }
+ public static double d_f(String s)
+ {
+ if (s == "op1")
+ return 1;
+ else
+ return 8;
+ }
+ public static decimal m_f(String s)
+ {
+ if (s == "op1")
+ return 1;
+ else
+ return 8;
+ }
+ public static numHolder nHldr_f(String s)
+ {
+ if (s == "op1")
+ return new numHolder(1);
+ else
+ return new numHolder(8);
+ }
+ private class CL
+ {
+ public int i_cl_op1 = 1;
+ public uint ui_cl_op1 = 1;
+ public long l_cl_op1 = 1;
+ public ulong ul_cl_op1 = 1;
+ public float f_cl_op1 = 1;
+ public double d_cl_op1 = 1;
+ public decimal m_cl_op1 = 1;
+
+ public int i_cl_op2 = 8;
+ public uint ui_cl_op2 = 8;
+ public long l_cl_op2 = 8;
+ public ulong ul_cl_op2 = 8;
+ public float f_cl_op2 = 8;
+ public double d_cl_op2 = 8;
+ public decimal m_cl_op2 = 8;
+ public numHolder nHldr_cl_op2 = new numHolder(8);
+ }
+
+ private struct VT
+ {
+ public int i_vt_op1;
+ public uint ui_vt_op1;
+ public long l_vt_op1;
+ public ulong ul_vt_op1;
+ public float f_vt_op1;
+ public double d_vt_op1;
+ public decimal m_vt_op1;
+
+ public int i_vt_op2;
+ public uint ui_vt_op2;
+ public long l_vt_op2;
+ public ulong ul_vt_op2;
+ public float f_vt_op2;
+ public double d_vt_op2;
+ public decimal m_vt_op2;
+ public numHolder nHldr_vt_op2;
+ }
+
+ public static int Main()
+ {
+ bool passed = true;
+ //initialize class
+ CL cl1 = new CL();
+ //initialize struct
+ VT vt1;
+ vt1.i_vt_op1 = 1;
+ vt1.ui_vt_op1 = 1;
+ vt1.l_vt_op1 = 1;
+ vt1.ul_vt_op1 = 1;
+ vt1.f_vt_op1 = 1;
+ vt1.d_vt_op1 = 1;
+ vt1.m_vt_op1 = 1;
+ vt1.i_vt_op2 = 8;
+ vt1.ui_vt_op2 = 8;
+ vt1.l_vt_op2 = 8;
+ vt1.ul_vt_op2 = 8;
+ vt1.f_vt_op2 = 8;
+ vt1.d_vt_op2 = 8;
+ vt1.m_vt_op2 = 8;
+ vt1.nHldr_vt_op2 = new numHolder(8);
+
+ int[] i_arr1d_op1 = { 0, 1 };
+ int[,] i_arr2d_op1 = { { 0, 1 }, { 1, 1 } };
+ int[,,] i_arr3d_op1 = { { { 0, 1 }, { 1, 1 } } };
+ uint[] ui_arr1d_op1 = { 0, 1 };
+ uint[,] ui_arr2d_op1 = { { 0, 1 }, { 1, 1 } };
+ uint[,,] ui_arr3d_op1 = { { { 0, 1 }, { 1, 1 } } };
+ long[] l_arr1d_op1 = { 0, 1 };
+ long[,] l_arr2d_op1 = { { 0, 1 }, { 1, 1 } };
+ long[,,] l_arr3d_op1 = { { { 0, 1 }, { 1, 1 } } };
+ ulong[] ul_arr1d_op1 = { 0, 1 };
+ ulong[,] ul_arr2d_op1 = { { 0, 1 }, { 1, 1 } };
+ ulong[,,] ul_arr3d_op1 = { { { 0, 1 }, { 1, 1 } } };
+ float[] f_arr1d_op1 = { 0, 1 };
+ float[,] f_arr2d_op1 = { { 0, 1 }, { 1, 1 } };
+ float[,,] f_arr3d_op1 = { { { 0, 1 }, { 1, 1 } } };
+ double[] d_arr1d_op1 = { 0, 1 };
+ double[,] d_arr2d_op1 = { { 0, 1 }, { 1, 1 } };
+ double[,,] d_arr3d_op1 = { { { 0, 1 }, { 1, 1 } } };
+ decimal[] m_arr1d_op1 = { 0, 1 };
+ decimal[,] m_arr2d_op1 = { { 0, 1 }, { 1, 1 } };
+ decimal[,,] m_arr3d_op1 = { { { 0, 1 }, { 1, 1 } } };
+
+ int[] i_arr1d_op2 = { 8, 0, 1 };
+ int[,] i_arr2d_op2 = { { 0, 8 }, { 1, 1 } };
+ int[,,] i_arr3d_op2 = { { { 0, 8 }, { 1, 1 } } };
+ uint[] ui_arr1d_op2 = { 8, 0, 1 };
+ uint[,] ui_arr2d_op2 = { { 0, 8 }, { 1, 1 } };
+ uint[,,] ui_arr3d_op2 = { { { 0, 8 }, { 1, 1 } } };
+ long[] l_arr1d_op2 = { 8, 0, 1 };
+ long[,] l_arr2d_op2 = { { 0, 8 }, { 1, 1 } };
+ long[,,] l_arr3d_op2 = { { { 0, 8 }, { 1, 1 } } };
+ ulong[] ul_arr1d_op2 = { 8, 0, 1 };
+ ulong[,] ul_arr2d_op2 = { { 0, 8 }, { 1, 1 } };
+ ulong[,,] ul_arr3d_op2 = { { { 0, 8 }, { 1, 1 } } };
+ float[] f_arr1d_op2 = { 8, 0, 1 };
+ float[,] f_arr2d_op2 = { { 0, 8 }, { 1, 1 } };
+ float[,,] f_arr3d_op2 = { { { 0, 8 }, { 1, 1 } } };
+ double[] d_arr1d_op2 = { 8, 0, 1 };
+ double[,] d_arr2d_op2 = { { 0, 8 }, { 1, 1 } };
+ double[,,] d_arr3d_op2 = { { { 0, 8 }, { 1, 1 } } };
+ decimal[] m_arr1d_op2 = { 8, 0, 1 };
+ decimal[,] m_arr2d_op2 = { { 0, 8 }, { 1, 1 } };
+ decimal[,,] m_arr3d_op2 = { { { 0, 8 }, { 1, 1 } } };
+ numHolder[] nHldr_arr1d_op2 = { new numHolder(8), new numHolder(0), new numHolder(1) };
+ numHolder[,] nHldr_arr2d_op2 = { { new numHolder(0), new numHolder(8) }, { new numHolder(1), new numHolder(1) } };
+ numHolder[,,] nHldr_arr3d_op2 = { { { new numHolder(0), new numHolder(8) }, { new numHolder(1), new numHolder(1) } } };
+
+ int[,] index = { { 0, 0 }, { 1, 1 } };
+
+ {
+ int i_l_op1 = 1;
+ int i_l_op2 = 8;
+ uint ui_l_op2 = 8;
+ long l_l_op2 = 8;
+ ulong ul_l_op2 = 8;
+ float f_l_op2 = 8;
+ double d_l_op2 = 8;
+ decimal m_l_op2 = 8;
+ numHolder nHldr_l_op2 = new numHolder(8);
+ if ((i_l_op1 + i_l_op2 != i_l_op1 + ui_l_op2) || (i_l_op1 + ui_l_op2 != i_l_op1 + l_l_op2) || (i_l_op1 + l_l_op2 != i_l_op1 + (int)ul_l_op2) || (i_l_op1 + (int)ul_l_op2 != i_l_op1 + f_l_op2) || (i_l_op1 + f_l_op2 != i_l_op1 + d_l_op2) || ((decimal)(i_l_op1 + d_l_op2) != i_l_op1 + m_l_op2) || (i_l_op1 + m_l_op2 != i_l_op1 + i_l_op2) || (i_l_op1 + i_l_op2 != 9))
+ {
+ Console.WriteLine("testcase 1 failed");
+ passed = false;
+ }
+ if ((i_l_op1 + s_i_s_op2 != i_l_op1 + s_ui_s_op2) || (i_l_op1 + s_ui_s_op2 != i_l_op1 + s_l_s_op2) || (i_l_op1 + s_l_s_op2 != i_l_op1 + (int)s_ul_s_op2) || (i_l_op1 + (int)s_ul_s_op2 != i_l_op1 + s_f_s_op2) || (i_l_op1 + s_f_s_op2 != i_l_op1 + s_d_s_op2) || ((decimal)(i_l_op1 + s_d_s_op2) != i_l_op1 + s_m_s_op2) || (i_l_op1 + s_m_s_op2 != i_l_op1 + s_i_s_op2) || (i_l_op1 + s_i_s_op2 != 9))
+ {
+ Console.WriteLine("testcase 2 failed");
+ passed = false;
+ }
+ if ((s_i_s_op1 + i_l_op2 != s_i_s_op1 + ui_l_op2) || (s_i_s_op1 + ui_l_op2 != s_i_s_op1 + l_l_op2) || (s_i_s_op1 + l_l_op2 != s_i_s_op1 + (int)ul_l_op2) || (s_i_s_op1 + (int)ul_l_op2 != s_i_s_op1 + f_l_op2) || (s_i_s_op1 + f_l_op2 != s_i_s_op1 + d_l_op2) || ((decimal)(s_i_s_op1 + d_l_op2) != s_i_s_op1 + m_l_op2) || (s_i_s_op1 + m_l_op2 != s_i_s_op1 + i_l_op2) || (s_i_s_op1 + i_l_op2 != 9))
+ {
+ Console.WriteLine("testcase 3 failed");
+ passed = false;
+ }
+ if ((s_i_s_op1 + s_i_s_op2 != s_i_s_op1 + s_ui_s_op2) || (s_i_s_op1 + s_ui_s_op2 != s_i_s_op1 + s_l_s_op2) || (s_i_s_op1 + s_l_s_op2 != s_i_s_op1 + (int)s_ul_s_op2) || (s_i_s_op1 + (int)s_ul_s_op2 != s_i_s_op1 + s_f_s_op2) || (s_i_s_op1 + s_f_s_op2 != s_i_s_op1 + s_d_s_op2) || ((decimal)(s_i_s_op1 + s_d_s_op2) != s_i_s_op1 + s_m_s_op2) || (s_i_s_op1 + s_m_s_op2 != s_i_s_op1 + s_i_s_op2) || (s_i_s_op1 + s_i_s_op2 != 9))
+ {
+ Console.WriteLine("testcase 4 failed");
+ passed = false;
+ }
+ }
+
+ {
+ uint ui_l_op1 = 1;
+ int i_l_op2 = 8;
+ uint ui_l_op2 = 8;
+ long l_l_op2 = 8;
+ ulong ul_l_op2 = 8;
+ float f_l_op2 = 8;
+ double d_l_op2 = 8;
+ decimal m_l_op2 = 8;
+ numHolder nHldr_l_op2 = new numHolder(8);
+ if ((ui_l_op1 + i_l_op2 != ui_l_op1 + ui_l_op2) || (ui_l_op1 + ui_l_op2 != ui_l_op1 + l_l_op2) || ((ulong)(ui_l_op1 + l_l_op2) != ui_l_op1 + ul_l_op2) || (ui_l_op1 + ul_l_op2 != ui_l_op1 + f_l_op2) || (ui_l_op1 + f_l_op2 != ui_l_op1 + d_l_op2) || ((decimal)(ui_l_op1 + d_l_op2) != ui_l_op1 + m_l_op2) || (ui_l_op1 + m_l_op2 != ui_l_op1 + i_l_op2) || (ui_l_op1 + i_l_op2 != 9))
+ {
+ Console.WriteLine("testcase 5 failed");
+ passed = false;
+ }
+ if ((ui_l_op1 + s_i_s_op2 != ui_l_op1 + s_ui_s_op2) || (ui_l_op1 + s_ui_s_op2 != ui_l_op1 + s_l_s_op2) || ((ulong)(ui_l_op1 + s_l_s_op2) != ui_l_op1 + s_ul_s_op2) || (ui_l_op1 + s_ul_s_op2 != ui_l_op1 + s_f_s_op2) || (ui_l_op1 + s_f_s_op2 != ui_l_op1 + s_d_s_op2) || ((decimal)(ui_l_op1 + s_d_s_op2) != ui_l_op1 + s_m_s_op2) || (ui_l_op1 + s_m_s_op2 != ui_l_op1 + s_i_s_op2) || (ui_l_op1 + s_i_s_op2 != 9))
+ {
+ Console.WriteLine("testcase 6 failed");
+ passed = false;
+ }
+ if ((s_ui_s_op1 + i_l_op2 != s_ui_s_op1 + ui_l_op2) || (s_ui_s_op1 + ui_l_op2 != s_ui_s_op1 + l_l_op2) || ((ulong)(s_ui_s_op1 + l_l_op2) != s_ui_s_op1 + ul_l_op2) || (s_ui_s_op1 + ul_l_op2 != s_ui_s_op1 + f_l_op2) || (s_ui_s_op1 + f_l_op2 != s_ui_s_op1 + d_l_op2) || ((decimal)(s_ui_s_op1 + d_l_op2) != s_ui_s_op1 + m_l_op2) || (s_ui_s_op1 + m_l_op2 != s_ui_s_op1 + i_l_op2) || (s_ui_s_op1 + i_l_op2 != 9))
+ {
+ Console.WriteLine("testcase 7 failed");
+ passed = false;
+ }
+ if ((s_ui_s_op1 + s_i_s_op2 != s_ui_s_op1 + s_ui_s_op2) || (s_ui_s_op1 + s_ui_s_op2 != s_ui_s_op1 + s_l_s_op2) || ((ulong)(s_ui_s_op1 + s_l_s_op2) != s_ui_s_op1 + s_ul_s_op2) || (s_ui_s_op1 + s_ul_s_op2 != s_ui_s_op1 + s_f_s_op2) || (s_ui_s_op1 + s_f_s_op2 != s_ui_s_op1 + s_d_s_op2) || ((decimal)(s_ui_s_op1 + s_d_s_op2) != s_ui_s_op1 + s_m_s_op2) || (s_ui_s_op1 + s_m_s_op2 != s_ui_s_op1 + s_i_s_op2) || (s_ui_s_op1 + s_i_s_op2 != 9))
+ {
+ Console.WriteLine("testcase 8 failed");
+ passed = false;
+ }
+ }
+
+ {
+ long l_l_op1 = 1;
+ int i_l_op2 = 8;
+ uint ui_l_op2 = 8;
+ long l_l_op2 = 8;
+ ulong ul_l_op2 = 8;
+ float f_l_op2 = 8;
+ double d_l_op2 = 8;
+ decimal m_l_op2 = 8;
+ numHolder nHldr_l_op2 = new numHolder(8);
+ if ((l_l_op1 + i_l_op2 != l_l_op1 + ui_l_op2) || (l_l_op1 + ui_l_op2 != l_l_op1 + l_l_op2) || (l_l_op1 + l_l_op2 != l_l_op1 + (long)ul_l_op2) || (l_l_op1 + (long)ul_l_op2 != l_l_op1 + f_l_op2) || (l_l_op1 + f_l_op2 != l_l_op1 + d_l_op2) || ((decimal)(l_l_op1 + d_l_op2) != l_l_op1 + m_l_op2) || (l_l_op1 + m_l_op2 != l_l_op1 + i_l_op2) || (l_l_op1 + i_l_op2 != 9))
+ {
+ Console.WriteLine("testcase 9 failed");
+ passed = false;
+ }
+ if ((l_l_op1 + s_i_s_op2 != l_l_op1 + s_ui_s_op2) || (l_l_op1 + s_ui_s_op2 != l_l_op1 + s_l_s_op2) || (l_l_op1 + s_l_s_op2 != l_l_op1 + (long)s_ul_s_op2) || (l_l_op1 + (long)s_ul_s_op2 != l_l_op1 + s_f_s_op2) || (l_l_op1 + s_f_s_op2 != l_l_op1 + s_d_s_op2) || ((decimal)(l_l_op1 + s_d_s_op2) != l_l_op1 + s_m_s_op2) || (l_l_op1 + s_m_s_op2 != l_l_op1 + s_i_s_op2) || (l_l_op1 + s_i_s_op2 != 9))
+ {
+ Console.WriteLine("testcase 10 failed");
+ passed = false;
+ }
+ if ((s_l_s_op1 + i_l_op2 != s_l_s_op1 + ui_l_op2) || (s_l_s_op1 + ui_l_op2 != s_l_s_op1 + l_l_op2) || (s_l_s_op1 + l_l_op2 != s_l_s_op1 + (long)ul_l_op2) || (s_l_s_op1 + (long)ul_l_op2 != s_l_s_op1 + f_l_op2) || (s_l_s_op1 + f_l_op2 != s_l_s_op1 + d_l_op2) || ((decimal)(s_l_s_op1 + d_l_op2) != s_l_s_op1 + m_l_op2) || (s_l_s_op1 + m_l_op2 != s_l_s_op1 + i_l_op2) || (s_l_s_op1 + i_l_op2 != 9))
+ {
+ Console.WriteLine("testcase 11 failed");
+ passed = false;
+ }
+ if ((s_l_s_op1 + s_i_s_op2 != s_l_s_op1 + s_ui_s_op2) || (s_l_s_op1 + s_ui_s_op2 != s_l_s_op1 + s_l_s_op2) || (s_l_s_op1 + s_l_s_op2 != s_l_s_op1 + (long)s_ul_s_op2) || (s_l_s_op1 + (long)s_ul_s_op2 != s_l_s_op1 + s_f_s_op2) || (s_l_s_op1 + s_f_s_op2 != s_l_s_op1 + s_d_s_op2) || ((decimal)(s_l_s_op1 + s_d_s_op2) != s_l_s_op1 + s_m_s_op2) || (s_l_s_op1 + s_m_s_op2 != s_l_s_op1 + s_i_s_op2) || (s_l_s_op1 + s_i_s_op2 != 9))
+ {
+ Console.WriteLine("testcase 12 failed");
+ passed = false;
+ }
+ }
+
+ {
+ ulong ul_l_op1 = 1;
+ int i_l_op2 = 8;
+ uint ui_l_op2 = 8;
+ long l_l_op2 = 8;
+ ulong ul_l_op2 = 8;
+ float f_l_op2 = 8;
+ double d_l_op2 = 8;
+ decimal m_l_op2 = 8;
+ numHolder nHldr_l_op2 = new numHolder(8);
+ if ((ul_l_op1 + (ulong)i_l_op2 != ul_l_op1 + ui_l_op2) || (ul_l_op1 + ui_l_op2 != ul_l_op1 + (ulong)l_l_op2) || (ul_l_op1 + (ulong)l_l_op2 != ul_l_op1 + ul_l_op2) || (ul_l_op1 + ul_l_op2 != ul_l_op1 + f_l_op2) || (ul_l_op1 + f_l_op2 != ul_l_op1 + d_l_op2) || ((decimal)(ul_l_op1 + d_l_op2) != ul_l_op1 + m_l_op2) || (ul_l_op1 + m_l_op2 != ul_l_op1 + (ulong)i_l_op2) || (ul_l_op1 + (ulong)i_l_op2 != 9))
+ {
+ Console.WriteLine("testcase 13 failed");
+ passed = false;
+ }
+ if ((ul_l_op1 + (ulong)s_i_s_op2 != ul_l_op1 + s_ui_s_op2) || (ul_l_op1 + s_ui_s_op2 != ul_l_op1 + (ulong)s_l_s_op2) || (ul_l_op1 + (ulong)s_l_s_op2 != ul_l_op1 + s_ul_s_op2) || (ul_l_op1 + s_ul_s_op2 != ul_l_op1 + s_f_s_op2) || (ul_l_op1 + s_f_s_op2 != ul_l_op1 + s_d_s_op2) || ((decimal)(ul_l_op1 + s_d_s_op2) != ul_l_op1 + s_m_s_op2) || (ul_l_op1 + s_m_s_op2 != ul_l_op1 + (ulong)s_i_s_op2) || (ul_l_op1 + (ulong)s_i_s_op2 != 9))
+ {
+ Console.WriteLine("testcase 14 failed");
+ passed = false;
+ }
+ if ((s_ul_s_op1 + (ulong)i_l_op2 != s_ul_s_op1 + ui_l_op2) || (s_ul_s_op1 + ui_l_op2 != s_ul_s_op1 + (ulong)l_l_op2) || (s_ul_s_op1 + (ulong)l_l_op2 != s_ul_s_op1 + ul_l_op2) || (s_ul_s_op1 + ul_l_op2 != s_ul_s_op1 + f_l_op2) || (s_ul_s_op1 + f_l_op2 != s_ul_s_op1 + d_l_op2) || ((decimal)(s_ul_s_op1 + d_l_op2) != s_ul_s_op1 + m_l_op2) || (s_ul_s_op1 + m_l_op2 != s_ul_s_op1 + (ulong)i_l_op2) || (s_ul_s_op1 + (ulong)i_l_op2 != 9))
+ {
+ Console.WriteLine("testcase 15 failed");
+ passed = false;
+ }
+ if ((s_ul_s_op1 + (ulong)s_i_s_op2 != s_ul_s_op1 + s_ui_s_op2) || (s_ul_s_op1 + s_ui_s_op2 != s_ul_s_op1 + (ulong)s_l_s_op2) || (s_ul_s_op1 + (ulong)s_l_s_op2 != s_ul_s_op1 + s_ul_s_op2) || (s_ul_s_op1 + s_ul_s_op2 != s_ul_s_op1 + s_f_s_op2) || (s_ul_s_op1 + s_f_s_op2 != s_ul_s_op1 + s_d_s_op2) || ((decimal)(s_ul_s_op1 + s_d_s_op2) != s_ul_s_op1 + s_m_s_op2) || (s_ul_s_op1 + s_m_s_op2 != s_ul_s_op1 + (ulong)s_i_s_op2) || (s_ul_s_op1 + (ulong)s_i_s_op2 != 9))
+ {
+ Console.WriteLine("testcase 16 failed");
+ passed = false;
+ }
+ }
+
+ {
+ float f_l_op1 = 1;
+ int i_l_op2 = 8;
+ uint ui_l_op2 = 8;
+ long l_l_op2 = 8;
+ ulong ul_l_op2 = 8;
+ float f_l_op2 = 8;
+ double d_l_op2 = 8;
+ decimal m_l_op2 = 8;
+ numHolder nHldr_l_op2 = new numHolder(8);
+ if ((f_l_op1 + i_l_op2 != f_l_op1 + ui_l_op2) || (f_l_op1 + ui_l_op2 != f_l_op1 + l_l_op2) || (f_l_op1 + l_l_op2 != f_l_op1 + ul_l_op2) || (f_l_op1 + ul_l_op2 != f_l_op1 + f_l_op2) || (f_l_op1 + f_l_op2 != f_l_op1 + d_l_op2) || (f_l_op1 + d_l_op2 != f_l_op1 + (float)m_l_op2) || (f_l_op1 + (float)m_l_op2 != f_l_op1 + i_l_op2) || (f_l_op1 + i_l_op2 != 9))
+ {
+ Console.WriteLine("testcase 17 failed");
+ passed = false;
+ }
+ if ((f_l_op1 + s_i_s_op2 != f_l_op1 + s_ui_s_op2) || (f_l_op1 + s_ui_s_op2 != f_l_op1 + s_l_s_op2) || (f_l_op1 + s_l_s_op2 != f_l_op1 + s_ul_s_op2) || (f_l_op1 + s_ul_s_op2 != f_l_op1 + s_f_s_op2) || (f_l_op1 + s_f_s_op2 != f_l_op1 + s_d_s_op2) || (f_l_op1 + s_d_s_op2 != f_l_op1 + (float)s_m_s_op2) || (f_l_op1 + (float)s_m_s_op2 != f_l_op1 + s_i_s_op2) || (f_l_op1 + s_i_s_op2 != 9))
+ {
+ Console.WriteLine("testcase 18 failed");
+ passed = false;
+ }
+ if ((s_f_s_op1 + i_l_op2 != s_f_s_op1 + ui_l_op2) || (s_f_s_op1 + ui_l_op2 != s_f_s_op1 + l_l_op2) || (s_f_s_op1 + l_l_op2 != s_f_s_op1 + ul_l_op2) || (s_f_s_op1 + ul_l_op2 != s_f_s_op1 + f_l_op2) || (s_f_s_op1 + f_l_op2 != s_f_s_op1 + d_l_op2) || (s_f_s_op1 + d_l_op2 != s_f_s_op1 + (float)m_l_op2) || (s_f_s_op1 + (float)m_l_op2 != s_f_s_op1 + i_l_op2) || (s_f_s_op1 + i_l_op2 != 9))
+ {
+ Console.WriteLine("testcase 19 failed");
+ passed = false;
+ }
+ if ((s_f_s_op1 + s_i_s_op2 != s_f_s_op1 + s_ui_s_op2) || (s_f_s_op1 + s_ui_s_op2 != s_f_s_op1 + s_l_s_op2) || (s_f_s_op1 + s_l_s_op2 != s_f_s_op1 + s_ul_s_op2) || (s_f_s_op1 + s_ul_s_op2 != s_f_s_op1 + s_f_s_op2) || (s_f_s_op1 + s_f_s_op2 != s_f_s_op1 + s_d_s_op2) || (s_f_s_op1 + s_d_s_op2 != s_f_s_op1 + (float)s_m_s_op2) || (s_f_s_op1 + (float)s_m_s_op2 != s_f_s_op1 + s_i_s_op2) || (s_f_s_op1 + s_i_s_op2 != 9))
+ {
+ Console.WriteLine("testcase 20 failed");
+ passed = false;
+ }
+ }
+
+ {
+ double d_l_op1 = 1;
+ int i_l_op2 = 8;
+ uint ui_l_op2 = 8;
+ long l_l_op2 = 8;
+ ulong ul_l_op2 = 8;
+ float f_l_op2 = 8;
+ double d_l_op2 = 8;
+ decimal m_l_op2 = 8;
+ numHolder nHldr_l_op2 = new numHolder(8);
+ if ((d_l_op1 + i_l_op2 != d_l_op1 + ui_l_op2) || (d_l_op1 + ui_l_op2 != d_l_op1 + l_l_op2) || (d_l_op1 + l_l_op2 != d_l_op1 + ul_l_op2) || (d_l_op1 + ul_l_op2 != d_l_op1 + f_l_op2) || (d_l_op1 + f_l_op2 != d_l_op1 + d_l_op2) || (d_l_op1 + d_l_op2 != d_l_op1 + (double)m_l_op2) || (d_l_op1 + (double)m_l_op2 != d_l_op1 + i_l_op2) || (d_l_op1 + i_l_op2 != 9))
+ {
+ Console.WriteLine("testcase 21 failed");
+ passed = false;
+ }
+ if ((d_l_op1 + s_i_s_op2 != d_l_op1 + s_ui_s_op2) || (d_l_op1 + s_ui_s_op2 != d_l_op1 + s_l_s_op2) || (d_l_op1 + s_l_s_op2 != d_l_op1 + s_ul_s_op2) || (d_l_op1 + s_ul_s_op2 != d_l_op1 + s_f_s_op2) || (d_l_op1 + s_f_s_op2 != d_l_op1 + s_d_s_op2) || (d_l_op1 + s_d_s_op2 != d_l_op1 + (double)s_m_s_op2) || (d_l_op1 + (double)s_m_s_op2 != d_l_op1 + s_i_s_op2) || (d_l_op1 + s_i_s_op2 != 9))
+ {
+ Console.WriteLine("testcase 22 failed");
+ passed = false;
+ }
+ if ((s_d_s_op1 + i_l_op2 != s_d_s_op1 + ui_l_op2) || (s_d_s_op1 + ui_l_op2 != s_d_s_op1 + l_l_op2) || (s_d_s_op1 + l_l_op2 != s_d_s_op1 + ul_l_op2) || (s_d_s_op1 + ul_l_op2 != s_d_s_op1 + f_l_op2) || (s_d_s_op1 + f_l_op2 != s_d_s_op1 + d_l_op2) || (s_d_s_op1 + d_l_op2 != s_d_s_op1 + (double)m_l_op2) || (s_d_s_op1 + (double)m_l_op2 != s_d_s_op1 + i_l_op2) || (s_d_s_op1 + i_l_op2 != 9))
+ {
+ Console.WriteLine("testcase 23 failed");
+ passed = false;
+ }
+ if ((s_d_s_op1 + s_i_s_op2 != s_d_s_op1 + s_ui_s_op2) || (s_d_s_op1 + s_ui_s_op2 != s_d_s_op1 + s_l_s_op2) || (s_d_s_op1 + s_l_s_op2 != s_d_s_op1 + s_ul_s_op2) || (s_d_s_op1 + s_ul_s_op2 != s_d_s_op1 + s_f_s_op2) || (s_d_s_op1 + s_f_s_op2 != s_d_s_op1 + s_d_s_op2) || (s_d_s_op1 + s_d_s_op2 != s_d_s_op1 + (double)s_m_s_op2) || (s_d_s_op1 + (double)s_m_s_op2 != s_d_s_op1 + s_i_s_op2) || (s_d_s_op1 + s_i_s_op2 != 9))
+ {
+ Console.WriteLine("testcase 24 failed");
+ passed = false;
+ }
+ }
+
+ {
+ decimal m_l_op1 = 1;
+ int i_l_op2 = 8;
+ uint ui_l_op2 = 8;
+ long l_l_op2 = 8;
+ ulong ul_l_op2 = 8;
+ float f_l_op2 = 8;
+ double d_l_op2 = 8;
+ decimal m_l_op2 = 8;
+ numHolder nHldr_l_op2 = new numHolder(8);
+ if ((m_l_op1 + i_l_op2 != m_l_op1 + ui_l_op2) || (m_l_op1 + ui_l_op2 != m_l_op1 + l_l_op2) || (m_l_op1 + l_l_op2 != m_l_op1 + ul_l_op2) || (m_l_op1 + ul_l_op2 != m_l_op1 + (decimal)f_l_op2) || (m_l_op1 + (decimal)f_l_op2 != m_l_op1 + (decimal)d_l_op2) || (m_l_op1 + (decimal)d_l_op2 != m_l_op1 + m_l_op2) || (m_l_op1 + m_l_op2 != m_l_op1 + i_l_op2) || (m_l_op1 + i_l_op2 != 9))
+ {
+ Console.WriteLine("testcase 25 failed");
+ passed = false;
+ }
+ if ((m_l_op1 + s_i_s_op2 != m_l_op1 + s_ui_s_op2) || (m_l_op1 + s_ui_s_op2 != m_l_op1 + s_l_s_op2) || (m_l_op1 + s_l_s_op2 != m_l_op1 + s_ul_s_op2) || (m_l_op1 + s_ul_s_op2 != m_l_op1 + (decimal)s_f_s_op2) || (m_l_op1 + (decimal)s_f_s_op2 != m_l_op1 + (decimal)s_d_s_op2) || (m_l_op1 + (decimal)s_d_s_op2 != m_l_op1 + s_m_s_op2) || (m_l_op1 + s_m_s_op2 != m_l_op1 + s_i_s_op2) || (m_l_op1 + s_i_s_op2 != 9))
+ {
+ Console.WriteLine("testcase 26 failed");
+ passed = false;
+ }
+ if ((s_m_s_op1 + i_l_op2 != s_m_s_op1 + ui_l_op2) || (s_m_s_op1 + ui_l_op2 != s_m_s_op1 + l_l_op2) || (s_m_s_op1 + l_l_op2 != s_m_s_op1 + ul_l_op2) || (s_m_s_op1 + ul_l_op2 != s_m_s_op1 + (decimal)f_l_op2) || (s_m_s_op1 + (decimal)f_l_op2 != s_m_s_op1 + (decimal)d_l_op2) || (s_m_s_op1 + (decimal)d_l_op2 != s_m_s_op1 + m_l_op2) || (s_m_s_op1 + m_l_op2 != s_m_s_op1 + i_l_op2) || (s_m_s_op1 + i_l_op2 != 9))
+ {
+ Console.WriteLine("testcase 27 failed");
+ passed = false;
+ }
+ if ((s_m_s_op1 + s_i_s_op2 != s_m_s_op1 + s_ui_s_op2) || (s_m_s_op1 + s_ui_s_op2 != s_m_s_op1 + s_l_s_op2) || (s_m_s_op1 + s_l_s_op2 != s_m_s_op1 + s_ul_s_op2) || (s_m_s_op1 + s_ul_s_op2 != s_m_s_op1 + (decimal)s_f_s_op2) || (s_m_s_op1 + (decimal)s_f_s_op2 != s_m_s_op1 + (decimal)s_d_s_op2) || (s_m_s_op1 + (decimal)s_d_s_op2 != s_m_s_op1 + s_m_s_op2) || (s_m_s_op1 + s_m_s_op2 != s_m_s_op1 + s_i_s_op2) || (s_m_s_op1 + s_i_s_op2 != 9))
+ {
+ Console.WriteLine("testcase 28 failed");
+ passed = false;
+ }
+ }
+
+ if (!passed)
+ {
+ Console.WriteLine("FAILED");
+ return 1;
+ }
+ else
+ {
+ Console.WriteLine("PASSED");
+ return 100;
+ }
+ }
+}
diff --git a/tests/src/JIT/Directed/coverage/oldtests/lclfldadd_cs_d.csproj b/tests/src/JIT/Directed/coverage/oldtests/lclfldadd_cs_d.csproj
new file mode 100644
index 0000000000..c5405c4a29
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/lclfldadd_cs_d.csproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{526DCCAB-BFA3-423A-AE11-A23C49639EF4}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ <Optimize>False</Optimize>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="lclfldadd.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <PropertyGroup>
+ <ProjectJson>$(JitPackagesConfigFileDirectory)minimal\project.json</ProjectJson>
+ <ProjectLockJson>$(JitPackagesConfigFileDirectory)minimal\project.lock.json</ProjectLockJson>
+ </PropertyGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/lclfldadd_cs_do.csproj b/tests/src/JIT/Directed/coverage/oldtests/lclfldadd_cs_do.csproj
new file mode 100644
index 0000000000..0331fd56ea
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/lclfldadd_cs_do.csproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{17AEDCD1-89CD-4206-B76C-0161143AC72F}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ <Optimize>True</Optimize>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="lclfldadd.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <PropertyGroup>
+ <ProjectJson>$(JitPackagesConfigFileDirectory)minimal\project.json</ProjectJson>
+ <ProjectLockJson>$(JitPackagesConfigFileDirectory)minimal\project.lock.json</ProjectLockJson>
+ </PropertyGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/lclfldadd_cs_r.csproj b/tests/src/JIT/Directed/coverage/oldtests/lclfldadd_cs_r.csproj
new file mode 100644
index 0000000000..627d131cdd
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/lclfldadd_cs_r.csproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{836AD7B3-35E6-49F0-AA37-AB051B84E559}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>None</DebugType>
+ <Optimize>False</Optimize>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="lclfldadd.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <PropertyGroup>
+ <ProjectJson>$(JitPackagesConfigFileDirectory)minimal\project.json</ProjectJson>
+ <ProjectLockJson>$(JitPackagesConfigFileDirectory)minimal\project.lock.json</ProjectLockJson>
+ </PropertyGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/lclfldadd_cs_ro.csproj b/tests/src/JIT/Directed/coverage/oldtests/lclfldadd_cs_ro.csproj
new file mode 100644
index 0000000000..62eca656c3
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/lclfldadd_cs_ro.csproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{B5EFBD85-B7E4-4521-8614-AD95F48DFAA3}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>None</DebugType>
+ <Optimize>True</Optimize>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="lclfldadd.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <PropertyGroup>
+ <ProjectJson>$(JitPackagesConfigFileDirectory)minimal\project.json</ProjectJson>
+ <ProjectLockJson>$(JitPackagesConfigFileDirectory)minimal\project.lock.json</ProjectLockJson>
+ </PropertyGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/lclflddiv.cs b/tests/src/JIT/Directed/coverage/oldtests/lclflddiv.cs
new file mode 100644
index 0000000000..798e25d649
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/lclflddiv.cs
@@ -0,0 +1,559 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+//Testing simple math on local vars and fields - div
+
+#pragma warning disable 0414
+using System;
+internal class lclflddiv
+{
+ //user-defined class that overloads operator /
+ public class numHolder
+ {
+ private int _i_num;
+ private uint _ui_num;
+ private long _l_num;
+ private ulong _ul_num;
+ private float _f_num;
+ private double _d_num;
+ private decimal _m_num;
+ public numHolder(int i_num)
+ {
+ _i_num = Convert.ToInt32(i_num);
+ _ui_num = Convert.ToUInt32(i_num);
+ _l_num = Convert.ToInt64(i_num);
+ _ul_num = Convert.ToUInt64(i_num);
+ _f_num = Convert.ToSingle(i_num);
+ _d_num = Convert.ToDouble(i_num);
+ _m_num = Convert.ToDecimal(i_num);
+ }
+
+ public static int operator /(numHolder a, int b)
+ {
+ return a._i_num / b;
+ }
+
+ public numHolder(uint ui_num)
+ {
+ _i_num = Convert.ToInt32(ui_num);
+ _ui_num = Convert.ToUInt32(ui_num);
+ _l_num = Convert.ToInt64(ui_num);
+ _ul_num = Convert.ToUInt64(ui_num);
+ _f_num = Convert.ToSingle(ui_num);
+ _d_num = Convert.ToDouble(ui_num);
+ _m_num = Convert.ToDecimal(ui_num);
+ }
+
+ public static uint operator /(numHolder a, uint b)
+ {
+ return a._ui_num / b;
+ }
+
+ public numHolder(long l_num)
+ {
+ _i_num = Convert.ToInt32(l_num);
+ _ui_num = Convert.ToUInt32(l_num);
+ _l_num = Convert.ToInt64(l_num);
+ _ul_num = Convert.ToUInt64(l_num);
+ _f_num = Convert.ToSingle(l_num);
+ _d_num = Convert.ToDouble(l_num);
+ _m_num = Convert.ToDecimal(l_num);
+ }
+
+ public static long operator /(numHolder a, long b)
+ {
+ return a._l_num / b;
+ }
+
+ public numHolder(ulong ul_num)
+ {
+ _i_num = Convert.ToInt32(ul_num);
+ _ui_num = Convert.ToUInt32(ul_num);
+ _l_num = Convert.ToInt64(ul_num);
+ _ul_num = Convert.ToUInt64(ul_num);
+ _f_num = Convert.ToSingle(ul_num);
+ _d_num = Convert.ToDouble(ul_num);
+ _m_num = Convert.ToDecimal(ul_num);
+ }
+
+ public static long operator /(numHolder a, ulong b)
+ {
+ return (long)(a._ul_num / b);
+ }
+
+ public numHolder(float f_num)
+ {
+ _i_num = Convert.ToInt32(f_num);
+ _ui_num = Convert.ToUInt32(f_num);
+ _l_num = Convert.ToInt64(f_num);
+ _ul_num = Convert.ToUInt64(f_num);
+ _f_num = Convert.ToSingle(f_num);
+ _d_num = Convert.ToDouble(f_num);
+ _m_num = Convert.ToDecimal(f_num);
+ }
+
+ public static float operator /(numHolder a, float b)
+ {
+ return a._f_num / b;
+ }
+
+ public numHolder(double d_num)
+ {
+ _i_num = Convert.ToInt32(d_num);
+ _ui_num = Convert.ToUInt32(d_num);
+ _l_num = Convert.ToInt64(d_num);
+ _ul_num = Convert.ToUInt64(d_num);
+ _f_num = Convert.ToSingle(d_num);
+ _d_num = Convert.ToDouble(d_num);
+ _m_num = Convert.ToDecimal(d_num);
+ }
+
+ public static double operator /(numHolder a, double b)
+ {
+ return a._d_num / b;
+ }
+
+ public numHolder(decimal m_num)
+ {
+ _i_num = Convert.ToInt32(m_num);
+ _ui_num = Convert.ToUInt32(m_num);
+ _l_num = Convert.ToInt64(m_num);
+ _ul_num = Convert.ToUInt64(m_num);
+ _f_num = Convert.ToSingle(m_num);
+ _d_num = Convert.ToDouble(m_num);
+ _m_num = Convert.ToDecimal(m_num);
+ }
+
+ public static int operator /(numHolder a, decimal b)
+ {
+ return (int)(a._m_num / b);
+ }
+
+ public static int operator /(numHolder a, numHolder b)
+ {
+ return a._i_num / b._i_num;
+ }
+ }
+
+ private static int s_i_s_op1 = 128;
+ private static uint s_ui_s_op1 = 128;
+ private static long s_l_s_op1 = 128;
+ private static ulong s_ul_s_op1 = 128;
+ private static float s_f_s_op1 = 128;
+ private static double s_d_s_op1 = 128;
+ private static decimal s_m_s_op1 = 128;
+
+ private static int s_i_s_op2 = 4;
+ private static uint s_ui_s_op2 = 4;
+ private static long s_l_s_op2 = 4;
+ private static ulong s_ul_s_op2 = 4;
+ private static float s_f_s_op2 = 4;
+ private static double s_d_s_op2 = 4;
+ private static decimal s_m_s_op2 = 4;
+ private static numHolder s_nHldr_s_op2 = new numHolder(4);
+
+ public static int i_f(String s)
+ {
+ if (s == "op1")
+ return 128;
+ else
+ return 4;
+ }
+ public static uint ui_f(String s)
+ {
+ if (s == "op1")
+ return 128;
+ else
+ return 4;
+ }
+ public static long l_f(String s)
+ {
+ if (s == "op1")
+ return 128;
+ else
+ return 4;
+ }
+ public static ulong ul_f(String s)
+ {
+ if (s == "op1")
+ return 128;
+ else
+ return 4;
+ }
+ public static float f_f(String s)
+ {
+ if (s == "op1")
+ return 128;
+ else
+ return 4;
+ }
+ public static double d_f(String s)
+ {
+ if (s == "op1")
+ return 128;
+ else
+ return 4;
+ }
+ public static decimal m_f(String s)
+ {
+ if (s == "op1")
+ return 128;
+ else
+ return 4;
+ }
+ public static numHolder nHldr_f(String s)
+ {
+ if (s == "op1")
+ return new numHolder(128);
+ else
+ return new numHolder(4);
+ }
+ private class CL
+ {
+ public int i_cl_op1 = 128;
+ public uint ui_cl_op1 = 128;
+ public long l_cl_op1 = 128;
+ public ulong ul_cl_op1 = 128;
+ public float f_cl_op1 = 128;
+ public double d_cl_op1 = 128;
+ public decimal m_cl_op1 = 128;
+
+ public int i_cl_op2 = 4;
+ public uint ui_cl_op2 = 4;
+ public long l_cl_op2 = 4;
+ public ulong ul_cl_op2 = 4;
+ public float f_cl_op2 = 4;
+ public double d_cl_op2 = 4;
+ public decimal m_cl_op2 = 4;
+ public numHolder nHldr_cl_op2 = new numHolder(4);
+ }
+
+ private struct VT
+ {
+ public int i_vt_op1;
+ public uint ui_vt_op1;
+ public long l_vt_op1;
+ public ulong ul_vt_op1;
+ public float f_vt_op1;
+ public double d_vt_op1;
+ public decimal m_vt_op1;
+
+ public int i_vt_op2;
+ public uint ui_vt_op2;
+ public long l_vt_op2;
+ public ulong ul_vt_op2;
+ public float f_vt_op2;
+ public double d_vt_op2;
+ public decimal m_vt_op2;
+ public numHolder nHldr_vt_op2;
+ }
+
+ public static int Main()
+ {
+ bool passed = true;
+ //initialize class
+ CL cl1 = new CL();
+ //initialize struct
+ VT vt1;
+ vt1.i_vt_op1 = 128;
+ vt1.ui_vt_op1 = 128;
+ vt1.l_vt_op1 = 128;
+ vt1.ul_vt_op1 = 128;
+ vt1.f_vt_op1 = 128;
+ vt1.d_vt_op1 = 128;
+ vt1.m_vt_op1 = 128;
+ vt1.i_vt_op2 = 4;
+ vt1.ui_vt_op2 = 4;
+ vt1.l_vt_op2 = 4;
+ vt1.ul_vt_op2 = 4;
+ vt1.f_vt_op2 = 4;
+ vt1.d_vt_op2 = 4;
+ vt1.m_vt_op2 = 4;
+ vt1.nHldr_vt_op2 = new numHolder(4);
+
+ int[] i_arr1d_op1 = { 0, 128 };
+ int[,] i_arr2d_op1 = { { 0, 128 }, { 1, 1 } };
+ int[,,] i_arr3d_op1 = { { { 0, 128 }, { 1, 1 } } };
+ uint[] ui_arr1d_op1 = { 0, 128 };
+ uint[,] ui_arr2d_op1 = { { 0, 128 }, { 1, 1 } };
+ uint[,,] ui_arr3d_op1 = { { { 0, 128 }, { 1, 1 } } };
+ long[] l_arr1d_op1 = { 0, 128 };
+ long[,] l_arr2d_op1 = { { 0, 128 }, { 1, 1 } };
+ long[,,] l_arr3d_op1 = { { { 0, 128 }, { 1, 1 } } };
+ ulong[] ul_arr1d_op1 = { 0, 128 };
+ ulong[,] ul_arr2d_op1 = { { 0, 128 }, { 1, 1 } };
+ ulong[,,] ul_arr3d_op1 = { { { 0, 128 }, { 1, 1 } } };
+ float[] f_arr1d_op1 = { 0, 128 };
+ float[,] f_arr2d_op1 = { { 0, 128 }, { 1, 1 } };
+ float[,,] f_arr3d_op1 = { { { 0, 128 }, { 1, 1 } } };
+ double[] d_arr1d_op1 = { 0, 128 };
+ double[,] d_arr2d_op1 = { { 0, 128 }, { 1, 1 } };
+ double[,,] d_arr3d_op1 = { { { 0, 128 }, { 1, 1 } } };
+ decimal[] m_arr1d_op1 = { 0, 128 };
+ decimal[,] m_arr2d_op1 = { { 0, 128 }, { 1, 1 } };
+ decimal[,,] m_arr3d_op1 = { { { 0, 128 }, { 1, 1 } } };
+
+ int[] i_arr1d_op2 = { 4, 0, 1 };
+ int[,] i_arr2d_op2 = { { 0, 4 }, { 1, 1 } };
+ int[,,] i_arr3d_op2 = { { { 0, 4 }, { 1, 1 } } };
+ uint[] ui_arr1d_op2 = { 4, 0, 1 };
+ uint[,] ui_arr2d_op2 = { { 0, 4 }, { 1, 1 } };
+ uint[,,] ui_arr3d_op2 = { { { 0, 4 }, { 1, 1 } } };
+ long[] l_arr1d_op2 = { 4, 0, 1 };
+ long[,] l_arr2d_op2 = { { 0, 4 }, { 1, 1 } };
+ long[,,] l_arr3d_op2 = { { { 0, 4 }, { 1, 1 } } };
+ ulong[] ul_arr1d_op2 = { 4, 0, 1 };
+ ulong[,] ul_arr2d_op2 = { { 0, 4 }, { 1, 1 } };
+ ulong[,,] ul_arr3d_op2 = { { { 0, 4 }, { 1, 1 } } };
+ float[] f_arr1d_op2 = { 4, 0, 1 };
+ float[,] f_arr2d_op2 = { { 0, 4 }, { 1, 1 } };
+ float[,,] f_arr3d_op2 = { { { 0, 4 }, { 1, 1 } } };
+ double[] d_arr1d_op2 = { 4, 0, 1 };
+ double[,] d_arr2d_op2 = { { 0, 4 }, { 1, 1 } };
+ double[,,] d_arr3d_op2 = { { { 0, 4 }, { 1, 1 } } };
+ decimal[] m_arr1d_op2 = { 4, 0, 1 };
+ decimal[,] m_arr2d_op2 = { { 0, 4 }, { 1, 1 } };
+ decimal[,,] m_arr3d_op2 = { { { 0, 4 }, { 1, 1 } } };
+ numHolder[] nHldr_arr1d_op2 = { new numHolder(4), new numHolder(0), new numHolder(1) };
+ numHolder[,] nHldr_arr2d_op2 = { { new numHolder(0), new numHolder(4) }, { new numHolder(1), new numHolder(1) } };
+ numHolder[,,] nHldr_arr3d_op2 = { { { new numHolder(0), new numHolder(4) }, { new numHolder(1), new numHolder(1) } } };
+
+ int[,] index = { { 0, 0 }, { 1, 1 } };
+
+ {
+ int i_l_op1 = 128;
+ int i_l_op2 = 4;
+ uint ui_l_op2 = 4;
+ long l_l_op2 = 4;
+ ulong ul_l_op2 = 4;
+ float f_l_op2 = 4;
+ double d_l_op2 = 4;
+ decimal m_l_op2 = 4;
+ numHolder nHldr_l_op2 = new numHolder(4);
+ if ((i_l_op1 / i_l_op2 != i_l_op1 / ui_l_op2) || (i_l_op1 / ui_l_op2 != i_l_op1 / l_l_op2) || (i_l_op1 / l_l_op2 != i_l_op1 / (int)ul_l_op2) || (i_l_op1 / (int)ul_l_op2 != i_l_op1 / f_l_op2) || (i_l_op1 / f_l_op2 != i_l_op1 / d_l_op2) || ((decimal)(i_l_op1 / d_l_op2) != i_l_op1 / m_l_op2) || (i_l_op1 / m_l_op2 != i_l_op1 / i_l_op2) || (i_l_op1 / i_l_op2 != 32))
+ {
+ Console.WriteLine("testcase 1 failed");
+ passed = false;
+ }
+ if ((i_l_op1 / s_i_s_op2 != i_l_op1 / s_ui_s_op2) || (i_l_op1 / s_ui_s_op2 != i_l_op1 / s_l_s_op2) || (i_l_op1 / s_l_s_op2 != i_l_op1 / (int)s_ul_s_op2) || (i_l_op1 / (int)s_ul_s_op2 != i_l_op1 / s_f_s_op2) || (i_l_op1 / s_f_s_op2 != i_l_op1 / s_d_s_op2) || ((decimal)(i_l_op1 / s_d_s_op2) != i_l_op1 / s_m_s_op2) || (i_l_op1 / s_m_s_op2 != i_l_op1 / s_i_s_op2) || (i_l_op1 / s_i_s_op2 != 32))
+ {
+ Console.WriteLine("testcase 2 failed");
+ passed = false;
+ }
+ if ((s_i_s_op1 / i_l_op2 != s_i_s_op1 / ui_l_op2) || (s_i_s_op1 / ui_l_op2 != s_i_s_op1 / l_l_op2) || (s_i_s_op1 / l_l_op2 != s_i_s_op1 / (int)ul_l_op2) || (s_i_s_op1 / (int)ul_l_op2 != s_i_s_op1 / f_l_op2) || (s_i_s_op1 / f_l_op2 != s_i_s_op1 / d_l_op2) || ((decimal)(s_i_s_op1 / d_l_op2) != s_i_s_op1 / m_l_op2) || (s_i_s_op1 / m_l_op2 != s_i_s_op1 / i_l_op2) || (s_i_s_op1 / i_l_op2 != 32))
+ {
+ Console.WriteLine("testcase 3 failed");
+ passed = false;
+ }
+ if ((s_i_s_op1 / s_i_s_op2 != s_i_s_op1 / s_ui_s_op2) || (s_i_s_op1 / s_ui_s_op2 != s_i_s_op1 / s_l_s_op2) || (s_i_s_op1 / s_l_s_op2 != s_i_s_op1 / (int)s_ul_s_op2) || (s_i_s_op1 / (int)s_ul_s_op2 != s_i_s_op1 / s_f_s_op2) || (s_i_s_op1 / s_f_s_op2 != s_i_s_op1 / s_d_s_op2) || ((decimal)(s_i_s_op1 / s_d_s_op2) != s_i_s_op1 / s_m_s_op2) || (s_i_s_op1 / s_m_s_op2 != s_i_s_op1 / s_i_s_op2) || (s_i_s_op1 / s_i_s_op2 != 32))
+ {
+ Console.WriteLine("testcase 4 failed");
+ passed = false;
+ }
+ }
+
+ {
+ uint ui_l_op1 = 128;
+ int i_l_op2 = 4;
+ uint ui_l_op2 = 4;
+ long l_l_op2 = 4;
+ ulong ul_l_op2 = 4;
+ float f_l_op2 = 4;
+ double d_l_op2 = 4;
+ decimal m_l_op2 = 4;
+ numHolder nHldr_l_op2 = new numHolder(4);
+ if ((ui_l_op1 / i_l_op2 != ui_l_op1 / ui_l_op2) || (ui_l_op1 / ui_l_op2 != ui_l_op1 / l_l_op2) || ((ulong)(ui_l_op1 / l_l_op2) != ui_l_op1 / ul_l_op2) || (ui_l_op1 / ul_l_op2 != ui_l_op1 / f_l_op2) || (ui_l_op1 / f_l_op2 != ui_l_op1 / d_l_op2) || ((decimal)(ui_l_op1 / d_l_op2) != ui_l_op1 / m_l_op2) || (ui_l_op1 / m_l_op2 != ui_l_op1 / i_l_op2) || (ui_l_op1 / i_l_op2 != 32))
+ {
+ Console.WriteLine("testcase 5 failed");
+ passed = false;
+ }
+ if ((ui_l_op1 / s_i_s_op2 != ui_l_op1 / s_ui_s_op2) || (ui_l_op1 / s_ui_s_op2 != ui_l_op1 / s_l_s_op2) || ((ulong)(ui_l_op1 / s_l_s_op2) != ui_l_op1 / s_ul_s_op2) || (ui_l_op1 / s_ul_s_op2 != ui_l_op1 / s_f_s_op2) || (ui_l_op1 / s_f_s_op2 != ui_l_op1 / s_d_s_op2) || ((decimal)(ui_l_op1 / s_d_s_op2) != ui_l_op1 / s_m_s_op2) || (ui_l_op1 / s_m_s_op2 != ui_l_op1 / s_i_s_op2) || (ui_l_op1 / s_i_s_op2 != 32))
+ {
+ Console.WriteLine("testcase 6 failed");
+ passed = false;
+ }
+ if ((s_ui_s_op1 / i_l_op2 != s_ui_s_op1 / ui_l_op2) || (s_ui_s_op1 / ui_l_op2 != s_ui_s_op1 / l_l_op2) || ((ulong)(s_ui_s_op1 / l_l_op2) != s_ui_s_op1 / ul_l_op2) || (s_ui_s_op1 / ul_l_op2 != s_ui_s_op1 / f_l_op2) || (s_ui_s_op1 / f_l_op2 != s_ui_s_op1 / d_l_op2) || ((decimal)(s_ui_s_op1 / d_l_op2) != s_ui_s_op1 / m_l_op2) || (s_ui_s_op1 / m_l_op2 != s_ui_s_op1 / i_l_op2) || (s_ui_s_op1 / i_l_op2 != 32))
+ {
+ Console.WriteLine("testcase 7 failed");
+ passed = false;
+ }
+ if ((s_ui_s_op1 / s_i_s_op2 != s_ui_s_op1 / s_ui_s_op2) || (s_ui_s_op1 / s_ui_s_op2 != s_ui_s_op1 / s_l_s_op2) || ((ulong)(s_ui_s_op1 / s_l_s_op2) != s_ui_s_op1 / s_ul_s_op2) || (s_ui_s_op1 / s_ul_s_op2 != s_ui_s_op1 / s_f_s_op2) || (s_ui_s_op1 / s_f_s_op2 != s_ui_s_op1 / s_d_s_op2) || ((decimal)(s_ui_s_op1 / s_d_s_op2) != s_ui_s_op1 / s_m_s_op2) || (s_ui_s_op1 / s_m_s_op2 != s_ui_s_op1 / s_i_s_op2) || (s_ui_s_op1 / s_i_s_op2 != 32))
+ {
+ Console.WriteLine("testcase 8 failed");
+ passed = false;
+ }
+ }
+
+ {
+ long l_l_op1 = 128;
+ int i_l_op2 = 4;
+ uint ui_l_op2 = 4;
+ long l_l_op2 = 4;
+ ulong ul_l_op2 = 4;
+ float f_l_op2 = 4;
+ double d_l_op2 = 4;
+ decimal m_l_op2 = 4;
+ numHolder nHldr_l_op2 = new numHolder(4);
+ if ((l_l_op1 / i_l_op2 != l_l_op1 / ui_l_op2) || (l_l_op1 / ui_l_op2 != l_l_op1 / l_l_op2) || (l_l_op1 / l_l_op2 != l_l_op1 / (long)ul_l_op2) || (l_l_op1 / (long)ul_l_op2 != l_l_op1 / f_l_op2) || (l_l_op1 / f_l_op2 != l_l_op1 / d_l_op2) || ((decimal)(l_l_op1 / d_l_op2) != l_l_op1 / m_l_op2) || (l_l_op1 / m_l_op2 != l_l_op1 / i_l_op2) || (l_l_op1 / i_l_op2 != 32))
+ {
+ Console.WriteLine("testcase 9 failed");
+ passed = false;
+ }
+ if ((l_l_op1 / s_i_s_op2 != l_l_op1 / s_ui_s_op2) || (l_l_op1 / s_ui_s_op2 != l_l_op1 / s_l_s_op2) || (l_l_op1 / s_l_s_op2 != l_l_op1 / (long)s_ul_s_op2) || (l_l_op1 / (long)s_ul_s_op2 != l_l_op1 / s_f_s_op2) || (l_l_op1 / s_f_s_op2 != l_l_op1 / s_d_s_op2) || ((decimal)(l_l_op1 / s_d_s_op2) != l_l_op1 / s_m_s_op2) || (l_l_op1 / s_m_s_op2 != l_l_op1 / s_i_s_op2) || (l_l_op1 / s_i_s_op2 != 32))
+ {
+ Console.WriteLine("testcase 10 failed");
+ passed = false;
+ }
+ if ((s_l_s_op1 / i_l_op2 != s_l_s_op1 / ui_l_op2) || (s_l_s_op1 / ui_l_op2 != s_l_s_op1 / l_l_op2) || (s_l_s_op1 / l_l_op2 != s_l_s_op1 / (long)ul_l_op2) || (s_l_s_op1 / (long)ul_l_op2 != s_l_s_op1 / f_l_op2) || (s_l_s_op1 / f_l_op2 != s_l_s_op1 / d_l_op2) || ((decimal)(s_l_s_op1 / d_l_op2) != s_l_s_op1 / m_l_op2) || (s_l_s_op1 / m_l_op2 != s_l_s_op1 / i_l_op2) || (s_l_s_op1 / i_l_op2 != 32))
+ {
+ Console.WriteLine("testcase 11 failed");
+ passed = false;
+ }
+ if ((s_l_s_op1 / s_i_s_op2 != s_l_s_op1 / s_ui_s_op2) || (s_l_s_op1 / s_ui_s_op2 != s_l_s_op1 / s_l_s_op2) || (s_l_s_op1 / s_l_s_op2 != s_l_s_op1 / (long)s_ul_s_op2) || (s_l_s_op1 / (long)s_ul_s_op2 != s_l_s_op1 / s_f_s_op2) || (s_l_s_op1 / s_f_s_op2 != s_l_s_op1 / s_d_s_op2) || ((decimal)(s_l_s_op1 / s_d_s_op2) != s_l_s_op1 / s_m_s_op2) || (s_l_s_op1 / s_m_s_op2 != s_l_s_op1 / s_i_s_op2) || (s_l_s_op1 / s_i_s_op2 != 32))
+ {
+ Console.WriteLine("testcase 12 failed");
+ passed = false;
+ }
+ }
+
+ {
+ ulong ul_l_op1 = 128;
+ int i_l_op2 = 4;
+ uint ui_l_op2 = 4;
+ long l_l_op2 = 4;
+ ulong ul_l_op2 = 4;
+ float f_l_op2 = 4;
+ double d_l_op2 = 4;
+ decimal m_l_op2 = 4;
+ numHolder nHldr_l_op2 = new numHolder(4);
+ if ((ul_l_op1 / (ulong)i_l_op2 != ul_l_op1 / ui_l_op2) || (ul_l_op1 / ui_l_op2 != ul_l_op1 / (ulong)l_l_op2) || (ul_l_op1 / (ulong)l_l_op2 != ul_l_op1 / ul_l_op2) || (ul_l_op1 / ul_l_op2 != ul_l_op1 / f_l_op2) || (ul_l_op1 / f_l_op2 != ul_l_op1 / d_l_op2) || ((decimal)(ul_l_op1 / d_l_op2) != ul_l_op1 / m_l_op2) || (ul_l_op1 / m_l_op2 != ul_l_op1 / (ulong)i_l_op2) || (ul_l_op1 / (ulong)i_l_op2 != 32))
+ {
+ Console.WriteLine("testcase 13 failed");
+ passed = false;
+ }
+ if ((ul_l_op1 / (ulong)s_i_s_op2 != ul_l_op1 / s_ui_s_op2) || (ul_l_op1 / s_ui_s_op2 != ul_l_op1 / (ulong)s_l_s_op2) || (ul_l_op1 / (ulong)s_l_s_op2 != ul_l_op1 / s_ul_s_op2) || (ul_l_op1 / s_ul_s_op2 != ul_l_op1 / s_f_s_op2) || (ul_l_op1 / s_f_s_op2 != ul_l_op1 / s_d_s_op2) || ((decimal)(ul_l_op1 / s_d_s_op2) != ul_l_op1 / s_m_s_op2) || (ul_l_op1 / s_m_s_op2 != ul_l_op1 / (ulong)s_i_s_op2) || (ul_l_op1 / (ulong)s_i_s_op2 != 32))
+ {
+ Console.WriteLine("testcase 14 failed");
+ passed = false;
+ }
+ if ((s_ul_s_op1 / (ulong)i_l_op2 != s_ul_s_op1 / ui_l_op2) || (s_ul_s_op1 / ui_l_op2 != s_ul_s_op1 / (ulong)l_l_op2) || (s_ul_s_op1 / (ulong)l_l_op2 != s_ul_s_op1 / ul_l_op2) || (s_ul_s_op1 / ul_l_op2 != s_ul_s_op1 / f_l_op2) || (s_ul_s_op1 / f_l_op2 != s_ul_s_op1 / d_l_op2) || ((decimal)(s_ul_s_op1 / d_l_op2) != s_ul_s_op1 / m_l_op2) || (s_ul_s_op1 / m_l_op2 != s_ul_s_op1 / (ulong)i_l_op2) || (s_ul_s_op1 / (ulong)i_l_op2 != 32))
+ {
+ Console.WriteLine("testcase 15 failed");
+ passed = false;
+ }
+ if ((s_ul_s_op1 / (ulong)s_i_s_op2 != s_ul_s_op1 / s_ui_s_op2) || (s_ul_s_op1 / s_ui_s_op2 != s_ul_s_op1 / (ulong)s_l_s_op2) || (s_ul_s_op1 / (ulong)s_l_s_op2 != s_ul_s_op1 / s_ul_s_op2) || (s_ul_s_op1 / s_ul_s_op2 != s_ul_s_op1 / s_f_s_op2) || (s_ul_s_op1 / s_f_s_op2 != s_ul_s_op1 / s_d_s_op2) || ((decimal)(s_ul_s_op1 / s_d_s_op2) != s_ul_s_op1 / s_m_s_op2) || (s_ul_s_op1 / s_m_s_op2 != s_ul_s_op1 / (ulong)s_i_s_op2) || (s_ul_s_op1 / (ulong)s_i_s_op2 != 32))
+ {
+ Console.WriteLine("testcase 16 failed");
+ passed = false;
+ }
+ }
+
+ {
+ float f_l_op1 = 128;
+ int i_l_op2 = 4;
+ uint ui_l_op2 = 4;
+ long l_l_op2 = 4;
+ ulong ul_l_op2 = 4;
+ float f_l_op2 = 4;
+ double d_l_op2 = 4;
+ decimal m_l_op2 = 4;
+ numHolder nHldr_l_op2 = new numHolder(4);
+ if ((f_l_op1 / i_l_op2 != f_l_op1 / ui_l_op2) || (f_l_op1 / ui_l_op2 != f_l_op1 / l_l_op2) || (f_l_op1 / l_l_op2 != f_l_op1 / ul_l_op2) || (f_l_op1 / ul_l_op2 != f_l_op1 / f_l_op2) || (f_l_op1 / f_l_op2 != f_l_op1 / d_l_op2) || (f_l_op1 / d_l_op2 != f_l_op1 / (float)m_l_op2) || (f_l_op1 / (float)m_l_op2 != f_l_op1 / i_l_op2) || (f_l_op1 / i_l_op2 != 32))
+ {
+ Console.WriteLine("testcase 17 failed");
+ passed = false;
+ }
+ if ((f_l_op1 / s_i_s_op2 != f_l_op1 / s_ui_s_op2) || (f_l_op1 / s_ui_s_op2 != f_l_op1 / s_l_s_op2) || (f_l_op1 / s_l_s_op2 != f_l_op1 / s_ul_s_op2) || (f_l_op1 / s_ul_s_op2 != f_l_op1 / s_f_s_op2) || (f_l_op1 / s_f_s_op2 != f_l_op1 / s_d_s_op2) || (f_l_op1 / s_d_s_op2 != f_l_op1 / (float)s_m_s_op2) || (f_l_op1 / (float)s_m_s_op2 != f_l_op1 / s_i_s_op2) || (f_l_op1 / s_i_s_op2 != 32))
+ {
+ Console.WriteLine("testcase 18 failed");
+ passed = false;
+ }
+ if ((s_f_s_op1 / i_l_op2 != s_f_s_op1 / ui_l_op2) || (s_f_s_op1 / ui_l_op2 != s_f_s_op1 / l_l_op2) || (s_f_s_op1 / l_l_op2 != s_f_s_op1 / ul_l_op2) || (s_f_s_op1 / ul_l_op2 != s_f_s_op1 / f_l_op2) || (s_f_s_op1 / f_l_op2 != s_f_s_op1 / d_l_op2) || (s_f_s_op1 / d_l_op2 != s_f_s_op1 / (float)m_l_op2) || (s_f_s_op1 / (float)m_l_op2 != s_f_s_op1 / i_l_op2) || (s_f_s_op1 / i_l_op2 != 32))
+ {
+ Console.WriteLine("testcase 19 failed");
+ passed = false;
+ }
+ if ((s_f_s_op1 / s_i_s_op2 != s_f_s_op1 / s_ui_s_op2) || (s_f_s_op1 / s_ui_s_op2 != s_f_s_op1 / s_l_s_op2) || (s_f_s_op1 / s_l_s_op2 != s_f_s_op1 / s_ul_s_op2) || (s_f_s_op1 / s_ul_s_op2 != s_f_s_op1 / s_f_s_op2) || (s_f_s_op1 / s_f_s_op2 != s_f_s_op1 / s_d_s_op2) || (s_f_s_op1 / s_d_s_op2 != s_f_s_op1 / (float)s_m_s_op2) || (s_f_s_op1 / (float)s_m_s_op2 != s_f_s_op1 / s_i_s_op2) || (s_f_s_op1 / s_i_s_op2 != 32))
+ {
+ Console.WriteLine("testcase 20 failed");
+ passed = false;
+ }
+ }
+
+ {
+ double d_l_op1 = 128;
+ int i_l_op2 = 4;
+ uint ui_l_op2 = 4;
+ long l_l_op2 = 4;
+ ulong ul_l_op2 = 4;
+ float f_l_op2 = 4;
+ double d_l_op2 = 4;
+ decimal m_l_op2 = 4;
+ numHolder nHldr_l_op2 = new numHolder(4);
+ if ((d_l_op1 / i_l_op2 != d_l_op1 / ui_l_op2) || (d_l_op1 / ui_l_op2 != d_l_op1 / l_l_op2) || (d_l_op1 / l_l_op2 != d_l_op1 / ul_l_op2) || (d_l_op1 / ul_l_op2 != d_l_op1 / f_l_op2) || (d_l_op1 / f_l_op2 != d_l_op1 / d_l_op2) || (d_l_op1 / d_l_op2 != d_l_op1 / (double)m_l_op2) || (d_l_op1 / (double)m_l_op2 != d_l_op1 / i_l_op2) || (d_l_op1 / i_l_op2 != 32))
+ {
+ Console.WriteLine("testcase 21 failed");
+ passed = false;
+ }
+ if ((d_l_op1 / s_i_s_op2 != d_l_op1 / s_ui_s_op2) || (d_l_op1 / s_ui_s_op2 != d_l_op1 / s_l_s_op2) || (d_l_op1 / s_l_s_op2 != d_l_op1 / s_ul_s_op2) || (d_l_op1 / s_ul_s_op2 != d_l_op1 / s_f_s_op2) || (d_l_op1 / s_f_s_op2 != d_l_op1 / s_d_s_op2) || (d_l_op1 / s_d_s_op2 != d_l_op1 / (double)s_m_s_op2) || (d_l_op1 / (double)s_m_s_op2 != d_l_op1 / s_i_s_op2) || (d_l_op1 / s_i_s_op2 != 32))
+ {
+ Console.WriteLine("testcase 22 failed");
+ passed = false;
+ }
+ if ((s_d_s_op1 / i_l_op2 != s_d_s_op1 / ui_l_op2) || (s_d_s_op1 / ui_l_op2 != s_d_s_op1 / l_l_op2) || (s_d_s_op1 / l_l_op2 != s_d_s_op1 / ul_l_op2) || (s_d_s_op1 / ul_l_op2 != s_d_s_op1 / f_l_op2) || (s_d_s_op1 / f_l_op2 != s_d_s_op1 / d_l_op2) || (s_d_s_op1 / d_l_op2 != s_d_s_op1 / (double)m_l_op2) || (s_d_s_op1 / (double)m_l_op2 != s_d_s_op1 / i_l_op2) || (s_d_s_op1 / i_l_op2 != 32))
+ {
+ Console.WriteLine("testcase 23 failed");
+ passed = false;
+ }
+ if ((s_d_s_op1 / s_i_s_op2 != s_d_s_op1 / s_ui_s_op2) || (s_d_s_op1 / s_ui_s_op2 != s_d_s_op1 / s_l_s_op2) || (s_d_s_op1 / s_l_s_op2 != s_d_s_op1 / s_ul_s_op2) || (s_d_s_op1 / s_ul_s_op2 != s_d_s_op1 / s_f_s_op2) || (s_d_s_op1 / s_f_s_op2 != s_d_s_op1 / s_d_s_op2) || (s_d_s_op1 / s_d_s_op2 != s_d_s_op1 / (double)s_m_s_op2) || (s_d_s_op1 / (double)s_m_s_op2 != s_d_s_op1 / s_i_s_op2) || (s_d_s_op1 / s_i_s_op2 != 32))
+ {
+ Console.WriteLine("testcase 24 failed");
+ passed = false;
+ }
+ }
+
+ {
+ decimal m_l_op1 = 128;
+ int i_l_op2 = 4;
+ uint ui_l_op2 = 4;
+ long l_l_op2 = 4;
+ ulong ul_l_op2 = 4;
+ float f_l_op2 = 4;
+ double d_l_op2 = 4;
+ decimal m_l_op2 = 4;
+ numHolder nHldr_l_op2 = new numHolder(4);
+ if ((m_l_op1 / i_l_op2 != m_l_op1 / ui_l_op2) || (m_l_op1 / ui_l_op2 != m_l_op1 / l_l_op2) || (m_l_op1 / l_l_op2 != m_l_op1 / ul_l_op2) || (m_l_op1 / ul_l_op2 != m_l_op1 / (decimal)f_l_op2) || (m_l_op1 / (decimal)f_l_op2 != m_l_op1 / (decimal)d_l_op2) || (m_l_op1 / (decimal)d_l_op2 != m_l_op1 / m_l_op2) || (m_l_op1 / m_l_op2 != m_l_op1 / i_l_op2) || (m_l_op1 / i_l_op2 != 32))
+ {
+ Console.WriteLine("testcase 25 failed");
+ passed = false;
+ }
+ if ((m_l_op1 / s_i_s_op2 != m_l_op1 / s_ui_s_op2) || (m_l_op1 / s_ui_s_op2 != m_l_op1 / s_l_s_op2) || (m_l_op1 / s_l_s_op2 != m_l_op1 / s_ul_s_op2) || (m_l_op1 / s_ul_s_op2 != m_l_op1 / (decimal)s_f_s_op2) || (m_l_op1 / (decimal)s_f_s_op2 != m_l_op1 / (decimal)s_d_s_op2) || (m_l_op1 / (decimal)s_d_s_op2 != m_l_op1 / s_m_s_op2) || (m_l_op1 / s_m_s_op2 != m_l_op1 / s_i_s_op2) || (m_l_op1 / s_i_s_op2 != 32))
+ {
+ Console.WriteLine("testcase 26 failed");
+ passed = false;
+ }
+ if ((s_m_s_op1 / i_l_op2 != s_m_s_op1 / ui_l_op2) || (s_m_s_op1 / ui_l_op2 != s_m_s_op1 / l_l_op2) || (s_m_s_op1 / l_l_op2 != s_m_s_op1 / ul_l_op2) || (s_m_s_op1 / ul_l_op2 != s_m_s_op1 / (decimal)f_l_op2) || (s_m_s_op1 / (decimal)f_l_op2 != s_m_s_op1 / (decimal)d_l_op2) || (s_m_s_op1 / (decimal)d_l_op2 != s_m_s_op1 / m_l_op2) || (s_m_s_op1 / m_l_op2 != s_m_s_op1 / i_l_op2) || (s_m_s_op1 / i_l_op2 != 32))
+ {
+ Console.WriteLine("testcase 27 failed");
+ passed = false;
+ }
+ if ((s_m_s_op1 / s_i_s_op2 != s_m_s_op1 / s_ui_s_op2) || (s_m_s_op1 / s_ui_s_op2 != s_m_s_op1 / s_l_s_op2) || (s_m_s_op1 / s_l_s_op2 != s_m_s_op1 / s_ul_s_op2) || (s_m_s_op1 / s_ul_s_op2 != s_m_s_op1 / (decimal)s_f_s_op2) || (s_m_s_op1 / (decimal)s_f_s_op2 != s_m_s_op1 / (decimal)s_d_s_op2) || (s_m_s_op1 / (decimal)s_d_s_op2 != s_m_s_op1 / s_m_s_op2) || (s_m_s_op1 / s_m_s_op2 != s_m_s_op1 / s_i_s_op2) || (s_m_s_op1 / s_i_s_op2 != 32))
+ {
+ Console.WriteLine("testcase 28 failed");
+ passed = false;
+ }
+ }
+
+ if (!passed)
+ {
+ Console.WriteLine("FAILED");
+ return 1;
+ }
+ else
+ {
+ Console.WriteLine("PASSED");
+ return 100;
+ }
+ }
+}
diff --git a/tests/src/JIT/Directed/coverage/oldtests/lclflddiv_cs_d.csproj b/tests/src/JIT/Directed/coverage/oldtests/lclflddiv_cs_d.csproj
new file mode 100644
index 0000000000..433e35bddc
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/lclflddiv_cs_d.csproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{635215B3-122F-499D-8CAB-22F00651EA12}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ <Optimize>False</Optimize>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="lclflddiv.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <PropertyGroup>
+ <ProjectJson>$(JitPackagesConfigFileDirectory)minimal\project.json</ProjectJson>
+ <ProjectLockJson>$(JitPackagesConfigFileDirectory)minimal\project.lock.json</ProjectLockJson>
+ </PropertyGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/lclflddiv_cs_do.csproj b/tests/src/JIT/Directed/coverage/oldtests/lclflddiv_cs_do.csproj
new file mode 100644
index 0000000000..20ad103d29
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/lclflddiv_cs_do.csproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{969159A4-B449-49AB-85BC-816C4EF69BD7}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ <Optimize>True</Optimize>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="lclflddiv.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <PropertyGroup>
+ <ProjectJson>$(JitPackagesConfigFileDirectory)minimal\project.json</ProjectJson>
+ <ProjectLockJson>$(JitPackagesConfigFileDirectory)minimal\project.lock.json</ProjectLockJson>
+ </PropertyGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/lclflddiv_cs_r.csproj b/tests/src/JIT/Directed/coverage/oldtests/lclflddiv_cs_r.csproj
new file mode 100644
index 0000000000..2450d48912
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/lclflddiv_cs_r.csproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{252285C6-BDDB-4826-9E93-7702B02E4BF9}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>None</DebugType>
+ <Optimize>False</Optimize>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="lclflddiv.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <PropertyGroup>
+ <ProjectJson>$(JitPackagesConfigFileDirectory)minimal\project.json</ProjectJson>
+ <ProjectLockJson>$(JitPackagesConfigFileDirectory)minimal\project.lock.json</ProjectLockJson>
+ </PropertyGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/lclflddiv_cs_ro.csproj b/tests/src/JIT/Directed/coverage/oldtests/lclflddiv_cs_ro.csproj
new file mode 100644
index 0000000000..c20762695e
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/lclflddiv_cs_ro.csproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{62C4714A-E180-41FC-B44F-9B87B2375A23}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>None</DebugType>
+ <Optimize>True</Optimize>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="lclflddiv.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <PropertyGroup>
+ <ProjectJson>$(JitPackagesConfigFileDirectory)minimal\project.json</ProjectJson>
+ <ProjectLockJson>$(JitPackagesConfigFileDirectory)minimal\project.lock.json</ProjectLockJson>
+ </PropertyGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/lclfldmul.cs b/tests/src/JIT/Directed/coverage/oldtests/lclfldmul.cs
new file mode 100644
index 0000000000..039dc6a07c
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/lclfldmul.cs
@@ -0,0 +1,559 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+//Testing simple math on local vars and fields - mul
+
+#pragma warning disable 0414
+using System;
+internal class lclfldmul
+{
+ //user-defined class that overloads operator *
+ public class numHolder
+ {
+ private int _i_num;
+ private uint _ui_num;
+ private long _l_num;
+ private ulong _ul_num;
+ private float _f_num;
+ private double _d_num;
+ private decimal _m_num;
+ public numHolder(int i_num)
+ {
+ _i_num = Convert.ToInt32(i_num);
+ _ui_num = Convert.ToUInt32(i_num);
+ _l_num = Convert.ToInt64(i_num);
+ _ul_num = Convert.ToUInt64(i_num);
+ _f_num = Convert.ToSingle(i_num);
+ _d_num = Convert.ToDouble(i_num);
+ _m_num = Convert.ToDecimal(i_num);
+ }
+
+ public static int operator *(numHolder a, int b)
+ {
+ return a._i_num * b;
+ }
+
+ public numHolder(uint ui_num)
+ {
+ _i_num = Convert.ToInt32(ui_num);
+ _ui_num = Convert.ToUInt32(ui_num);
+ _l_num = Convert.ToInt64(ui_num);
+ _ul_num = Convert.ToUInt64(ui_num);
+ _f_num = Convert.ToSingle(ui_num);
+ _d_num = Convert.ToDouble(ui_num);
+ _m_num = Convert.ToDecimal(ui_num);
+ }
+
+ public static uint operator *(numHolder a, uint b)
+ {
+ return a._ui_num * b;
+ }
+
+ public numHolder(long l_num)
+ {
+ _i_num = Convert.ToInt32(l_num);
+ _ui_num = Convert.ToUInt32(l_num);
+ _l_num = Convert.ToInt64(l_num);
+ _ul_num = Convert.ToUInt64(l_num);
+ _f_num = Convert.ToSingle(l_num);
+ _d_num = Convert.ToDouble(l_num);
+ _m_num = Convert.ToDecimal(l_num);
+ }
+
+ public static long operator *(numHolder a, long b)
+ {
+ return a._l_num * b;
+ }
+
+ public numHolder(ulong ul_num)
+ {
+ _i_num = Convert.ToInt32(ul_num);
+ _ui_num = Convert.ToUInt32(ul_num);
+ _l_num = Convert.ToInt64(ul_num);
+ _ul_num = Convert.ToUInt64(ul_num);
+ _f_num = Convert.ToSingle(ul_num);
+ _d_num = Convert.ToDouble(ul_num);
+ _m_num = Convert.ToDecimal(ul_num);
+ }
+
+ public static long operator *(numHolder a, ulong b)
+ {
+ return (long)(a._ul_num * b);
+ }
+
+ public numHolder(float f_num)
+ {
+ _i_num = Convert.ToInt32(f_num);
+ _ui_num = Convert.ToUInt32(f_num);
+ _l_num = Convert.ToInt64(f_num);
+ _ul_num = Convert.ToUInt64(f_num);
+ _f_num = Convert.ToSingle(f_num);
+ _d_num = Convert.ToDouble(f_num);
+ _m_num = Convert.ToDecimal(f_num);
+ }
+
+ public static float operator *(numHolder a, float b)
+ {
+ return a._f_num * b;
+ }
+
+ public numHolder(double d_num)
+ {
+ _i_num = Convert.ToInt32(d_num);
+ _ui_num = Convert.ToUInt32(d_num);
+ _l_num = Convert.ToInt64(d_num);
+ _ul_num = Convert.ToUInt64(d_num);
+ _f_num = Convert.ToSingle(d_num);
+ _d_num = Convert.ToDouble(d_num);
+ _m_num = Convert.ToDecimal(d_num);
+ }
+
+ public static double operator *(numHolder a, double b)
+ {
+ return a._d_num * b;
+ }
+
+ public numHolder(decimal m_num)
+ {
+ _i_num = Convert.ToInt32(m_num);
+ _ui_num = Convert.ToUInt32(m_num);
+ _l_num = Convert.ToInt64(m_num);
+ _ul_num = Convert.ToUInt64(m_num);
+ _f_num = Convert.ToSingle(m_num);
+ _d_num = Convert.ToDouble(m_num);
+ _m_num = Convert.ToDecimal(m_num);
+ }
+
+ public static int operator *(numHolder a, decimal b)
+ {
+ return (int)(a._m_num * b);
+ }
+
+ public static int operator *(numHolder a, numHolder b)
+ {
+ return a._i_num * b._i_num;
+ }
+ }
+
+ private static int s_i_s_op1 = 3;
+ private static uint s_ui_s_op1 = 3;
+ private static long s_l_s_op1 = 3;
+ private static ulong s_ul_s_op1 = 3;
+ private static float s_f_s_op1 = 3;
+ private static double s_d_s_op1 = 3;
+ private static decimal s_m_s_op1 = 3;
+
+ private static int s_i_s_op2 = 7;
+ private static uint s_ui_s_op2 = 7;
+ private static long s_l_s_op2 = 7;
+ private static ulong s_ul_s_op2 = 7;
+ private static float s_f_s_op2 = 7;
+ private static double s_d_s_op2 = 7;
+ private static decimal s_m_s_op2 = 7;
+ private static numHolder s_nHldr_s_op2 = new numHolder(7);
+
+ public static int i_f(String s)
+ {
+ if (s == "op1")
+ return 3;
+ else
+ return 7;
+ }
+ public static uint ui_f(String s)
+ {
+ if (s == "op1")
+ return 3;
+ else
+ return 7;
+ }
+ public static long l_f(String s)
+ {
+ if (s == "op1")
+ return 3;
+ else
+ return 7;
+ }
+ public static ulong ul_f(String s)
+ {
+ if (s == "op1")
+ return 3;
+ else
+ return 7;
+ }
+ public static float f_f(String s)
+ {
+ if (s == "op1")
+ return 3;
+ else
+ return 7;
+ }
+ public static double d_f(String s)
+ {
+ if (s == "op1")
+ return 3;
+ else
+ return 7;
+ }
+ public static decimal m_f(String s)
+ {
+ if (s == "op1")
+ return 3;
+ else
+ return 7;
+ }
+ public static numHolder nHldr_f(String s)
+ {
+ if (s == "op1")
+ return new numHolder(3);
+ else
+ return new numHolder(7);
+ }
+ private class CL
+ {
+ public int i_cl_op1 = 3;
+ public uint ui_cl_op1 = 3;
+ public long l_cl_op1 = 3;
+ public ulong ul_cl_op1 = 3;
+ public float f_cl_op1 = 3;
+ public double d_cl_op1 = 3;
+ public decimal m_cl_op1 = 3;
+
+ public int i_cl_op2 = 7;
+ public uint ui_cl_op2 = 7;
+ public long l_cl_op2 = 7;
+ public ulong ul_cl_op2 = 7;
+ public float f_cl_op2 = 7;
+ public double d_cl_op2 = 7;
+ public decimal m_cl_op2 = 7;
+ public numHolder nHldr_cl_op2 = new numHolder(7);
+ }
+
+ private struct VT
+ {
+ public int i_vt_op1;
+ public uint ui_vt_op1;
+ public long l_vt_op1;
+ public ulong ul_vt_op1;
+ public float f_vt_op1;
+ public double d_vt_op1;
+ public decimal m_vt_op1;
+
+ public int i_vt_op2;
+ public uint ui_vt_op2;
+ public long l_vt_op2;
+ public ulong ul_vt_op2;
+ public float f_vt_op2;
+ public double d_vt_op2;
+ public decimal m_vt_op2;
+ public numHolder nHldr_vt_op2;
+ }
+
+ public static int Main()
+ {
+ bool passed = true;
+ //initialize class
+ CL cl1 = new CL();
+ //initialize struct
+ VT vt1;
+ vt1.i_vt_op1 = 3;
+ vt1.ui_vt_op1 = 3;
+ vt1.l_vt_op1 = 3;
+ vt1.ul_vt_op1 = 3;
+ vt1.f_vt_op1 = 3;
+ vt1.d_vt_op1 = 3;
+ vt1.m_vt_op1 = 3;
+ vt1.i_vt_op2 = 7;
+ vt1.ui_vt_op2 = 7;
+ vt1.l_vt_op2 = 7;
+ vt1.ul_vt_op2 = 7;
+ vt1.f_vt_op2 = 7;
+ vt1.d_vt_op2 = 7;
+ vt1.m_vt_op2 = 7;
+ vt1.nHldr_vt_op2 = new numHolder(7);
+
+ int[] i_arr1d_op1 = { 0, 3 };
+ int[,] i_arr2d_op1 = { { 0, 3 }, { 1, 1 } };
+ int[,,] i_arr3d_op1 = { { { 0, 3 }, { 1, 1 } } };
+ uint[] ui_arr1d_op1 = { 0, 3 };
+ uint[,] ui_arr2d_op1 = { { 0, 3 }, { 1, 1 } };
+ uint[,,] ui_arr3d_op1 = { { { 0, 3 }, { 1, 1 } } };
+ long[] l_arr1d_op1 = { 0, 3 };
+ long[,] l_arr2d_op1 = { { 0, 3 }, { 1, 1 } };
+ long[,,] l_arr3d_op1 = { { { 0, 3 }, { 1, 1 } } };
+ ulong[] ul_arr1d_op1 = { 0, 3 };
+ ulong[,] ul_arr2d_op1 = { { 0, 3 }, { 1, 1 } };
+ ulong[,,] ul_arr3d_op1 = { { { 0, 3 }, { 1, 1 } } };
+ float[] f_arr1d_op1 = { 0, 3 };
+ float[,] f_arr2d_op1 = { { 0, 3 }, { 1, 1 } };
+ float[,,] f_arr3d_op1 = { { { 0, 3 }, { 1, 1 } } };
+ double[] d_arr1d_op1 = { 0, 3 };
+ double[,] d_arr2d_op1 = { { 0, 3 }, { 1, 1 } };
+ double[,,] d_arr3d_op1 = { { { 0, 3 }, { 1, 1 } } };
+ decimal[] m_arr1d_op1 = { 0, 3 };
+ decimal[,] m_arr2d_op1 = { { 0, 3 }, { 1, 1 } };
+ decimal[,,] m_arr3d_op1 = { { { 0, 3 }, { 1, 1 } } };
+
+ int[] i_arr1d_op2 = { 7, 0, 1 };
+ int[,] i_arr2d_op2 = { { 0, 7 }, { 1, 1 } };
+ int[,,] i_arr3d_op2 = { { { 0, 7 }, { 1, 1 } } };
+ uint[] ui_arr1d_op2 = { 7, 0, 1 };
+ uint[,] ui_arr2d_op2 = { { 0, 7 }, { 1, 1 } };
+ uint[,,] ui_arr3d_op2 = { { { 0, 7 }, { 1, 1 } } };
+ long[] l_arr1d_op2 = { 7, 0, 1 };
+ long[,] l_arr2d_op2 = { { 0, 7 }, { 1, 1 } };
+ long[,,] l_arr3d_op2 = { { { 0, 7 }, { 1, 1 } } };
+ ulong[] ul_arr1d_op2 = { 7, 0, 1 };
+ ulong[,] ul_arr2d_op2 = { { 0, 7 }, { 1, 1 } };
+ ulong[,,] ul_arr3d_op2 = { { { 0, 7 }, { 1, 1 } } };
+ float[] f_arr1d_op2 = { 7, 0, 1 };
+ float[,] f_arr2d_op2 = { { 0, 7 }, { 1, 1 } };
+ float[,,] f_arr3d_op2 = { { { 0, 7 }, { 1, 1 } } };
+ double[] d_arr1d_op2 = { 7, 0, 1 };
+ double[,] d_arr2d_op2 = { { 0, 7 }, { 1, 1 } };
+ double[,,] d_arr3d_op2 = { { { 0, 7 }, { 1, 1 } } };
+ decimal[] m_arr1d_op2 = { 7, 0, 1 };
+ decimal[,] m_arr2d_op2 = { { 0, 7 }, { 1, 1 } };
+ decimal[,,] m_arr3d_op2 = { { { 0, 7 }, { 1, 1 } } };
+ numHolder[] nHldr_arr1d_op2 = { new numHolder(7), new numHolder(0), new numHolder(1) };
+ numHolder[,] nHldr_arr2d_op2 = { { new numHolder(0), new numHolder(7) }, { new numHolder(1), new numHolder(1) } };
+ numHolder[,,] nHldr_arr3d_op2 = { { { new numHolder(0), new numHolder(7) }, { new numHolder(1), new numHolder(1) } } };
+
+ int[,] index = { { 0, 0 }, { 1, 1 } };
+
+ {
+ int i_l_op1 = 3;
+ int i_l_op2 = 7;
+ uint ui_l_op2 = 7;
+ long l_l_op2 = 7;
+ ulong ul_l_op2 = 7;
+ float f_l_op2 = 7;
+ double d_l_op2 = 7;
+ decimal m_l_op2 = 7;
+ numHolder nHldr_l_op2 = new numHolder(7);
+ if ((i_l_op1 * i_l_op2 != i_l_op1 * ui_l_op2) || (i_l_op1 * ui_l_op2 != i_l_op1 * l_l_op2) || (i_l_op1 * l_l_op2 != i_l_op1 * (int)ul_l_op2) || (i_l_op1 * (int)ul_l_op2 != i_l_op1 * f_l_op2) || (i_l_op1 * f_l_op2 != i_l_op1 * d_l_op2) || ((decimal)(i_l_op1 * d_l_op2) != i_l_op1 * m_l_op2) || (i_l_op1 * m_l_op2 != i_l_op1 * i_l_op2) || (i_l_op1 * i_l_op2 != 21))
+ {
+ Console.WriteLine("testcase 1 failed");
+ passed = false;
+ }
+ if ((i_l_op1 * s_i_s_op2 != i_l_op1 * s_ui_s_op2) || (i_l_op1 * s_ui_s_op2 != i_l_op1 * s_l_s_op2) || (i_l_op1 * s_l_s_op2 != i_l_op1 * (int)s_ul_s_op2) || (i_l_op1 * (int)s_ul_s_op2 != i_l_op1 * s_f_s_op2) || (i_l_op1 * s_f_s_op2 != i_l_op1 * s_d_s_op2) || ((decimal)(i_l_op1 * s_d_s_op2) != i_l_op1 * s_m_s_op2) || (i_l_op1 * s_m_s_op2 != i_l_op1 * s_i_s_op2) || (i_l_op1 * s_i_s_op2 != 21))
+ {
+ Console.WriteLine("testcase 2 failed");
+ passed = false;
+ }
+ if ((s_i_s_op1 * i_l_op2 != s_i_s_op1 * ui_l_op2) || (s_i_s_op1 * ui_l_op2 != s_i_s_op1 * l_l_op2) || (s_i_s_op1 * l_l_op2 != s_i_s_op1 * (int)ul_l_op2) || (s_i_s_op1 * (int)ul_l_op2 != s_i_s_op1 * f_l_op2) || (s_i_s_op1 * f_l_op2 != s_i_s_op1 * d_l_op2) || ((decimal)(s_i_s_op1 * d_l_op2) != s_i_s_op1 * m_l_op2) || (s_i_s_op1 * m_l_op2 != s_i_s_op1 * i_l_op2) || (s_i_s_op1 * i_l_op2 != 21))
+ {
+ Console.WriteLine("testcase 3 failed");
+ passed = false;
+ }
+ if ((s_i_s_op1 * s_i_s_op2 != s_i_s_op1 * s_ui_s_op2) || (s_i_s_op1 * s_ui_s_op2 != s_i_s_op1 * s_l_s_op2) || (s_i_s_op1 * s_l_s_op2 != s_i_s_op1 * (int)s_ul_s_op2) || (s_i_s_op1 * (int)s_ul_s_op2 != s_i_s_op1 * s_f_s_op2) || (s_i_s_op1 * s_f_s_op2 != s_i_s_op1 * s_d_s_op2) || ((decimal)(s_i_s_op1 * s_d_s_op2) != s_i_s_op1 * s_m_s_op2) || (s_i_s_op1 * s_m_s_op2 != s_i_s_op1 * s_i_s_op2) || (s_i_s_op1 * s_i_s_op2 != 21))
+ {
+ Console.WriteLine("testcase 4 failed");
+ passed = false;
+ }
+ }
+
+ {
+ uint ui_l_op1 = 3;
+ int i_l_op2 = 7;
+ uint ui_l_op2 = 7;
+ long l_l_op2 = 7;
+ ulong ul_l_op2 = 7;
+ float f_l_op2 = 7;
+ double d_l_op2 = 7;
+ decimal m_l_op2 = 7;
+ numHolder nHldr_l_op2 = new numHolder(7);
+ if ((ui_l_op1 * i_l_op2 != ui_l_op1 * ui_l_op2) || (ui_l_op1 * ui_l_op2 != ui_l_op1 * l_l_op2) || ((ulong)(ui_l_op1 * l_l_op2) != ui_l_op1 * ul_l_op2) || (ui_l_op1 * ul_l_op2 != ui_l_op1 * f_l_op2) || (ui_l_op1 * f_l_op2 != ui_l_op1 * d_l_op2) || ((decimal)(ui_l_op1 * d_l_op2) != ui_l_op1 * m_l_op2) || (ui_l_op1 * m_l_op2 != ui_l_op1 * i_l_op2) || (ui_l_op1 * i_l_op2 != 21))
+ {
+ Console.WriteLine("testcase 5 failed");
+ passed = false;
+ }
+ if ((ui_l_op1 * s_i_s_op2 != ui_l_op1 * s_ui_s_op2) || (ui_l_op1 * s_ui_s_op2 != ui_l_op1 * s_l_s_op2) || ((ulong)(ui_l_op1 * s_l_s_op2) != ui_l_op1 * s_ul_s_op2) || (ui_l_op1 * s_ul_s_op2 != ui_l_op1 * s_f_s_op2) || (ui_l_op1 * s_f_s_op2 != ui_l_op1 * s_d_s_op2) || ((decimal)(ui_l_op1 * s_d_s_op2) != ui_l_op1 * s_m_s_op2) || (ui_l_op1 * s_m_s_op2 != ui_l_op1 * s_i_s_op2) || (ui_l_op1 * s_i_s_op2 != 21))
+ {
+ Console.WriteLine("testcase 6 failed");
+ passed = false;
+ }
+ if ((s_ui_s_op1 * i_l_op2 != s_ui_s_op1 * ui_l_op2) || (s_ui_s_op1 * ui_l_op2 != s_ui_s_op1 * l_l_op2) || ((ulong)(s_ui_s_op1 * l_l_op2) != s_ui_s_op1 * ul_l_op2) || (s_ui_s_op1 * ul_l_op2 != s_ui_s_op1 * f_l_op2) || (s_ui_s_op1 * f_l_op2 != s_ui_s_op1 * d_l_op2) || ((decimal)(s_ui_s_op1 * d_l_op2) != s_ui_s_op1 * m_l_op2) || (s_ui_s_op1 * m_l_op2 != s_ui_s_op1 * i_l_op2) || (s_ui_s_op1 * i_l_op2 != 21))
+ {
+ Console.WriteLine("testcase 7 failed");
+ passed = false;
+ }
+ if ((s_ui_s_op1 * s_i_s_op2 != s_ui_s_op1 * s_ui_s_op2) || (s_ui_s_op1 * s_ui_s_op2 != s_ui_s_op1 * s_l_s_op2) || ((ulong)(s_ui_s_op1 * s_l_s_op2) != s_ui_s_op1 * s_ul_s_op2) || (s_ui_s_op1 * s_ul_s_op2 != s_ui_s_op1 * s_f_s_op2) || (s_ui_s_op1 * s_f_s_op2 != s_ui_s_op1 * s_d_s_op2) || ((decimal)(s_ui_s_op1 * s_d_s_op2) != s_ui_s_op1 * s_m_s_op2) || (s_ui_s_op1 * s_m_s_op2 != s_ui_s_op1 * s_i_s_op2) || (s_ui_s_op1 * s_i_s_op2 != 21))
+ {
+ Console.WriteLine("testcase 8 failed");
+ passed = false;
+ }
+ }
+
+ {
+ long l_l_op1 = 3;
+ int i_l_op2 = 7;
+ uint ui_l_op2 = 7;
+ long l_l_op2 = 7;
+ ulong ul_l_op2 = 7;
+ float f_l_op2 = 7;
+ double d_l_op2 = 7;
+ decimal m_l_op2 = 7;
+ numHolder nHldr_l_op2 = new numHolder(7);
+ if ((l_l_op1 * i_l_op2 != l_l_op1 * ui_l_op2) || (l_l_op1 * ui_l_op2 != l_l_op1 * l_l_op2) || (l_l_op1 * l_l_op2 != l_l_op1 * (long)ul_l_op2) || (l_l_op1 * (long)ul_l_op2 != l_l_op1 * f_l_op2) || (l_l_op1 * f_l_op2 != l_l_op1 * d_l_op2) || ((decimal)(l_l_op1 * d_l_op2) != l_l_op1 * m_l_op2) || (l_l_op1 * m_l_op2 != l_l_op1 * i_l_op2) || (l_l_op1 * i_l_op2 != 21))
+ {
+ Console.WriteLine("testcase 9 failed");
+ passed = false;
+ }
+ if ((l_l_op1 * s_i_s_op2 != l_l_op1 * s_ui_s_op2) || (l_l_op1 * s_ui_s_op2 != l_l_op1 * s_l_s_op2) || (l_l_op1 * s_l_s_op2 != l_l_op1 * (long)s_ul_s_op2) || (l_l_op1 * (long)s_ul_s_op2 != l_l_op1 * s_f_s_op2) || (l_l_op1 * s_f_s_op2 != l_l_op1 * s_d_s_op2) || ((decimal)(l_l_op1 * s_d_s_op2) != l_l_op1 * s_m_s_op2) || (l_l_op1 * s_m_s_op2 != l_l_op1 * s_i_s_op2) || (l_l_op1 * s_i_s_op2 != 21))
+ {
+ Console.WriteLine("testcase 10 failed");
+ passed = false;
+ }
+ if ((s_l_s_op1 * i_l_op2 != s_l_s_op1 * ui_l_op2) || (s_l_s_op1 * ui_l_op2 != s_l_s_op1 * l_l_op2) || (s_l_s_op1 * l_l_op2 != s_l_s_op1 * (long)ul_l_op2) || (s_l_s_op1 * (long)ul_l_op2 != s_l_s_op1 * f_l_op2) || (s_l_s_op1 * f_l_op2 != s_l_s_op1 * d_l_op2) || ((decimal)(s_l_s_op1 * d_l_op2) != s_l_s_op1 * m_l_op2) || (s_l_s_op1 * m_l_op2 != s_l_s_op1 * i_l_op2) || (s_l_s_op1 * i_l_op2 != 21))
+ {
+ Console.WriteLine("testcase 11 failed");
+ passed = false;
+ }
+ if ((s_l_s_op1 * s_i_s_op2 != s_l_s_op1 * s_ui_s_op2) || (s_l_s_op1 * s_ui_s_op2 != s_l_s_op1 * s_l_s_op2) || (s_l_s_op1 * s_l_s_op2 != s_l_s_op1 * (long)s_ul_s_op2) || (s_l_s_op1 * (long)s_ul_s_op2 != s_l_s_op1 * s_f_s_op2) || (s_l_s_op1 * s_f_s_op2 != s_l_s_op1 * s_d_s_op2) || ((decimal)(s_l_s_op1 * s_d_s_op2) != s_l_s_op1 * s_m_s_op2) || (s_l_s_op1 * s_m_s_op2 != s_l_s_op1 * s_i_s_op2) || (s_l_s_op1 * s_i_s_op2 != 21))
+ {
+ Console.WriteLine("testcase 12 failed");
+ passed = false;
+ }
+ }
+
+ {
+ ulong ul_l_op1 = 3;
+ int i_l_op2 = 7;
+ uint ui_l_op2 = 7;
+ long l_l_op2 = 7;
+ ulong ul_l_op2 = 7;
+ float f_l_op2 = 7;
+ double d_l_op2 = 7;
+ decimal m_l_op2 = 7;
+ numHolder nHldr_l_op2 = new numHolder(7);
+ if ((ul_l_op1 * (ulong)i_l_op2 != ul_l_op1 * ui_l_op2) || (ul_l_op1 * ui_l_op2 != ul_l_op1 * (ulong)l_l_op2) || (ul_l_op1 * (ulong)l_l_op2 != ul_l_op1 * ul_l_op2) || (ul_l_op1 * ul_l_op2 != ul_l_op1 * f_l_op2) || (ul_l_op1 * f_l_op2 != ul_l_op1 * d_l_op2) || ((decimal)(ul_l_op1 * d_l_op2) != ul_l_op1 * m_l_op2) || (ul_l_op1 * m_l_op2 != ul_l_op1 * (ulong)i_l_op2) || (ul_l_op1 * (ulong)i_l_op2 != 21))
+ {
+ Console.WriteLine("testcase 13 failed");
+ passed = false;
+ }
+ if ((ul_l_op1 * (ulong)s_i_s_op2 != ul_l_op1 * s_ui_s_op2) || (ul_l_op1 * s_ui_s_op2 != ul_l_op1 * (ulong)s_l_s_op2) || (ul_l_op1 * (ulong)s_l_s_op2 != ul_l_op1 * s_ul_s_op2) || (ul_l_op1 * s_ul_s_op2 != ul_l_op1 * s_f_s_op2) || (ul_l_op1 * s_f_s_op2 != ul_l_op1 * s_d_s_op2) || ((decimal)(ul_l_op1 * s_d_s_op2) != ul_l_op1 * s_m_s_op2) || (ul_l_op1 * s_m_s_op2 != ul_l_op1 * (ulong)s_i_s_op2) || (ul_l_op1 * (ulong)s_i_s_op2 != 21))
+ {
+ Console.WriteLine("testcase 14 failed");
+ passed = false;
+ }
+ if ((s_ul_s_op1 * (ulong)i_l_op2 != s_ul_s_op1 * ui_l_op2) || (s_ul_s_op1 * ui_l_op2 != s_ul_s_op1 * (ulong)l_l_op2) || (s_ul_s_op1 * (ulong)l_l_op2 != s_ul_s_op1 * ul_l_op2) || (s_ul_s_op1 * ul_l_op2 != s_ul_s_op1 * f_l_op2) || (s_ul_s_op1 * f_l_op2 != s_ul_s_op1 * d_l_op2) || ((decimal)(s_ul_s_op1 * d_l_op2) != s_ul_s_op1 * m_l_op2) || (s_ul_s_op1 * m_l_op2 != s_ul_s_op1 * (ulong)i_l_op2) || (s_ul_s_op1 * (ulong)i_l_op2 != 21))
+ {
+ Console.WriteLine("testcase 15 failed");
+ passed = false;
+ }
+ if ((s_ul_s_op1 * (ulong)s_i_s_op2 != s_ul_s_op1 * s_ui_s_op2) || (s_ul_s_op1 * s_ui_s_op2 != s_ul_s_op1 * (ulong)s_l_s_op2) || (s_ul_s_op1 * (ulong)s_l_s_op2 != s_ul_s_op1 * s_ul_s_op2) || (s_ul_s_op1 * s_ul_s_op2 != s_ul_s_op1 * s_f_s_op2) || (s_ul_s_op1 * s_f_s_op2 != s_ul_s_op1 * s_d_s_op2) || ((decimal)(s_ul_s_op1 * s_d_s_op2) != s_ul_s_op1 * s_m_s_op2) || (s_ul_s_op1 * s_m_s_op2 != s_ul_s_op1 * (ulong)s_i_s_op2) || (s_ul_s_op1 * (ulong)s_i_s_op2 != 21))
+ {
+ Console.WriteLine("testcase 16 failed");
+ passed = false;
+ }
+ }
+
+ {
+ float f_l_op1 = 3;
+ int i_l_op2 = 7;
+ uint ui_l_op2 = 7;
+ long l_l_op2 = 7;
+ ulong ul_l_op2 = 7;
+ float f_l_op2 = 7;
+ double d_l_op2 = 7;
+ decimal m_l_op2 = 7;
+ numHolder nHldr_l_op2 = new numHolder(7);
+ if ((f_l_op1 * i_l_op2 != f_l_op1 * ui_l_op2) || (f_l_op1 * ui_l_op2 != f_l_op1 * l_l_op2) || (f_l_op1 * l_l_op2 != f_l_op1 * ul_l_op2) || (f_l_op1 * ul_l_op2 != f_l_op1 * f_l_op2) || (f_l_op1 * f_l_op2 != f_l_op1 * d_l_op2) || (f_l_op1 * d_l_op2 != f_l_op1 * (float)m_l_op2) || (f_l_op1 * (float)m_l_op2 != f_l_op1 * i_l_op2) || (f_l_op1 * i_l_op2 != 21))
+ {
+ Console.WriteLine("testcase 17 failed");
+ passed = false;
+ }
+ if ((f_l_op1 * s_i_s_op2 != f_l_op1 * s_ui_s_op2) || (f_l_op1 * s_ui_s_op2 != f_l_op1 * s_l_s_op2) || (f_l_op1 * s_l_s_op2 != f_l_op1 * s_ul_s_op2) || (f_l_op1 * s_ul_s_op2 != f_l_op1 * s_f_s_op2) || (f_l_op1 * s_f_s_op2 != f_l_op1 * s_d_s_op2) || (f_l_op1 * s_d_s_op2 != f_l_op1 * (float)s_m_s_op2) || (f_l_op1 * (float)s_m_s_op2 != f_l_op1 * s_i_s_op2) || (f_l_op1 * s_i_s_op2 != 21))
+ {
+ Console.WriteLine("testcase 18 failed");
+ passed = false;
+ }
+ if ((s_f_s_op1 * i_l_op2 != s_f_s_op1 * ui_l_op2) || (s_f_s_op1 * ui_l_op2 != s_f_s_op1 * l_l_op2) || (s_f_s_op1 * l_l_op2 != s_f_s_op1 * ul_l_op2) || (s_f_s_op1 * ul_l_op2 != s_f_s_op1 * f_l_op2) || (s_f_s_op1 * f_l_op2 != s_f_s_op1 * d_l_op2) || (s_f_s_op1 * d_l_op2 != s_f_s_op1 * (float)m_l_op2) || (s_f_s_op1 * (float)m_l_op2 != s_f_s_op1 * i_l_op2) || (s_f_s_op1 * i_l_op2 != 21))
+ {
+ Console.WriteLine("testcase 19 failed");
+ passed = false;
+ }
+ if ((s_f_s_op1 * s_i_s_op2 != s_f_s_op1 * s_ui_s_op2) || (s_f_s_op1 * s_ui_s_op2 != s_f_s_op1 * s_l_s_op2) || (s_f_s_op1 * s_l_s_op2 != s_f_s_op1 * s_ul_s_op2) || (s_f_s_op1 * s_ul_s_op2 != s_f_s_op1 * s_f_s_op2) || (s_f_s_op1 * s_f_s_op2 != s_f_s_op1 * s_d_s_op2) || (s_f_s_op1 * s_d_s_op2 != s_f_s_op1 * (float)s_m_s_op2) || (s_f_s_op1 * (float)s_m_s_op2 != s_f_s_op1 * s_i_s_op2) || (s_f_s_op1 * s_i_s_op2 != 21))
+ {
+ Console.WriteLine("testcase 20 failed");
+ passed = false;
+ }
+ }
+
+ {
+ double d_l_op1 = 3;
+ int i_l_op2 = 7;
+ uint ui_l_op2 = 7;
+ long l_l_op2 = 7;
+ ulong ul_l_op2 = 7;
+ float f_l_op2 = 7;
+ double d_l_op2 = 7;
+ decimal m_l_op2 = 7;
+ numHolder nHldr_l_op2 = new numHolder(7);
+ if ((d_l_op1 * i_l_op2 != d_l_op1 * ui_l_op2) || (d_l_op1 * ui_l_op2 != d_l_op1 * l_l_op2) || (d_l_op1 * l_l_op2 != d_l_op1 * ul_l_op2) || (d_l_op1 * ul_l_op2 != d_l_op1 * f_l_op2) || (d_l_op1 * f_l_op2 != d_l_op1 * d_l_op2) || (d_l_op1 * d_l_op2 != d_l_op1 * (double)m_l_op2) || (d_l_op1 * (double)m_l_op2 != d_l_op1 * i_l_op2) || (d_l_op1 * i_l_op2 != 21))
+ {
+ Console.WriteLine("testcase 21 failed");
+ passed = false;
+ }
+ if ((d_l_op1 * s_i_s_op2 != d_l_op1 * s_ui_s_op2) || (d_l_op1 * s_ui_s_op2 != d_l_op1 * s_l_s_op2) || (d_l_op1 * s_l_s_op2 != d_l_op1 * s_ul_s_op2) || (d_l_op1 * s_ul_s_op2 != d_l_op1 * s_f_s_op2) || (d_l_op1 * s_f_s_op2 != d_l_op1 * s_d_s_op2) || (d_l_op1 * s_d_s_op2 != d_l_op1 * (double)s_m_s_op2) || (d_l_op1 * (double)s_m_s_op2 != d_l_op1 * s_i_s_op2) || (d_l_op1 * s_i_s_op2 != 21))
+ {
+ Console.WriteLine("testcase 22 failed");
+ passed = false;
+ }
+ if ((s_d_s_op1 * i_l_op2 != s_d_s_op1 * ui_l_op2) || (s_d_s_op1 * ui_l_op2 != s_d_s_op1 * l_l_op2) || (s_d_s_op1 * l_l_op2 != s_d_s_op1 * ul_l_op2) || (s_d_s_op1 * ul_l_op2 != s_d_s_op1 * f_l_op2) || (s_d_s_op1 * f_l_op2 != s_d_s_op1 * d_l_op2) || (s_d_s_op1 * d_l_op2 != s_d_s_op1 * (double)m_l_op2) || (s_d_s_op1 * (double)m_l_op2 != s_d_s_op1 * i_l_op2) || (s_d_s_op1 * i_l_op2 != 21))
+ {
+ Console.WriteLine("testcase 23 failed");
+ passed = false;
+ }
+ if ((s_d_s_op1 * s_i_s_op2 != s_d_s_op1 * s_ui_s_op2) || (s_d_s_op1 * s_ui_s_op2 != s_d_s_op1 * s_l_s_op2) || (s_d_s_op1 * s_l_s_op2 != s_d_s_op1 * s_ul_s_op2) || (s_d_s_op1 * s_ul_s_op2 != s_d_s_op1 * s_f_s_op2) || (s_d_s_op1 * s_f_s_op2 != s_d_s_op1 * s_d_s_op2) || (s_d_s_op1 * s_d_s_op2 != s_d_s_op1 * (double)s_m_s_op2) || (s_d_s_op1 * (double)s_m_s_op2 != s_d_s_op1 * s_i_s_op2) || (s_d_s_op1 * s_i_s_op2 != 21))
+ {
+ Console.WriteLine("testcase 24 failed");
+ passed = false;
+ }
+ }
+
+ {
+ decimal m_l_op1 = 3;
+ int i_l_op2 = 7;
+ uint ui_l_op2 = 7;
+ long l_l_op2 = 7;
+ ulong ul_l_op2 = 7;
+ float f_l_op2 = 7;
+ double d_l_op2 = 7;
+ decimal m_l_op2 = 7;
+ numHolder nHldr_l_op2 = new numHolder(7);
+ if ((m_l_op1 * i_l_op2 != m_l_op1 * ui_l_op2) || (m_l_op1 * ui_l_op2 != m_l_op1 * l_l_op2) || (m_l_op1 * l_l_op2 != m_l_op1 * ul_l_op2) || (m_l_op1 * ul_l_op2 != m_l_op1 * (decimal)f_l_op2) || (m_l_op1 * (decimal)f_l_op2 != m_l_op1 * (decimal)d_l_op2) || (m_l_op1 * (decimal)d_l_op2 != m_l_op1 * m_l_op2) || (m_l_op1 * m_l_op2 != m_l_op1 * i_l_op2) || (m_l_op1 * i_l_op2 != 21))
+ {
+ Console.WriteLine("testcase 25 failed");
+ passed = false;
+ }
+ if ((m_l_op1 * s_i_s_op2 != m_l_op1 * s_ui_s_op2) || (m_l_op1 * s_ui_s_op2 != m_l_op1 * s_l_s_op2) || (m_l_op1 * s_l_s_op2 != m_l_op1 * s_ul_s_op2) || (m_l_op1 * s_ul_s_op2 != m_l_op1 * (decimal)s_f_s_op2) || (m_l_op1 * (decimal)s_f_s_op2 != m_l_op1 * (decimal)s_d_s_op2) || (m_l_op1 * (decimal)s_d_s_op2 != m_l_op1 * s_m_s_op2) || (m_l_op1 * s_m_s_op2 != m_l_op1 * s_i_s_op2) || (m_l_op1 * s_i_s_op2 != 21))
+ {
+ Console.WriteLine("testcase 26 failed");
+ passed = false;
+ }
+ if ((s_m_s_op1 * i_l_op2 != s_m_s_op1 * ui_l_op2) || (s_m_s_op1 * ui_l_op2 != s_m_s_op1 * l_l_op2) || (s_m_s_op1 * l_l_op2 != s_m_s_op1 * ul_l_op2) || (s_m_s_op1 * ul_l_op2 != s_m_s_op1 * (decimal)f_l_op2) || (s_m_s_op1 * (decimal)f_l_op2 != s_m_s_op1 * (decimal)d_l_op2) || (s_m_s_op1 * (decimal)d_l_op2 != s_m_s_op1 * m_l_op2) || (s_m_s_op1 * m_l_op2 != s_m_s_op1 * i_l_op2) || (s_m_s_op1 * i_l_op2 != 21))
+ {
+ Console.WriteLine("testcase 27 failed");
+ passed = false;
+ }
+ if ((s_m_s_op1 * s_i_s_op2 != s_m_s_op1 * s_ui_s_op2) || (s_m_s_op1 * s_ui_s_op2 != s_m_s_op1 * s_l_s_op2) || (s_m_s_op1 * s_l_s_op2 != s_m_s_op1 * s_ul_s_op2) || (s_m_s_op1 * s_ul_s_op2 != s_m_s_op1 * (decimal)s_f_s_op2) || (s_m_s_op1 * (decimal)s_f_s_op2 != s_m_s_op1 * (decimal)s_d_s_op2) || (s_m_s_op1 * (decimal)s_d_s_op2 != s_m_s_op1 * s_m_s_op2) || (s_m_s_op1 * s_m_s_op2 != s_m_s_op1 * s_i_s_op2) || (s_m_s_op1 * s_i_s_op2 != 21))
+ {
+ Console.WriteLine("testcase 28 failed");
+ passed = false;
+ }
+ }
+
+ if (!passed)
+ {
+ Console.WriteLine("FAILED");
+ return 1;
+ }
+ else
+ {
+ Console.WriteLine("PASSED");
+ return 100;
+ }
+ }
+}
diff --git a/tests/src/JIT/Directed/coverage/oldtests/lclfldmul_cs_d.csproj b/tests/src/JIT/Directed/coverage/oldtests/lclfldmul_cs_d.csproj
new file mode 100644
index 0000000000..38bc0571d4
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/lclfldmul_cs_d.csproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{66387298-3248-499D-BBC1-908CABCDC93D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ <Optimize>False</Optimize>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="lclfldmul.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <PropertyGroup>
+ <ProjectJson>$(JitPackagesConfigFileDirectory)minimal\project.json</ProjectJson>
+ <ProjectLockJson>$(JitPackagesConfigFileDirectory)minimal\project.lock.json</ProjectLockJson>
+ </PropertyGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/lclfldmul_cs_do.csproj b/tests/src/JIT/Directed/coverage/oldtests/lclfldmul_cs_do.csproj
new file mode 100644
index 0000000000..4cd91ae181
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/lclfldmul_cs_do.csproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{682F6F7E-6292-4FEA-B9C5-B40FF34E961D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ <Optimize>True</Optimize>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="lclfldmul.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <PropertyGroup>
+ <ProjectJson>$(JitPackagesConfigFileDirectory)minimal\project.json</ProjectJson>
+ <ProjectLockJson>$(JitPackagesConfigFileDirectory)minimal\project.lock.json</ProjectLockJson>
+ </PropertyGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/lclfldmul_cs_r.csproj b/tests/src/JIT/Directed/coverage/oldtests/lclfldmul_cs_r.csproj
new file mode 100644
index 0000000000..9342bad37b
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/lclfldmul_cs_r.csproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{D2BEDF6D-C783-44FA-AADD-BC6227726261}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>None</DebugType>
+ <Optimize>False</Optimize>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="lclfldmul.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <PropertyGroup>
+ <ProjectJson>$(JitPackagesConfigFileDirectory)minimal\project.json</ProjectJson>
+ <ProjectLockJson>$(JitPackagesConfigFileDirectory)minimal\project.lock.json</ProjectLockJson>
+ </PropertyGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/lclfldmul_cs_ro.csproj b/tests/src/JIT/Directed/coverage/oldtests/lclfldmul_cs_ro.csproj
new file mode 100644
index 0000000000..ad1f948746
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/lclfldmul_cs_ro.csproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{A4C13469-BE68-490F-8B97-F8F0D94D7121}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>None</DebugType>
+ <Optimize>True</Optimize>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="lclfldmul.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <PropertyGroup>
+ <ProjectJson>$(JitPackagesConfigFileDirectory)minimal\project.json</ProjectJson>
+ <ProjectLockJson>$(JitPackagesConfigFileDirectory)minimal\project.lock.json</ProjectLockJson>
+ </PropertyGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/lclfldrem.cs b/tests/src/JIT/Directed/coverage/oldtests/lclfldrem.cs
new file mode 100644
index 0000000000..4b5bf03ea9
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/lclfldrem.cs
@@ -0,0 +1,559 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+//Testing simple math on local vars and fields - rem
+
+#pragma warning disable 0414
+using System;
+internal class lclfldrem
+{
+ //user-defined class that overloads operator %
+ public class numHolder
+ {
+ private int _i_num;
+ private uint _ui_num;
+ private long _l_num;
+ private ulong _ul_num;
+ private float _f_num;
+ private double _d_num;
+ private decimal _m_num;
+ public numHolder(int i_num)
+ {
+ _i_num = Convert.ToInt32(i_num);
+ _ui_num = Convert.ToUInt32(i_num);
+ _l_num = Convert.ToInt64(i_num);
+ _ul_num = Convert.ToUInt64(i_num);
+ _f_num = Convert.ToSingle(i_num);
+ _d_num = Convert.ToDouble(i_num);
+ _m_num = Convert.ToDecimal(i_num);
+ }
+
+ public static int operator %(numHolder a, int b)
+ {
+ return a._i_num % b;
+ }
+
+ public numHolder(uint ui_num)
+ {
+ _i_num = Convert.ToInt32(ui_num);
+ _ui_num = Convert.ToUInt32(ui_num);
+ _l_num = Convert.ToInt64(ui_num);
+ _ul_num = Convert.ToUInt64(ui_num);
+ _f_num = Convert.ToSingle(ui_num);
+ _d_num = Convert.ToDouble(ui_num);
+ _m_num = Convert.ToDecimal(ui_num);
+ }
+
+ public static uint operator %(numHolder a, uint b)
+ {
+ return a._ui_num % b;
+ }
+
+ public numHolder(long l_num)
+ {
+ _i_num = Convert.ToInt32(l_num);
+ _ui_num = Convert.ToUInt32(l_num);
+ _l_num = Convert.ToInt64(l_num);
+ _ul_num = Convert.ToUInt64(l_num);
+ _f_num = Convert.ToSingle(l_num);
+ _d_num = Convert.ToDouble(l_num);
+ _m_num = Convert.ToDecimal(l_num);
+ }
+
+ public static long operator %(numHolder a, long b)
+ {
+ return a._l_num % b;
+ }
+
+ public numHolder(ulong ul_num)
+ {
+ _i_num = Convert.ToInt32(ul_num);
+ _ui_num = Convert.ToUInt32(ul_num);
+ _l_num = Convert.ToInt64(ul_num);
+ _ul_num = Convert.ToUInt64(ul_num);
+ _f_num = Convert.ToSingle(ul_num);
+ _d_num = Convert.ToDouble(ul_num);
+ _m_num = Convert.ToDecimal(ul_num);
+ }
+
+ public static long operator %(numHolder a, ulong b)
+ {
+ return (long)(a._ul_num % b);
+ }
+
+ public numHolder(float f_num)
+ {
+ _i_num = Convert.ToInt32(f_num);
+ _ui_num = Convert.ToUInt32(f_num);
+ _l_num = Convert.ToInt64(f_num);
+ _ul_num = Convert.ToUInt64(f_num);
+ _f_num = Convert.ToSingle(f_num);
+ _d_num = Convert.ToDouble(f_num);
+ _m_num = Convert.ToDecimal(f_num);
+ }
+
+ public static float operator %(numHolder a, float b)
+ {
+ return a._f_num % b;
+ }
+
+ public numHolder(double d_num)
+ {
+ _i_num = Convert.ToInt32(d_num);
+ _ui_num = Convert.ToUInt32(d_num);
+ _l_num = Convert.ToInt64(d_num);
+ _ul_num = Convert.ToUInt64(d_num);
+ _f_num = Convert.ToSingle(d_num);
+ _d_num = Convert.ToDouble(d_num);
+ _m_num = Convert.ToDecimal(d_num);
+ }
+
+ public static double operator %(numHolder a, double b)
+ {
+ return a._d_num % b;
+ }
+
+ public numHolder(decimal m_num)
+ {
+ _i_num = Convert.ToInt32(m_num);
+ _ui_num = Convert.ToUInt32(m_num);
+ _l_num = Convert.ToInt64(m_num);
+ _ul_num = Convert.ToUInt64(m_num);
+ _f_num = Convert.ToSingle(m_num);
+ _d_num = Convert.ToDouble(m_num);
+ _m_num = Convert.ToDecimal(m_num);
+ }
+
+ public static int operator %(numHolder a, decimal b)
+ {
+ return (int)(a._m_num % b);
+ }
+
+ public static int operator %(numHolder a, numHolder b)
+ {
+ return a._i_num % b._i_num;
+ }
+ }
+
+ private static int s_i_s_op1 = 9;
+ private static uint s_ui_s_op1 = 9;
+ private static long s_l_s_op1 = 9;
+ private static ulong s_ul_s_op1 = 9;
+ private static float s_f_s_op1 = 9;
+ private static double s_d_s_op1 = 9;
+ private static decimal s_m_s_op1 = 9;
+
+ private static int s_i_s_op2 = 5;
+ private static uint s_ui_s_op2 = 5;
+ private static long s_l_s_op2 = 5;
+ private static ulong s_ul_s_op2 = 5;
+ private static float s_f_s_op2 = 5;
+ private static double s_d_s_op2 = 5;
+ private static decimal s_m_s_op2 = 5;
+ private static numHolder s_nHldr_s_op2 = new numHolder(5);
+
+ public static int i_f(String s)
+ {
+ if (s == "op1")
+ return 9;
+ else
+ return 5;
+ }
+ public static uint ui_f(String s)
+ {
+ if (s == "op1")
+ return 9;
+ else
+ return 5;
+ }
+ public static long l_f(String s)
+ {
+ if (s == "op1")
+ return 9;
+ else
+ return 5;
+ }
+ public static ulong ul_f(String s)
+ {
+ if (s == "op1")
+ return 9;
+ else
+ return 5;
+ }
+ public static float f_f(String s)
+ {
+ if (s == "op1")
+ return 9;
+ else
+ return 5;
+ }
+ public static double d_f(String s)
+ {
+ if (s == "op1")
+ return 9;
+ else
+ return 5;
+ }
+ public static decimal m_f(String s)
+ {
+ if (s == "op1")
+ return 9;
+ else
+ return 5;
+ }
+ public static numHolder nHldr_f(String s)
+ {
+ if (s == "op1")
+ return new numHolder(9);
+ else
+ return new numHolder(5);
+ }
+ private class CL
+ {
+ public int i_cl_op1 = 9;
+ public uint ui_cl_op1 = 9;
+ public long l_cl_op1 = 9;
+ public ulong ul_cl_op1 = 9;
+ public float f_cl_op1 = 9;
+ public double d_cl_op1 = 9;
+ public decimal m_cl_op1 = 9;
+
+ public int i_cl_op2 = 5;
+ public uint ui_cl_op2 = 5;
+ public long l_cl_op2 = 5;
+ public ulong ul_cl_op2 = 5;
+ public float f_cl_op2 = 5;
+ public double d_cl_op2 = 5;
+ public decimal m_cl_op2 = 5;
+ public numHolder nHldr_cl_op2 = new numHolder(5);
+ }
+
+ private struct VT
+ {
+ public int i_vt_op1;
+ public uint ui_vt_op1;
+ public long l_vt_op1;
+ public ulong ul_vt_op1;
+ public float f_vt_op1;
+ public double d_vt_op1;
+ public decimal m_vt_op1;
+
+ public int i_vt_op2;
+ public uint ui_vt_op2;
+ public long l_vt_op2;
+ public ulong ul_vt_op2;
+ public float f_vt_op2;
+ public double d_vt_op2;
+ public decimal m_vt_op2;
+ public numHolder nHldr_vt_op2;
+ }
+
+ public static int Main()
+ {
+ bool passed = true;
+ //initialize class
+ CL cl1 = new CL();
+ //initialize struct
+ VT vt1;
+ vt1.i_vt_op1 = 9;
+ vt1.ui_vt_op1 = 9;
+ vt1.l_vt_op1 = 9;
+ vt1.ul_vt_op1 = 9;
+ vt1.f_vt_op1 = 9;
+ vt1.d_vt_op1 = 9;
+ vt1.m_vt_op1 = 9;
+ vt1.i_vt_op2 = 5;
+ vt1.ui_vt_op2 = 5;
+ vt1.l_vt_op2 = 5;
+ vt1.ul_vt_op2 = 5;
+ vt1.f_vt_op2 = 5;
+ vt1.d_vt_op2 = 5;
+ vt1.m_vt_op2 = 5;
+ vt1.nHldr_vt_op2 = new numHolder(5);
+
+ int[] i_arr1d_op1 = { 0, 9 };
+ int[,] i_arr2d_op1 = { { 0, 9 }, { 1, 1 } };
+ int[,,] i_arr3d_op1 = { { { 0, 9 }, { 1, 1 } } };
+ uint[] ui_arr1d_op1 = { 0, 9 };
+ uint[,] ui_arr2d_op1 = { { 0, 9 }, { 1, 1 } };
+ uint[,,] ui_arr3d_op1 = { { { 0, 9 }, { 1, 1 } } };
+ long[] l_arr1d_op1 = { 0, 9 };
+ long[,] l_arr2d_op1 = { { 0, 9 }, { 1, 1 } };
+ long[,,] l_arr3d_op1 = { { { 0, 9 }, { 1, 1 } } };
+ ulong[] ul_arr1d_op1 = { 0, 9 };
+ ulong[,] ul_arr2d_op1 = { { 0, 9 }, { 1, 1 } };
+ ulong[,,] ul_arr3d_op1 = { { { 0, 9 }, { 1, 1 } } };
+ float[] f_arr1d_op1 = { 0, 9 };
+ float[,] f_arr2d_op1 = { { 0, 9 }, { 1, 1 } };
+ float[,,] f_arr3d_op1 = { { { 0, 9 }, { 1, 1 } } };
+ double[] d_arr1d_op1 = { 0, 9 };
+ double[,] d_arr2d_op1 = { { 0, 9 }, { 1, 1 } };
+ double[,,] d_arr3d_op1 = { { { 0, 9 }, { 1, 1 } } };
+ decimal[] m_arr1d_op1 = { 0, 9 };
+ decimal[,] m_arr2d_op1 = { { 0, 9 }, { 1, 1 } };
+ decimal[,,] m_arr3d_op1 = { { { 0, 9 }, { 1, 1 } } };
+
+ int[] i_arr1d_op2 = { 5, 0, 1 };
+ int[,] i_arr2d_op2 = { { 0, 5 }, { 1, 1 } };
+ int[,,] i_arr3d_op2 = { { { 0, 5 }, { 1, 1 } } };
+ uint[] ui_arr1d_op2 = { 5, 0, 1 };
+ uint[,] ui_arr2d_op2 = { { 0, 5 }, { 1, 1 } };
+ uint[,,] ui_arr3d_op2 = { { { 0, 5 }, { 1, 1 } } };
+ long[] l_arr1d_op2 = { 5, 0, 1 };
+ long[,] l_arr2d_op2 = { { 0, 5 }, { 1, 1 } };
+ long[,,] l_arr3d_op2 = { { { 0, 5 }, { 1, 1 } } };
+ ulong[] ul_arr1d_op2 = { 5, 0, 1 };
+ ulong[,] ul_arr2d_op2 = { { 0, 5 }, { 1, 1 } };
+ ulong[,,] ul_arr3d_op2 = { { { 0, 5 }, { 1, 1 } } };
+ float[] f_arr1d_op2 = { 5, 0, 1 };
+ float[,] f_arr2d_op2 = { { 0, 5 }, { 1, 1 } };
+ float[,,] f_arr3d_op2 = { { { 0, 5 }, { 1, 1 } } };
+ double[] d_arr1d_op2 = { 5, 0, 1 };
+ double[,] d_arr2d_op2 = { { 0, 5 }, { 1, 1 } };
+ double[,,] d_arr3d_op2 = { { { 0, 5 }, { 1, 1 } } };
+ decimal[] m_arr1d_op2 = { 5, 0, 1 };
+ decimal[,] m_arr2d_op2 = { { 0, 5 }, { 1, 1 } };
+ decimal[,,] m_arr3d_op2 = { { { 0, 5 }, { 1, 1 } } };
+ numHolder[] nHldr_arr1d_op2 = { new numHolder(5), new numHolder(0), new numHolder(1) };
+ numHolder[,] nHldr_arr2d_op2 = { { new numHolder(0), new numHolder(5) }, { new numHolder(1), new numHolder(1) } };
+ numHolder[,,] nHldr_arr3d_op2 = { { { new numHolder(0), new numHolder(5) }, { new numHolder(1), new numHolder(1) } } };
+
+ int[,] index = { { 0, 0 }, { 1, 1 } };
+
+ {
+ int i_l_op1 = 9;
+ int i_l_op2 = 5;
+ uint ui_l_op2 = 5;
+ long l_l_op2 = 5;
+ ulong ul_l_op2 = 5;
+ float f_l_op2 = 5;
+ double d_l_op2 = 5;
+ decimal m_l_op2 = 5;
+ numHolder nHldr_l_op2 = new numHolder(5);
+ if ((i_l_op1 % i_l_op2 != i_l_op1 % ui_l_op2) || (i_l_op1 % ui_l_op2 != i_l_op1 % l_l_op2) || (i_l_op1 % l_l_op2 != i_l_op1 % (int)ul_l_op2) || (i_l_op1 % (int)ul_l_op2 != i_l_op1 % f_l_op2) || (i_l_op1 % f_l_op2 != i_l_op1 % d_l_op2) || ((decimal)(i_l_op1 % d_l_op2) != i_l_op1 % m_l_op2) || (i_l_op1 % m_l_op2 != i_l_op1 % i_l_op2) || (i_l_op1 % i_l_op2 != 4))
+ {
+ Console.WriteLine("testcase 1 failed");
+ passed = false;
+ }
+ if ((i_l_op1 % s_i_s_op2 != i_l_op1 % s_ui_s_op2) || (i_l_op1 % s_ui_s_op2 != i_l_op1 % s_l_s_op2) || (i_l_op1 % s_l_s_op2 != i_l_op1 % (int)s_ul_s_op2) || (i_l_op1 % (int)s_ul_s_op2 != i_l_op1 % s_f_s_op2) || (i_l_op1 % s_f_s_op2 != i_l_op1 % s_d_s_op2) || ((decimal)(i_l_op1 % s_d_s_op2) != i_l_op1 % s_m_s_op2) || (i_l_op1 % s_m_s_op2 != i_l_op1 % s_i_s_op2) || (i_l_op1 % s_i_s_op2 != 4))
+ {
+ Console.WriteLine("testcase 2 failed");
+ passed = false;
+ }
+ if ((s_i_s_op1 % i_l_op2 != s_i_s_op1 % ui_l_op2) || (s_i_s_op1 % ui_l_op2 != s_i_s_op1 % l_l_op2) || (s_i_s_op1 % l_l_op2 != s_i_s_op1 % (int)ul_l_op2) || (s_i_s_op1 % (int)ul_l_op2 != s_i_s_op1 % f_l_op2) || (s_i_s_op1 % f_l_op2 != s_i_s_op1 % d_l_op2) || ((decimal)(s_i_s_op1 % d_l_op2) != s_i_s_op1 % m_l_op2) || (s_i_s_op1 % m_l_op2 != s_i_s_op1 % i_l_op2) || (s_i_s_op1 % i_l_op2 != 4))
+ {
+ Console.WriteLine("testcase 3 failed");
+ passed = false;
+ }
+ if ((s_i_s_op1 % s_i_s_op2 != s_i_s_op1 % s_ui_s_op2) || (s_i_s_op1 % s_ui_s_op2 != s_i_s_op1 % s_l_s_op2) || (s_i_s_op1 % s_l_s_op2 != s_i_s_op1 % (int)s_ul_s_op2) || (s_i_s_op1 % (int)s_ul_s_op2 != s_i_s_op1 % s_f_s_op2) || (s_i_s_op1 % s_f_s_op2 != s_i_s_op1 % s_d_s_op2) || ((decimal)(s_i_s_op1 % s_d_s_op2) != s_i_s_op1 % s_m_s_op2) || (s_i_s_op1 % s_m_s_op2 != s_i_s_op1 % s_i_s_op2) || (s_i_s_op1 % s_i_s_op2 != 4))
+ {
+ Console.WriteLine("testcase 4 failed");
+ passed = false;
+ }
+ }
+
+ {
+ uint ui_l_op1 = 9;
+ int i_l_op2 = 5;
+ uint ui_l_op2 = 5;
+ long l_l_op2 = 5;
+ ulong ul_l_op2 = 5;
+ float f_l_op2 = 5;
+ double d_l_op2 = 5;
+ decimal m_l_op2 = 5;
+ numHolder nHldr_l_op2 = new numHolder(5);
+ if ((ui_l_op1 % i_l_op2 != ui_l_op1 % ui_l_op2) || (ui_l_op1 % ui_l_op2 != ui_l_op1 % l_l_op2) || ((ulong)(ui_l_op1 % l_l_op2) != ui_l_op1 % ul_l_op2) || (ui_l_op1 % ul_l_op2 != ui_l_op1 % f_l_op2) || (ui_l_op1 % f_l_op2 != ui_l_op1 % d_l_op2) || ((decimal)(ui_l_op1 % d_l_op2) != ui_l_op1 % m_l_op2) || (ui_l_op1 % m_l_op2 != ui_l_op1 % i_l_op2) || (ui_l_op1 % i_l_op2 != 4))
+ {
+ Console.WriteLine("testcase 5 failed");
+ passed = false;
+ }
+ if ((ui_l_op1 % s_i_s_op2 != ui_l_op1 % s_ui_s_op2) || (ui_l_op1 % s_ui_s_op2 != ui_l_op1 % s_l_s_op2) || ((ulong)(ui_l_op1 % s_l_s_op2) != ui_l_op1 % s_ul_s_op2) || (ui_l_op1 % s_ul_s_op2 != ui_l_op1 % s_f_s_op2) || (ui_l_op1 % s_f_s_op2 != ui_l_op1 % s_d_s_op2) || ((decimal)(ui_l_op1 % s_d_s_op2) != ui_l_op1 % s_m_s_op2) || (ui_l_op1 % s_m_s_op2 != ui_l_op1 % s_i_s_op2) || (ui_l_op1 % s_i_s_op2 != 4))
+ {
+ Console.WriteLine("testcase 6 failed");
+ passed = false;
+ }
+ if ((s_ui_s_op1 % i_l_op2 != s_ui_s_op1 % ui_l_op2) || (s_ui_s_op1 % ui_l_op2 != s_ui_s_op1 % l_l_op2) || ((ulong)(s_ui_s_op1 % l_l_op2) != s_ui_s_op1 % ul_l_op2) || (s_ui_s_op1 % ul_l_op2 != s_ui_s_op1 % f_l_op2) || (s_ui_s_op1 % f_l_op2 != s_ui_s_op1 % d_l_op2) || ((decimal)(s_ui_s_op1 % d_l_op2) != s_ui_s_op1 % m_l_op2) || (s_ui_s_op1 % m_l_op2 != s_ui_s_op1 % i_l_op2) || (s_ui_s_op1 % i_l_op2 != 4))
+ {
+ Console.WriteLine("testcase 7 failed");
+ passed = false;
+ }
+ if ((s_ui_s_op1 % s_i_s_op2 != s_ui_s_op1 % s_ui_s_op2) || (s_ui_s_op1 % s_ui_s_op2 != s_ui_s_op1 % s_l_s_op2) || ((ulong)(s_ui_s_op1 % s_l_s_op2) != s_ui_s_op1 % s_ul_s_op2) || (s_ui_s_op1 % s_ul_s_op2 != s_ui_s_op1 % s_f_s_op2) || (s_ui_s_op1 % s_f_s_op2 != s_ui_s_op1 % s_d_s_op2) || ((decimal)(s_ui_s_op1 % s_d_s_op2) != s_ui_s_op1 % s_m_s_op2) || (s_ui_s_op1 % s_m_s_op2 != s_ui_s_op1 % s_i_s_op2) || (s_ui_s_op1 % s_i_s_op2 != 4))
+ {
+ Console.WriteLine("testcase 8 failed");
+ passed = false;
+ }
+ }
+
+ {
+ long l_l_op1 = 9;
+ int i_l_op2 = 5;
+ uint ui_l_op2 = 5;
+ long l_l_op2 = 5;
+ ulong ul_l_op2 = 5;
+ float f_l_op2 = 5;
+ double d_l_op2 = 5;
+ decimal m_l_op2 = 5;
+ numHolder nHldr_l_op2 = new numHolder(5);
+ if ((l_l_op1 % i_l_op2 != l_l_op1 % ui_l_op2) || (l_l_op1 % ui_l_op2 != l_l_op1 % l_l_op2) || (l_l_op1 % l_l_op2 != l_l_op1 % (long)ul_l_op2) || (l_l_op1 % (long)ul_l_op2 != l_l_op1 % f_l_op2) || (l_l_op1 % f_l_op2 != l_l_op1 % d_l_op2) || ((decimal)(l_l_op1 % d_l_op2) != l_l_op1 % m_l_op2) || (l_l_op1 % m_l_op2 != l_l_op1 % i_l_op2) || (l_l_op1 % i_l_op2 != 4))
+ {
+ Console.WriteLine("testcase 9 failed");
+ passed = false;
+ }
+ if ((l_l_op1 % s_i_s_op2 != l_l_op1 % s_ui_s_op2) || (l_l_op1 % s_ui_s_op2 != l_l_op1 % s_l_s_op2) || (l_l_op1 % s_l_s_op2 != l_l_op1 % (long)s_ul_s_op2) || (l_l_op1 % (long)s_ul_s_op2 != l_l_op1 % s_f_s_op2) || (l_l_op1 % s_f_s_op2 != l_l_op1 % s_d_s_op2) || ((decimal)(l_l_op1 % s_d_s_op2) != l_l_op1 % s_m_s_op2) || (l_l_op1 % s_m_s_op2 != l_l_op1 % s_i_s_op2) || (l_l_op1 % s_i_s_op2 != 4))
+ {
+ Console.WriteLine("testcase 10 failed");
+ passed = false;
+ }
+ if ((s_l_s_op1 % i_l_op2 != s_l_s_op1 % ui_l_op2) || (s_l_s_op1 % ui_l_op2 != s_l_s_op1 % l_l_op2) || (s_l_s_op1 % l_l_op2 != s_l_s_op1 % (long)ul_l_op2) || (s_l_s_op1 % (long)ul_l_op2 != s_l_s_op1 % f_l_op2) || (s_l_s_op1 % f_l_op2 != s_l_s_op1 % d_l_op2) || ((decimal)(s_l_s_op1 % d_l_op2) != s_l_s_op1 % m_l_op2) || (s_l_s_op1 % m_l_op2 != s_l_s_op1 % i_l_op2) || (s_l_s_op1 % i_l_op2 != 4))
+ {
+ Console.WriteLine("testcase 11 failed");
+ passed = false;
+ }
+ if ((s_l_s_op1 % s_i_s_op2 != s_l_s_op1 % s_ui_s_op2) || (s_l_s_op1 % s_ui_s_op2 != s_l_s_op1 % s_l_s_op2) || (s_l_s_op1 % s_l_s_op2 != s_l_s_op1 % (long)s_ul_s_op2) || (s_l_s_op1 % (long)s_ul_s_op2 != s_l_s_op1 % s_f_s_op2) || (s_l_s_op1 % s_f_s_op2 != s_l_s_op1 % s_d_s_op2) || ((decimal)(s_l_s_op1 % s_d_s_op2) != s_l_s_op1 % s_m_s_op2) || (s_l_s_op1 % s_m_s_op2 != s_l_s_op1 % s_i_s_op2) || (s_l_s_op1 % s_i_s_op2 != 4))
+ {
+ Console.WriteLine("testcase 12 failed");
+ passed = false;
+ }
+ }
+
+ {
+ ulong ul_l_op1 = 9;
+ int i_l_op2 = 5;
+ uint ui_l_op2 = 5;
+ long l_l_op2 = 5;
+ ulong ul_l_op2 = 5;
+ float f_l_op2 = 5;
+ double d_l_op2 = 5;
+ decimal m_l_op2 = 5;
+ numHolder nHldr_l_op2 = new numHolder(5);
+ if ((ul_l_op1 % (ulong)i_l_op2 != ul_l_op1 % ui_l_op2) || (ul_l_op1 % ui_l_op2 != ul_l_op1 % (ulong)l_l_op2) || (ul_l_op1 % (ulong)l_l_op2 != ul_l_op1 % ul_l_op2) || (ul_l_op1 % ul_l_op2 != ul_l_op1 % f_l_op2) || (ul_l_op1 % f_l_op2 != ul_l_op1 % d_l_op2) || ((decimal)(ul_l_op1 % d_l_op2) != ul_l_op1 % m_l_op2) || (ul_l_op1 % m_l_op2 != ul_l_op1 % (ulong)i_l_op2) || (ul_l_op1 % (ulong)i_l_op2 != 4))
+ {
+ Console.WriteLine("testcase 13 failed");
+ passed = false;
+ }
+ if ((ul_l_op1 % (ulong)s_i_s_op2 != ul_l_op1 % s_ui_s_op2) || (ul_l_op1 % s_ui_s_op2 != ul_l_op1 % (ulong)s_l_s_op2) || (ul_l_op1 % (ulong)s_l_s_op2 != ul_l_op1 % s_ul_s_op2) || (ul_l_op1 % s_ul_s_op2 != ul_l_op1 % s_f_s_op2) || (ul_l_op1 % s_f_s_op2 != ul_l_op1 % s_d_s_op2) || ((decimal)(ul_l_op1 % s_d_s_op2) != ul_l_op1 % s_m_s_op2) || (ul_l_op1 % s_m_s_op2 != ul_l_op1 % (ulong)s_i_s_op2) || (ul_l_op1 % (ulong)s_i_s_op2 != 4))
+ {
+ Console.WriteLine("testcase 14 failed");
+ passed = false;
+ }
+ if ((s_ul_s_op1 % (ulong)i_l_op2 != s_ul_s_op1 % ui_l_op2) || (s_ul_s_op1 % ui_l_op2 != s_ul_s_op1 % (ulong)l_l_op2) || (s_ul_s_op1 % (ulong)l_l_op2 != s_ul_s_op1 % ul_l_op2) || (s_ul_s_op1 % ul_l_op2 != s_ul_s_op1 % f_l_op2) || (s_ul_s_op1 % f_l_op2 != s_ul_s_op1 % d_l_op2) || ((decimal)(s_ul_s_op1 % d_l_op2) != s_ul_s_op1 % m_l_op2) || (s_ul_s_op1 % m_l_op2 != s_ul_s_op1 % (ulong)i_l_op2) || (s_ul_s_op1 % (ulong)i_l_op2 != 4))
+ {
+ Console.WriteLine("testcase 15 failed");
+ passed = false;
+ }
+ if ((s_ul_s_op1 % (ulong)s_i_s_op2 != s_ul_s_op1 % s_ui_s_op2) || (s_ul_s_op1 % s_ui_s_op2 != s_ul_s_op1 % (ulong)s_l_s_op2) || (s_ul_s_op1 % (ulong)s_l_s_op2 != s_ul_s_op1 % s_ul_s_op2) || (s_ul_s_op1 % s_ul_s_op2 != s_ul_s_op1 % s_f_s_op2) || (s_ul_s_op1 % s_f_s_op2 != s_ul_s_op1 % s_d_s_op2) || ((decimal)(s_ul_s_op1 % s_d_s_op2) != s_ul_s_op1 % s_m_s_op2) || (s_ul_s_op1 % s_m_s_op2 != s_ul_s_op1 % (ulong)s_i_s_op2) || (s_ul_s_op1 % (ulong)s_i_s_op2 != 4))
+ {
+ Console.WriteLine("testcase 16 failed");
+ passed = false;
+ }
+ }
+
+ {
+ float f_l_op1 = 9;
+ int i_l_op2 = 5;
+ uint ui_l_op2 = 5;
+ long l_l_op2 = 5;
+ ulong ul_l_op2 = 5;
+ float f_l_op2 = 5;
+ double d_l_op2 = 5;
+ decimal m_l_op2 = 5;
+ numHolder nHldr_l_op2 = new numHolder(5);
+ if ((f_l_op1 % i_l_op2 != f_l_op1 % ui_l_op2) || (f_l_op1 % ui_l_op2 != f_l_op1 % l_l_op2) || (f_l_op1 % l_l_op2 != f_l_op1 % ul_l_op2) || (f_l_op1 % ul_l_op2 != f_l_op1 % f_l_op2) || (f_l_op1 % f_l_op2 != f_l_op1 % d_l_op2) || (f_l_op1 % d_l_op2 != f_l_op1 % (float)m_l_op2) || (f_l_op1 % (float)m_l_op2 != f_l_op1 % i_l_op2) || (f_l_op1 % i_l_op2 != 4))
+ {
+ Console.WriteLine("testcase 17 failed");
+ passed = false;
+ }
+ if ((f_l_op1 % s_i_s_op2 != f_l_op1 % s_ui_s_op2) || (f_l_op1 % s_ui_s_op2 != f_l_op1 % s_l_s_op2) || (f_l_op1 % s_l_s_op2 != f_l_op1 % s_ul_s_op2) || (f_l_op1 % s_ul_s_op2 != f_l_op1 % s_f_s_op2) || (f_l_op1 % s_f_s_op2 != f_l_op1 % s_d_s_op2) || (f_l_op1 % s_d_s_op2 != f_l_op1 % (float)s_m_s_op2) || (f_l_op1 % (float)s_m_s_op2 != f_l_op1 % s_i_s_op2) || (f_l_op1 % s_i_s_op2 != 4))
+ {
+ Console.WriteLine("testcase 18 failed");
+ passed = false;
+ }
+ if ((s_f_s_op1 % i_l_op2 != s_f_s_op1 % ui_l_op2) || (s_f_s_op1 % ui_l_op2 != s_f_s_op1 % l_l_op2) || (s_f_s_op1 % l_l_op2 != s_f_s_op1 % ul_l_op2) || (s_f_s_op1 % ul_l_op2 != s_f_s_op1 % f_l_op2) || (s_f_s_op1 % f_l_op2 != s_f_s_op1 % d_l_op2) || (s_f_s_op1 % d_l_op2 != s_f_s_op1 % (float)m_l_op2) || (s_f_s_op1 % (float)m_l_op2 != s_f_s_op1 % i_l_op2) || (s_f_s_op1 % i_l_op2 != 4))
+ {
+ Console.WriteLine("testcase 19 failed");
+ passed = false;
+ }
+ if ((s_f_s_op1 % s_i_s_op2 != s_f_s_op1 % s_ui_s_op2) || (s_f_s_op1 % s_ui_s_op2 != s_f_s_op1 % s_l_s_op2) || (s_f_s_op1 % s_l_s_op2 != s_f_s_op1 % s_ul_s_op2) || (s_f_s_op1 % s_ul_s_op2 != s_f_s_op1 % s_f_s_op2) || (s_f_s_op1 % s_f_s_op2 != s_f_s_op1 % s_d_s_op2) || (s_f_s_op1 % s_d_s_op2 != s_f_s_op1 % (float)s_m_s_op2) || (s_f_s_op1 % (float)s_m_s_op2 != s_f_s_op1 % s_i_s_op2) || (s_f_s_op1 % s_i_s_op2 != 4))
+ {
+ Console.WriteLine("testcase 20 failed");
+ passed = false;
+ }
+ }
+
+ {
+ double d_l_op1 = 9;
+ int i_l_op2 = 5;
+ uint ui_l_op2 = 5;
+ long l_l_op2 = 5;
+ ulong ul_l_op2 = 5;
+ float f_l_op2 = 5;
+ double d_l_op2 = 5;
+ decimal m_l_op2 = 5;
+ numHolder nHldr_l_op2 = new numHolder(5);
+ if ((d_l_op1 % i_l_op2 != d_l_op1 % ui_l_op2) || (d_l_op1 % ui_l_op2 != d_l_op1 % l_l_op2) || (d_l_op1 % l_l_op2 != d_l_op1 % ul_l_op2) || (d_l_op1 % ul_l_op2 != d_l_op1 % f_l_op2) || (d_l_op1 % f_l_op2 != d_l_op1 % d_l_op2) || (d_l_op1 % d_l_op2 != d_l_op1 % (double)m_l_op2) || (d_l_op1 % (double)m_l_op2 != d_l_op1 % i_l_op2) || (d_l_op1 % i_l_op2 != 4))
+ {
+ Console.WriteLine("testcase 21 failed");
+ passed = false;
+ }
+ if ((d_l_op1 % s_i_s_op2 != d_l_op1 % s_ui_s_op2) || (d_l_op1 % s_ui_s_op2 != d_l_op1 % s_l_s_op2) || (d_l_op1 % s_l_s_op2 != d_l_op1 % s_ul_s_op2) || (d_l_op1 % s_ul_s_op2 != d_l_op1 % s_f_s_op2) || (d_l_op1 % s_f_s_op2 != d_l_op1 % s_d_s_op2) || (d_l_op1 % s_d_s_op2 != d_l_op1 % (double)s_m_s_op2) || (d_l_op1 % (double)s_m_s_op2 != d_l_op1 % s_i_s_op2) || (d_l_op1 % s_i_s_op2 != 4))
+ {
+ Console.WriteLine("testcase 22 failed");
+ passed = false;
+ }
+ if ((s_d_s_op1 % i_l_op2 != s_d_s_op1 % ui_l_op2) || (s_d_s_op1 % ui_l_op2 != s_d_s_op1 % l_l_op2) || (s_d_s_op1 % l_l_op2 != s_d_s_op1 % ul_l_op2) || (s_d_s_op1 % ul_l_op2 != s_d_s_op1 % f_l_op2) || (s_d_s_op1 % f_l_op2 != s_d_s_op1 % d_l_op2) || (s_d_s_op1 % d_l_op2 != s_d_s_op1 % (double)m_l_op2) || (s_d_s_op1 % (double)m_l_op2 != s_d_s_op1 % i_l_op2) || (s_d_s_op1 % i_l_op2 != 4))
+ {
+ Console.WriteLine("testcase 23 failed");
+ passed = false;
+ }
+ if ((s_d_s_op1 % s_i_s_op2 != s_d_s_op1 % s_ui_s_op2) || (s_d_s_op1 % s_ui_s_op2 != s_d_s_op1 % s_l_s_op2) || (s_d_s_op1 % s_l_s_op2 != s_d_s_op1 % s_ul_s_op2) || (s_d_s_op1 % s_ul_s_op2 != s_d_s_op1 % s_f_s_op2) || (s_d_s_op1 % s_f_s_op2 != s_d_s_op1 % s_d_s_op2) || (s_d_s_op1 % s_d_s_op2 != s_d_s_op1 % (double)s_m_s_op2) || (s_d_s_op1 % (double)s_m_s_op2 != s_d_s_op1 % s_i_s_op2) || (s_d_s_op1 % s_i_s_op2 != 4))
+ {
+ Console.WriteLine("testcase 24 failed");
+ passed = false;
+ }
+ }
+
+ {
+ decimal m_l_op1 = 9;
+ int i_l_op2 = 5;
+ uint ui_l_op2 = 5;
+ long l_l_op2 = 5;
+ ulong ul_l_op2 = 5;
+ float f_l_op2 = 5;
+ double d_l_op2 = 5;
+ decimal m_l_op2 = 5;
+ numHolder nHldr_l_op2 = new numHolder(5);
+ if ((m_l_op1 % i_l_op2 != m_l_op1 % ui_l_op2) || (m_l_op1 % ui_l_op2 != m_l_op1 % l_l_op2) || (m_l_op1 % l_l_op2 != m_l_op1 % ul_l_op2) || (m_l_op1 % ul_l_op2 != m_l_op1 % (decimal)f_l_op2) || (m_l_op1 % (decimal)f_l_op2 != m_l_op1 % (decimal)d_l_op2) || (m_l_op1 % (decimal)d_l_op2 != m_l_op1 % m_l_op2) || (m_l_op1 % m_l_op2 != m_l_op1 % i_l_op2) || (m_l_op1 % i_l_op2 != 4))
+ {
+ Console.WriteLine("testcase 25 failed");
+ passed = false;
+ }
+ if ((m_l_op1 % s_i_s_op2 != m_l_op1 % s_ui_s_op2) || (m_l_op1 % s_ui_s_op2 != m_l_op1 % s_l_s_op2) || (m_l_op1 % s_l_s_op2 != m_l_op1 % s_ul_s_op2) || (m_l_op1 % s_ul_s_op2 != m_l_op1 % (decimal)s_f_s_op2) || (m_l_op1 % (decimal)s_f_s_op2 != m_l_op1 % (decimal)s_d_s_op2) || (m_l_op1 % (decimal)s_d_s_op2 != m_l_op1 % s_m_s_op2) || (m_l_op1 % s_m_s_op2 != m_l_op1 % s_i_s_op2) || (m_l_op1 % s_i_s_op2 != 4))
+ {
+ Console.WriteLine("testcase 26 failed");
+ passed = false;
+ }
+ if ((s_m_s_op1 % i_l_op2 != s_m_s_op1 % ui_l_op2) || (s_m_s_op1 % ui_l_op2 != s_m_s_op1 % l_l_op2) || (s_m_s_op1 % l_l_op2 != s_m_s_op1 % ul_l_op2) || (s_m_s_op1 % ul_l_op2 != s_m_s_op1 % (decimal)f_l_op2) || (s_m_s_op1 % (decimal)f_l_op2 != s_m_s_op1 % (decimal)d_l_op2) || (s_m_s_op1 % (decimal)d_l_op2 != s_m_s_op1 % m_l_op2) || (s_m_s_op1 % m_l_op2 != s_m_s_op1 % i_l_op2) || (s_m_s_op1 % i_l_op2 != 4))
+ {
+ Console.WriteLine("testcase 27 failed");
+ passed = false;
+ }
+ if ((s_m_s_op1 % s_i_s_op2 != s_m_s_op1 % s_ui_s_op2) || (s_m_s_op1 % s_ui_s_op2 != s_m_s_op1 % s_l_s_op2) || (s_m_s_op1 % s_l_s_op2 != s_m_s_op1 % s_ul_s_op2) || (s_m_s_op1 % s_ul_s_op2 != s_m_s_op1 % (decimal)s_f_s_op2) || (s_m_s_op1 % (decimal)s_f_s_op2 != s_m_s_op1 % (decimal)s_d_s_op2) || (s_m_s_op1 % (decimal)s_d_s_op2 != s_m_s_op1 % s_m_s_op2) || (s_m_s_op1 % s_m_s_op2 != s_m_s_op1 % s_i_s_op2) || (s_m_s_op1 % s_i_s_op2 != 4))
+ {
+ Console.WriteLine("testcase 28 failed");
+ passed = false;
+ }
+ }
+
+ if (!passed)
+ {
+ Console.WriteLine("FAILED");
+ return 1;
+ }
+ else
+ {
+ Console.WriteLine("PASSED");
+ return 100;
+ }
+ }
+}
diff --git a/tests/src/JIT/Directed/coverage/oldtests/lclfldrem_cs_d.csproj b/tests/src/JIT/Directed/coverage/oldtests/lclfldrem_cs_d.csproj
new file mode 100644
index 0000000000..47354abe88
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/lclfldrem_cs_d.csproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{FE50A648-7B41-4F1D-8B76-AF8691895B3F}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ <Optimize>False</Optimize>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="lclfldrem.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <PropertyGroup>
+ <ProjectJson>$(JitPackagesConfigFileDirectory)minimal\project.json</ProjectJson>
+ <ProjectLockJson>$(JitPackagesConfigFileDirectory)minimal\project.lock.json</ProjectLockJson>
+ </PropertyGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/lclfldrem_cs_do.csproj b/tests/src/JIT/Directed/coverage/oldtests/lclfldrem_cs_do.csproj
new file mode 100644
index 0000000000..30c22ef9b1
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/lclfldrem_cs_do.csproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{A2B2449A-76A8-48F4-8543-AC20026C5148}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ <Optimize>True</Optimize>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="lclfldrem.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <PropertyGroup>
+ <ProjectJson>$(JitPackagesConfigFileDirectory)minimal\project.json</ProjectJson>
+ <ProjectLockJson>$(JitPackagesConfigFileDirectory)minimal\project.lock.json</ProjectLockJson>
+ </PropertyGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/lclfldrem_cs_r.csproj b/tests/src/JIT/Directed/coverage/oldtests/lclfldrem_cs_r.csproj
new file mode 100644
index 0000000000..f9bb187b33
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/lclfldrem_cs_r.csproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{F3421840-6516-40F1-842E-323DF63B3329}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>None</DebugType>
+ <Optimize>False</Optimize>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="lclfldrem.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <PropertyGroup>
+ <ProjectJson>$(JitPackagesConfigFileDirectory)minimal\project.json</ProjectJson>
+ <ProjectLockJson>$(JitPackagesConfigFileDirectory)minimal\project.lock.json</ProjectLockJson>
+ </PropertyGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/lclfldrem_cs_ro.csproj b/tests/src/JIT/Directed/coverage/oldtests/lclfldrem_cs_ro.csproj
new file mode 100644
index 0000000000..98371f1c69
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/lclfldrem_cs_ro.csproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{8073C7BD-50CE-4CE1-8790-FE34E1D110E8}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>None</DebugType>
+ <Optimize>True</Optimize>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="lclfldrem.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <PropertyGroup>
+ <ProjectJson>$(JitPackagesConfigFileDirectory)minimal\project.json</ProjectJson>
+ <ProjectLockJson>$(JitPackagesConfigFileDirectory)minimal\project.lock.json</ProjectLockJson>
+ </PropertyGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/lclfldsub.cs b/tests/src/JIT/Directed/coverage/oldtests/lclfldsub.cs
new file mode 100644
index 0000000000..167b0d9864
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/lclfldsub.cs
@@ -0,0 +1,559 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+//Testing simple math on local vars and fields - sub
+
+#pragma warning disable 0414
+using System;
+internal class lclfldsub
+{
+ //user-defined class that overloads operator -
+ public class numHolder
+ {
+ private int _i_num;
+ private uint _ui_num;
+ private long _l_num;
+ private ulong _ul_num;
+ private float _f_num;
+ private double _d_num;
+ private decimal _m_num;
+ public numHolder(int i_num)
+ {
+ _i_num = Convert.ToInt32(i_num);
+ _ui_num = Convert.ToUInt32(i_num);
+ _l_num = Convert.ToInt64(i_num);
+ _ul_num = Convert.ToUInt64(i_num);
+ _f_num = Convert.ToSingle(i_num);
+ _d_num = Convert.ToDouble(i_num);
+ _m_num = Convert.ToDecimal(i_num);
+ }
+
+ public static int operator -(numHolder a, int b)
+ {
+ return a._i_num - b;
+ }
+
+ public numHolder(uint ui_num)
+ {
+ _i_num = Convert.ToInt32(ui_num);
+ _ui_num = Convert.ToUInt32(ui_num);
+ _l_num = Convert.ToInt64(ui_num);
+ _ul_num = Convert.ToUInt64(ui_num);
+ _f_num = Convert.ToSingle(ui_num);
+ _d_num = Convert.ToDouble(ui_num);
+ _m_num = Convert.ToDecimal(ui_num);
+ }
+
+ public static uint operator -(numHolder a, uint b)
+ {
+ return a._ui_num - b;
+ }
+
+ public numHolder(long l_num)
+ {
+ _i_num = Convert.ToInt32(l_num);
+ _ui_num = Convert.ToUInt32(l_num);
+ _l_num = Convert.ToInt64(l_num);
+ _ul_num = Convert.ToUInt64(l_num);
+ _f_num = Convert.ToSingle(l_num);
+ _d_num = Convert.ToDouble(l_num);
+ _m_num = Convert.ToDecimal(l_num);
+ }
+
+ public static long operator -(numHolder a, long b)
+ {
+ return a._l_num - b;
+ }
+
+ public numHolder(ulong ul_num)
+ {
+ _i_num = Convert.ToInt32(ul_num);
+ _ui_num = Convert.ToUInt32(ul_num);
+ _l_num = Convert.ToInt64(ul_num);
+ _ul_num = Convert.ToUInt64(ul_num);
+ _f_num = Convert.ToSingle(ul_num);
+ _d_num = Convert.ToDouble(ul_num);
+ _m_num = Convert.ToDecimal(ul_num);
+ }
+
+ public static long operator -(numHolder a, ulong b)
+ {
+ return (long)(a._ul_num - b);
+ }
+
+ public numHolder(float f_num)
+ {
+ _i_num = Convert.ToInt32(f_num);
+ _ui_num = Convert.ToUInt32(f_num);
+ _l_num = Convert.ToInt64(f_num);
+ _ul_num = Convert.ToUInt64(f_num);
+ _f_num = Convert.ToSingle(f_num);
+ _d_num = Convert.ToDouble(f_num);
+ _m_num = Convert.ToDecimal(f_num);
+ }
+
+ public static float operator -(numHolder a, float b)
+ {
+ return a._f_num - b;
+ }
+
+ public numHolder(double d_num)
+ {
+ _i_num = Convert.ToInt32(d_num);
+ _ui_num = Convert.ToUInt32(d_num);
+ _l_num = Convert.ToInt64(d_num);
+ _ul_num = Convert.ToUInt64(d_num);
+ _f_num = Convert.ToSingle(d_num);
+ _d_num = Convert.ToDouble(d_num);
+ _m_num = Convert.ToDecimal(d_num);
+ }
+
+ public static double operator -(numHolder a, double b)
+ {
+ return a._d_num - b;
+ }
+
+ public numHolder(decimal m_num)
+ {
+ _i_num = Convert.ToInt32(m_num);
+ _ui_num = Convert.ToUInt32(m_num);
+ _l_num = Convert.ToInt64(m_num);
+ _ul_num = Convert.ToUInt64(m_num);
+ _f_num = Convert.ToSingle(m_num);
+ _d_num = Convert.ToDouble(m_num);
+ _m_num = Convert.ToDecimal(m_num);
+ }
+
+ public static int operator -(numHolder a, decimal b)
+ {
+ return (int)(a._m_num - b);
+ }
+
+ public static int operator -(numHolder a, numHolder b)
+ {
+ return a._i_num - b._i_num;
+ }
+ }
+
+ private static int s_i_s_op1 = 16;
+ private static uint s_ui_s_op1 = 16;
+ private static long s_l_s_op1 = 16;
+ private static ulong s_ul_s_op1 = 16;
+ private static float s_f_s_op1 = 16;
+ private static double s_d_s_op1 = 16;
+ private static decimal s_m_s_op1 = 16;
+
+ private static int s_i_s_op2 = 15;
+ private static uint s_ui_s_op2 = 15;
+ private static long s_l_s_op2 = 15;
+ private static ulong s_ul_s_op2 = 15;
+ private static float s_f_s_op2 = 15;
+ private static double s_d_s_op2 = 15;
+ private static decimal s_m_s_op2 = 15;
+ private static numHolder s_nHldr_s_op2 = new numHolder(15);
+
+ public static int i_f(String s)
+ {
+ if (s == "op1")
+ return 16;
+ else
+ return 15;
+ }
+ public static uint ui_f(String s)
+ {
+ if (s == "op1")
+ return 16;
+ else
+ return 15;
+ }
+ public static long l_f(String s)
+ {
+ if (s == "op1")
+ return 16;
+ else
+ return 15;
+ }
+ public static ulong ul_f(String s)
+ {
+ if (s == "op1")
+ return 16;
+ else
+ return 15;
+ }
+ public static float f_f(String s)
+ {
+ if (s == "op1")
+ return 16;
+ else
+ return 15;
+ }
+ public static double d_f(String s)
+ {
+ if (s == "op1")
+ return 16;
+ else
+ return 15;
+ }
+ public static decimal m_f(String s)
+ {
+ if (s == "op1")
+ return 16;
+ else
+ return 15;
+ }
+ public static numHolder nHldr_f(String s)
+ {
+ if (s == "op1")
+ return new numHolder(16);
+ else
+ return new numHolder(15);
+ }
+ private class CL
+ {
+ public int i_cl_op1 = 16;
+ public uint ui_cl_op1 = 16;
+ public long l_cl_op1 = 16;
+ public ulong ul_cl_op1 = 16;
+ public float f_cl_op1 = 16;
+ public double d_cl_op1 = 16;
+ public decimal m_cl_op1 = 16;
+
+ public int i_cl_op2 = 15;
+ public uint ui_cl_op2 = 15;
+ public long l_cl_op2 = 15;
+ public ulong ul_cl_op2 = 15;
+ public float f_cl_op2 = 15;
+ public double d_cl_op2 = 15;
+ public decimal m_cl_op2 = 15;
+ public numHolder nHldr_cl_op2 = new numHolder(15);
+ }
+
+ private struct VT
+ {
+ public int i_vt_op1;
+ public uint ui_vt_op1;
+ public long l_vt_op1;
+ public ulong ul_vt_op1;
+ public float f_vt_op1;
+ public double d_vt_op1;
+ public decimal m_vt_op1;
+
+ public int i_vt_op2;
+ public uint ui_vt_op2;
+ public long l_vt_op2;
+ public ulong ul_vt_op2;
+ public float f_vt_op2;
+ public double d_vt_op2;
+ public decimal m_vt_op2;
+ public numHolder nHldr_vt_op2;
+ }
+
+ public static int Main()
+ {
+ bool passed = true;
+ //initialize class
+ CL cl1 = new CL();
+ //initialize struct
+ VT vt1;
+ vt1.i_vt_op1 = 16;
+ vt1.ui_vt_op1 = 16;
+ vt1.l_vt_op1 = 16;
+ vt1.ul_vt_op1 = 16;
+ vt1.f_vt_op1 = 16;
+ vt1.d_vt_op1 = 16;
+ vt1.m_vt_op1 = 16;
+ vt1.i_vt_op2 = 15;
+ vt1.ui_vt_op2 = 15;
+ vt1.l_vt_op2 = 15;
+ vt1.ul_vt_op2 = 15;
+ vt1.f_vt_op2 = 15;
+ vt1.d_vt_op2 = 15;
+ vt1.m_vt_op2 = 15;
+ vt1.nHldr_vt_op2 = new numHolder(15);
+
+ int[] i_arr1d_op1 = { 0, 16 };
+ int[,] i_arr2d_op1 = { { 0, 16 }, { 1, 1 } };
+ int[,,] i_arr3d_op1 = { { { 0, 16 }, { 1, 1 } } };
+ uint[] ui_arr1d_op1 = { 0, 16 };
+ uint[,] ui_arr2d_op1 = { { 0, 16 }, { 1, 1 } };
+ uint[,,] ui_arr3d_op1 = { { { 0, 16 }, { 1, 1 } } };
+ long[] l_arr1d_op1 = { 0, 16 };
+ long[,] l_arr2d_op1 = { { 0, 16 }, { 1, 1 } };
+ long[,,] l_arr3d_op1 = { { { 0, 16 }, { 1, 1 } } };
+ ulong[] ul_arr1d_op1 = { 0, 16 };
+ ulong[,] ul_arr2d_op1 = { { 0, 16 }, { 1, 1 } };
+ ulong[,,] ul_arr3d_op1 = { { { 0, 16 }, { 1, 1 } } };
+ float[] f_arr1d_op1 = { 0, 16 };
+ float[,] f_arr2d_op1 = { { 0, 16 }, { 1, 1 } };
+ float[,,] f_arr3d_op1 = { { { 0, 16 }, { 1, 1 } } };
+ double[] d_arr1d_op1 = { 0, 16 };
+ double[,] d_arr2d_op1 = { { 0, 16 }, { 1, 1 } };
+ double[,,] d_arr3d_op1 = { { { 0, 16 }, { 1, 1 } } };
+ decimal[] m_arr1d_op1 = { 0, 16 };
+ decimal[,] m_arr2d_op1 = { { 0, 16 }, { 1, 1 } };
+ decimal[,,] m_arr3d_op1 = { { { 0, 16 }, { 1, 1 } } };
+
+ int[] i_arr1d_op2 = { 15, 0, 1 };
+ int[,] i_arr2d_op2 = { { 0, 15 }, { 1, 1 } };
+ int[,,] i_arr3d_op2 = { { { 0, 15 }, { 1, 1 } } };
+ uint[] ui_arr1d_op2 = { 15, 0, 1 };
+ uint[,] ui_arr2d_op2 = { { 0, 15 }, { 1, 1 } };
+ uint[,,] ui_arr3d_op2 = { { { 0, 15 }, { 1, 1 } } };
+ long[] l_arr1d_op2 = { 15, 0, 1 };
+ long[,] l_arr2d_op2 = { { 0, 15 }, { 1, 1 } };
+ long[,,] l_arr3d_op2 = { { { 0, 15 }, { 1, 1 } } };
+ ulong[] ul_arr1d_op2 = { 15, 0, 1 };
+ ulong[,] ul_arr2d_op2 = { { 0, 15 }, { 1, 1 } };
+ ulong[,,] ul_arr3d_op2 = { { { 0, 15 }, { 1, 1 } } };
+ float[] f_arr1d_op2 = { 15, 0, 1 };
+ float[,] f_arr2d_op2 = { { 0, 15 }, { 1, 1 } };
+ float[,,] f_arr3d_op2 = { { { 0, 15 }, { 1, 1 } } };
+ double[] d_arr1d_op2 = { 15, 0, 1 };
+ double[,] d_arr2d_op2 = { { 0, 15 }, { 1, 1 } };
+ double[,,] d_arr3d_op2 = { { { 0, 15 }, { 1, 1 } } };
+ decimal[] m_arr1d_op2 = { 15, 0, 1 };
+ decimal[,] m_arr2d_op2 = { { 0, 15 }, { 1, 1 } };
+ decimal[,,] m_arr3d_op2 = { { { 0, 15 }, { 1, 1 } } };
+ numHolder[] nHldr_arr1d_op2 = { new numHolder(15), new numHolder(0), new numHolder(1) };
+ numHolder[,] nHldr_arr2d_op2 = { { new numHolder(0), new numHolder(15) }, { new numHolder(1), new numHolder(1) } };
+ numHolder[,,] nHldr_arr3d_op2 = { { { new numHolder(0), new numHolder(15) }, { new numHolder(1), new numHolder(1) } } };
+
+ int[,] index = { { 0, 0 }, { 1, 1 } };
+
+ {
+ int i_l_op1 = 16;
+ int i_l_op2 = 15;
+ uint ui_l_op2 = 15;
+ long l_l_op2 = 15;
+ ulong ul_l_op2 = 15;
+ float f_l_op2 = 15;
+ double d_l_op2 = 15;
+ decimal m_l_op2 = 15;
+ numHolder nHldr_l_op2 = new numHolder(15);
+ if ((i_l_op1 - i_l_op2 != i_l_op1 - ui_l_op2) || (i_l_op1 - ui_l_op2 != i_l_op1 - l_l_op2) || (i_l_op1 - l_l_op2 != i_l_op1 - (int)ul_l_op2) || (i_l_op1 - (int)ul_l_op2 != i_l_op1 - f_l_op2) || (i_l_op1 - f_l_op2 != i_l_op1 - d_l_op2) || ((decimal)(i_l_op1 - d_l_op2) != i_l_op1 - m_l_op2) || (i_l_op1 - m_l_op2 != i_l_op1 - i_l_op2) || (i_l_op1 - i_l_op2 != 1))
+ {
+ Console.WriteLine("testcase 1 failed");
+ passed = false;
+ }
+ if ((i_l_op1 - s_i_s_op2 != i_l_op1 - s_ui_s_op2) || (i_l_op1 - s_ui_s_op2 != i_l_op1 - s_l_s_op2) || (i_l_op1 - s_l_s_op2 != i_l_op1 - (int)s_ul_s_op2) || (i_l_op1 - (int)s_ul_s_op2 != i_l_op1 - s_f_s_op2) || (i_l_op1 - s_f_s_op2 != i_l_op1 - s_d_s_op2) || ((decimal)(i_l_op1 - s_d_s_op2) != i_l_op1 - s_m_s_op2) || (i_l_op1 - s_m_s_op2 != i_l_op1 - s_i_s_op2) || (i_l_op1 - s_i_s_op2 != 1))
+ {
+ Console.WriteLine("testcase 2 failed");
+ passed = false;
+ }
+ if ((s_i_s_op1 - i_l_op2 != s_i_s_op1 - ui_l_op2) || (s_i_s_op1 - ui_l_op2 != s_i_s_op1 - l_l_op2) || (s_i_s_op1 - l_l_op2 != s_i_s_op1 - (int)ul_l_op2) || (s_i_s_op1 - (int)ul_l_op2 != s_i_s_op1 - f_l_op2) || (s_i_s_op1 - f_l_op2 != s_i_s_op1 - d_l_op2) || ((decimal)(s_i_s_op1 - d_l_op2) != s_i_s_op1 - m_l_op2) || (s_i_s_op1 - m_l_op2 != s_i_s_op1 - i_l_op2) || (s_i_s_op1 - i_l_op2 != 1))
+ {
+ Console.WriteLine("testcase 3 failed");
+ passed = false;
+ }
+ if ((s_i_s_op1 - s_i_s_op2 != s_i_s_op1 - s_ui_s_op2) || (s_i_s_op1 - s_ui_s_op2 != s_i_s_op1 - s_l_s_op2) || (s_i_s_op1 - s_l_s_op2 != s_i_s_op1 - (int)s_ul_s_op2) || (s_i_s_op1 - (int)s_ul_s_op2 != s_i_s_op1 - s_f_s_op2) || (s_i_s_op1 - s_f_s_op2 != s_i_s_op1 - s_d_s_op2) || ((decimal)(s_i_s_op1 - s_d_s_op2) != s_i_s_op1 - s_m_s_op2) || (s_i_s_op1 - s_m_s_op2 != s_i_s_op1 - s_i_s_op2) || (s_i_s_op1 - s_i_s_op2 != 1))
+ {
+ Console.WriteLine("testcase 4 failed");
+ passed = false;
+ }
+ }
+
+ {
+ uint ui_l_op1 = 16;
+ int i_l_op2 = 15;
+ uint ui_l_op2 = 15;
+ long l_l_op2 = 15;
+ ulong ul_l_op2 = 15;
+ float f_l_op2 = 15;
+ double d_l_op2 = 15;
+ decimal m_l_op2 = 15;
+ numHolder nHldr_l_op2 = new numHolder(15);
+ if ((ui_l_op1 - i_l_op2 != ui_l_op1 - ui_l_op2) || (ui_l_op1 - ui_l_op2 != ui_l_op1 - l_l_op2) || ((ulong)(ui_l_op1 - l_l_op2) != ui_l_op1 - ul_l_op2) || (ui_l_op1 - ul_l_op2 != ui_l_op1 - f_l_op2) || (ui_l_op1 - f_l_op2 != ui_l_op1 - d_l_op2) || ((decimal)(ui_l_op1 - d_l_op2) != ui_l_op1 - m_l_op2) || (ui_l_op1 - m_l_op2 != ui_l_op1 - i_l_op2) || (ui_l_op1 - i_l_op2 != 1))
+ {
+ Console.WriteLine("testcase 5 failed");
+ passed = false;
+ }
+ if ((ui_l_op1 - s_i_s_op2 != ui_l_op1 - s_ui_s_op2) || (ui_l_op1 - s_ui_s_op2 != ui_l_op1 - s_l_s_op2) || ((ulong)(ui_l_op1 - s_l_s_op2) != ui_l_op1 - s_ul_s_op2) || (ui_l_op1 - s_ul_s_op2 != ui_l_op1 - s_f_s_op2) || (ui_l_op1 - s_f_s_op2 != ui_l_op1 - s_d_s_op2) || ((decimal)(ui_l_op1 - s_d_s_op2) != ui_l_op1 - s_m_s_op2) || (ui_l_op1 - s_m_s_op2 != ui_l_op1 - s_i_s_op2) || (ui_l_op1 - s_i_s_op2 != 1))
+ {
+ Console.WriteLine("testcase 6 failed");
+ passed = false;
+ }
+ if ((s_ui_s_op1 - i_l_op2 != s_ui_s_op1 - ui_l_op2) || (s_ui_s_op1 - ui_l_op2 != s_ui_s_op1 - l_l_op2) || ((ulong)(s_ui_s_op1 - l_l_op2) != s_ui_s_op1 - ul_l_op2) || (s_ui_s_op1 - ul_l_op2 != s_ui_s_op1 - f_l_op2) || (s_ui_s_op1 - f_l_op2 != s_ui_s_op1 - d_l_op2) || ((decimal)(s_ui_s_op1 - d_l_op2) != s_ui_s_op1 - m_l_op2) || (s_ui_s_op1 - m_l_op2 != s_ui_s_op1 - i_l_op2) || (s_ui_s_op1 - i_l_op2 != 1))
+ {
+ Console.WriteLine("testcase 7 failed");
+ passed = false;
+ }
+ if ((s_ui_s_op1 - s_i_s_op2 != s_ui_s_op1 - s_ui_s_op2) || (s_ui_s_op1 - s_ui_s_op2 != s_ui_s_op1 - s_l_s_op2) || ((ulong)(s_ui_s_op1 - s_l_s_op2) != s_ui_s_op1 - s_ul_s_op2) || (s_ui_s_op1 - s_ul_s_op2 != s_ui_s_op1 - s_f_s_op2) || (s_ui_s_op1 - s_f_s_op2 != s_ui_s_op1 - s_d_s_op2) || ((decimal)(s_ui_s_op1 - s_d_s_op2) != s_ui_s_op1 - s_m_s_op2) || (s_ui_s_op1 - s_m_s_op2 != s_ui_s_op1 - s_i_s_op2) || (s_ui_s_op1 - s_i_s_op2 != 1))
+ {
+ Console.WriteLine("testcase 8 failed");
+ passed = false;
+ }
+ }
+
+ {
+ long l_l_op1 = 16;
+ int i_l_op2 = 15;
+ uint ui_l_op2 = 15;
+ long l_l_op2 = 15;
+ ulong ul_l_op2 = 15;
+ float f_l_op2 = 15;
+ double d_l_op2 = 15;
+ decimal m_l_op2 = 15;
+ numHolder nHldr_l_op2 = new numHolder(15);
+ if ((l_l_op1 - i_l_op2 != l_l_op1 - ui_l_op2) || (l_l_op1 - ui_l_op2 != l_l_op1 - l_l_op2) || (l_l_op1 - l_l_op2 != l_l_op1 - (long)ul_l_op2) || (l_l_op1 - (long)ul_l_op2 != l_l_op1 - f_l_op2) || (l_l_op1 - f_l_op2 != l_l_op1 - d_l_op2) || ((decimal)(l_l_op1 - d_l_op2) != l_l_op1 - m_l_op2) || (l_l_op1 - m_l_op2 != l_l_op1 - i_l_op2) || (l_l_op1 - i_l_op2 != 1))
+ {
+ Console.WriteLine("testcase 9 failed");
+ passed = false;
+ }
+ if ((l_l_op1 - s_i_s_op2 != l_l_op1 - s_ui_s_op2) || (l_l_op1 - s_ui_s_op2 != l_l_op1 - s_l_s_op2) || (l_l_op1 - s_l_s_op2 != l_l_op1 - (long)s_ul_s_op2) || (l_l_op1 - (long)s_ul_s_op2 != l_l_op1 - s_f_s_op2) || (l_l_op1 - s_f_s_op2 != l_l_op1 - s_d_s_op2) || ((decimal)(l_l_op1 - s_d_s_op2) != l_l_op1 - s_m_s_op2) || (l_l_op1 - s_m_s_op2 != l_l_op1 - s_i_s_op2) || (l_l_op1 - s_i_s_op2 != 1))
+ {
+ Console.WriteLine("testcase 10 failed");
+ passed = false;
+ }
+ if ((s_l_s_op1 - i_l_op2 != s_l_s_op1 - ui_l_op2) || (s_l_s_op1 - ui_l_op2 != s_l_s_op1 - l_l_op2) || (s_l_s_op1 - l_l_op2 != s_l_s_op1 - (long)ul_l_op2) || (s_l_s_op1 - (long)ul_l_op2 != s_l_s_op1 - f_l_op2) || (s_l_s_op1 - f_l_op2 != s_l_s_op1 - d_l_op2) || ((decimal)(s_l_s_op1 - d_l_op2) != s_l_s_op1 - m_l_op2) || (s_l_s_op1 - m_l_op2 != s_l_s_op1 - i_l_op2) || (s_l_s_op1 - i_l_op2 != 1))
+ {
+ Console.WriteLine("testcase 11 failed");
+ passed = false;
+ }
+ if ((s_l_s_op1 - s_i_s_op2 != s_l_s_op1 - s_ui_s_op2) || (s_l_s_op1 - s_ui_s_op2 != s_l_s_op1 - s_l_s_op2) || (s_l_s_op1 - s_l_s_op2 != s_l_s_op1 - (long)s_ul_s_op2) || (s_l_s_op1 - (long)s_ul_s_op2 != s_l_s_op1 - s_f_s_op2) || (s_l_s_op1 - s_f_s_op2 != s_l_s_op1 - s_d_s_op2) || ((decimal)(s_l_s_op1 - s_d_s_op2) != s_l_s_op1 - s_m_s_op2) || (s_l_s_op1 - s_m_s_op2 != s_l_s_op1 - s_i_s_op2) || (s_l_s_op1 - s_i_s_op2 != 1))
+ {
+ Console.WriteLine("testcase 12 failed");
+ passed = false;
+ }
+ }
+
+ {
+ ulong ul_l_op1 = 16;
+ int i_l_op2 = 15;
+ uint ui_l_op2 = 15;
+ long l_l_op2 = 15;
+ ulong ul_l_op2 = 15;
+ float f_l_op2 = 15;
+ double d_l_op2 = 15;
+ decimal m_l_op2 = 15;
+ numHolder nHldr_l_op2 = new numHolder(15);
+ if ((ul_l_op1 - (ulong)i_l_op2 != ul_l_op1 - ui_l_op2) || (ul_l_op1 - ui_l_op2 != ul_l_op1 - (ulong)l_l_op2) || (ul_l_op1 - (ulong)l_l_op2 != ul_l_op1 - ul_l_op2) || (ul_l_op1 - ul_l_op2 != ul_l_op1 - f_l_op2) || (ul_l_op1 - f_l_op2 != ul_l_op1 - d_l_op2) || ((decimal)(ul_l_op1 - d_l_op2) != ul_l_op1 - m_l_op2) || (ul_l_op1 - m_l_op2 != ul_l_op1 - (ulong)i_l_op2) || (ul_l_op1 - (ulong)i_l_op2 != 1))
+ {
+ Console.WriteLine("testcase 13 failed");
+ passed = false;
+ }
+ if ((ul_l_op1 - (ulong)s_i_s_op2 != ul_l_op1 - s_ui_s_op2) || (ul_l_op1 - s_ui_s_op2 != ul_l_op1 - (ulong)s_l_s_op2) || (ul_l_op1 - (ulong)s_l_s_op2 != ul_l_op1 - s_ul_s_op2) || (ul_l_op1 - s_ul_s_op2 != ul_l_op1 - s_f_s_op2) || (ul_l_op1 - s_f_s_op2 != ul_l_op1 - s_d_s_op2) || ((decimal)(ul_l_op1 - s_d_s_op2) != ul_l_op1 - s_m_s_op2) || (ul_l_op1 - s_m_s_op2 != ul_l_op1 - (ulong)s_i_s_op2) || (ul_l_op1 - (ulong)s_i_s_op2 != 1))
+ {
+ Console.WriteLine("testcase 14 failed");
+ passed = false;
+ }
+ if ((s_ul_s_op1 - (ulong)i_l_op2 != s_ul_s_op1 - ui_l_op2) || (s_ul_s_op1 - ui_l_op2 != s_ul_s_op1 - (ulong)l_l_op2) || (s_ul_s_op1 - (ulong)l_l_op2 != s_ul_s_op1 - ul_l_op2) || (s_ul_s_op1 - ul_l_op2 != s_ul_s_op1 - f_l_op2) || (s_ul_s_op1 - f_l_op2 != s_ul_s_op1 - d_l_op2) || ((decimal)(s_ul_s_op1 - d_l_op2) != s_ul_s_op1 - m_l_op2) || (s_ul_s_op1 - m_l_op2 != s_ul_s_op1 - (ulong)i_l_op2) || (s_ul_s_op1 - (ulong)i_l_op2 != 1))
+ {
+ Console.WriteLine("testcase 15 failed");
+ passed = false;
+ }
+ if ((s_ul_s_op1 - (ulong)s_i_s_op2 != s_ul_s_op1 - s_ui_s_op2) || (s_ul_s_op1 - s_ui_s_op2 != s_ul_s_op1 - (ulong)s_l_s_op2) || (s_ul_s_op1 - (ulong)s_l_s_op2 != s_ul_s_op1 - s_ul_s_op2) || (s_ul_s_op1 - s_ul_s_op2 != s_ul_s_op1 - s_f_s_op2) || (s_ul_s_op1 - s_f_s_op2 != s_ul_s_op1 - s_d_s_op2) || ((decimal)(s_ul_s_op1 - s_d_s_op2) != s_ul_s_op1 - s_m_s_op2) || (s_ul_s_op1 - s_m_s_op2 != s_ul_s_op1 - (ulong)s_i_s_op2) || (s_ul_s_op1 - (ulong)s_i_s_op2 != 1))
+ {
+ Console.WriteLine("testcase 16 failed");
+ passed = false;
+ }
+ }
+
+ {
+ float f_l_op1 = 16;
+ int i_l_op2 = 15;
+ uint ui_l_op2 = 15;
+ long l_l_op2 = 15;
+ ulong ul_l_op2 = 15;
+ float f_l_op2 = 15;
+ double d_l_op2 = 15;
+ decimal m_l_op2 = 15;
+ numHolder nHldr_l_op2 = new numHolder(15);
+ if ((f_l_op1 - i_l_op2 != f_l_op1 - ui_l_op2) || (f_l_op1 - ui_l_op2 != f_l_op1 - l_l_op2) || (f_l_op1 - l_l_op2 != f_l_op1 - ul_l_op2) || (f_l_op1 - ul_l_op2 != f_l_op1 - f_l_op2) || (f_l_op1 - f_l_op2 != f_l_op1 - d_l_op2) || (f_l_op1 - d_l_op2 != f_l_op1 - (float)m_l_op2) || (f_l_op1 - (float)m_l_op2 != f_l_op1 - i_l_op2) || (f_l_op1 - i_l_op2 != 1))
+ {
+ Console.WriteLine("testcase 17 failed");
+ passed = false;
+ }
+ if ((f_l_op1 - s_i_s_op2 != f_l_op1 - s_ui_s_op2) || (f_l_op1 - s_ui_s_op2 != f_l_op1 - s_l_s_op2) || (f_l_op1 - s_l_s_op2 != f_l_op1 - s_ul_s_op2) || (f_l_op1 - s_ul_s_op2 != f_l_op1 - s_f_s_op2) || (f_l_op1 - s_f_s_op2 != f_l_op1 - s_d_s_op2) || (f_l_op1 - s_d_s_op2 != f_l_op1 - (float)s_m_s_op2) || (f_l_op1 - (float)s_m_s_op2 != f_l_op1 - s_i_s_op2) || (f_l_op1 - s_i_s_op2 != 1))
+ {
+ Console.WriteLine("testcase 18 failed");
+ passed = false;
+ }
+ if ((s_f_s_op1 - i_l_op2 != s_f_s_op1 - ui_l_op2) || (s_f_s_op1 - ui_l_op2 != s_f_s_op1 - l_l_op2) || (s_f_s_op1 - l_l_op2 != s_f_s_op1 - ul_l_op2) || (s_f_s_op1 - ul_l_op2 != s_f_s_op1 - f_l_op2) || (s_f_s_op1 - f_l_op2 != s_f_s_op1 - d_l_op2) || (s_f_s_op1 - d_l_op2 != s_f_s_op1 - (float)m_l_op2) || (s_f_s_op1 - (float)m_l_op2 != s_f_s_op1 - i_l_op2) || (s_f_s_op1 - i_l_op2 != 1))
+ {
+ Console.WriteLine("testcase 19 failed");
+ passed = false;
+ }
+ if ((s_f_s_op1 - s_i_s_op2 != s_f_s_op1 - s_ui_s_op2) || (s_f_s_op1 - s_ui_s_op2 != s_f_s_op1 - s_l_s_op2) || (s_f_s_op1 - s_l_s_op2 != s_f_s_op1 - s_ul_s_op2) || (s_f_s_op1 - s_ul_s_op2 != s_f_s_op1 - s_f_s_op2) || (s_f_s_op1 - s_f_s_op2 != s_f_s_op1 - s_d_s_op2) || (s_f_s_op1 - s_d_s_op2 != s_f_s_op1 - (float)s_m_s_op2) || (s_f_s_op1 - (float)s_m_s_op2 != s_f_s_op1 - s_i_s_op2) || (s_f_s_op1 - s_i_s_op2 != 1))
+ {
+ Console.WriteLine("testcase 20 failed");
+ passed = false;
+ }
+ }
+
+ {
+ double d_l_op1 = 16;
+ int i_l_op2 = 15;
+ uint ui_l_op2 = 15;
+ long l_l_op2 = 15;
+ ulong ul_l_op2 = 15;
+ float f_l_op2 = 15;
+ double d_l_op2 = 15;
+ decimal m_l_op2 = 15;
+ numHolder nHldr_l_op2 = new numHolder(15);
+ if ((d_l_op1 - i_l_op2 != d_l_op1 - ui_l_op2) || (d_l_op1 - ui_l_op2 != d_l_op1 - l_l_op2) || (d_l_op1 - l_l_op2 != d_l_op1 - ul_l_op2) || (d_l_op1 - ul_l_op2 != d_l_op1 - f_l_op2) || (d_l_op1 - f_l_op2 != d_l_op1 - d_l_op2) || (d_l_op1 - d_l_op2 != d_l_op1 - (double)m_l_op2) || (d_l_op1 - (double)m_l_op2 != d_l_op1 - i_l_op2) || (d_l_op1 - i_l_op2 != 1))
+ {
+ Console.WriteLine("testcase 21 failed");
+ passed = false;
+ }
+ if ((d_l_op1 - s_i_s_op2 != d_l_op1 - s_ui_s_op2) || (d_l_op1 - s_ui_s_op2 != d_l_op1 - s_l_s_op2) || (d_l_op1 - s_l_s_op2 != d_l_op1 - s_ul_s_op2) || (d_l_op1 - s_ul_s_op2 != d_l_op1 - s_f_s_op2) || (d_l_op1 - s_f_s_op2 != d_l_op1 - s_d_s_op2) || (d_l_op1 - s_d_s_op2 != d_l_op1 - (double)s_m_s_op2) || (d_l_op1 - (double)s_m_s_op2 != d_l_op1 - s_i_s_op2) || (d_l_op1 - s_i_s_op2 != 1))
+ {
+ Console.WriteLine("testcase 22 failed");
+ passed = false;
+ }
+ if ((s_d_s_op1 - i_l_op2 != s_d_s_op1 - ui_l_op2) || (s_d_s_op1 - ui_l_op2 != s_d_s_op1 - l_l_op2) || (s_d_s_op1 - l_l_op2 != s_d_s_op1 - ul_l_op2) || (s_d_s_op1 - ul_l_op2 != s_d_s_op1 - f_l_op2) || (s_d_s_op1 - f_l_op2 != s_d_s_op1 - d_l_op2) || (s_d_s_op1 - d_l_op2 != s_d_s_op1 - (double)m_l_op2) || (s_d_s_op1 - (double)m_l_op2 != s_d_s_op1 - i_l_op2) || (s_d_s_op1 - i_l_op2 != 1))
+ {
+ Console.WriteLine("testcase 23 failed");
+ passed = false;
+ }
+ if ((s_d_s_op1 - s_i_s_op2 != s_d_s_op1 - s_ui_s_op2) || (s_d_s_op1 - s_ui_s_op2 != s_d_s_op1 - s_l_s_op2) || (s_d_s_op1 - s_l_s_op2 != s_d_s_op1 - s_ul_s_op2) || (s_d_s_op1 - s_ul_s_op2 != s_d_s_op1 - s_f_s_op2) || (s_d_s_op1 - s_f_s_op2 != s_d_s_op1 - s_d_s_op2) || (s_d_s_op1 - s_d_s_op2 != s_d_s_op1 - (double)s_m_s_op2) || (s_d_s_op1 - (double)s_m_s_op2 != s_d_s_op1 - s_i_s_op2) || (s_d_s_op1 - s_i_s_op2 != 1))
+ {
+ Console.WriteLine("testcase 24 failed");
+ passed = false;
+ }
+ }
+
+ {
+ decimal m_l_op1 = 16;
+ int i_l_op2 = 15;
+ uint ui_l_op2 = 15;
+ long l_l_op2 = 15;
+ ulong ul_l_op2 = 15;
+ float f_l_op2 = 15;
+ double d_l_op2 = 15;
+ decimal m_l_op2 = 15;
+ numHolder nHldr_l_op2 = new numHolder(15);
+ if ((m_l_op1 - i_l_op2 != m_l_op1 - ui_l_op2) || (m_l_op1 - ui_l_op2 != m_l_op1 - l_l_op2) || (m_l_op1 - l_l_op2 != m_l_op1 - ul_l_op2) || (m_l_op1 - ul_l_op2 != m_l_op1 - (decimal)f_l_op2) || (m_l_op1 - (decimal)f_l_op2 != m_l_op1 - (decimal)d_l_op2) || (m_l_op1 - (decimal)d_l_op2 != m_l_op1 - m_l_op2) || (m_l_op1 - m_l_op2 != m_l_op1 - i_l_op2) || (m_l_op1 - i_l_op2 != 1))
+ {
+ Console.WriteLine("testcase 25 failed");
+ passed = false;
+ }
+ if ((m_l_op1 - s_i_s_op2 != m_l_op1 - s_ui_s_op2) || (m_l_op1 - s_ui_s_op2 != m_l_op1 - s_l_s_op2) || (m_l_op1 - s_l_s_op2 != m_l_op1 - s_ul_s_op2) || (m_l_op1 - s_ul_s_op2 != m_l_op1 - (decimal)s_f_s_op2) || (m_l_op1 - (decimal)s_f_s_op2 != m_l_op1 - (decimal)s_d_s_op2) || (m_l_op1 - (decimal)s_d_s_op2 != m_l_op1 - s_m_s_op2) || (m_l_op1 - s_m_s_op2 != m_l_op1 - s_i_s_op2) || (m_l_op1 - s_i_s_op2 != 1))
+ {
+ Console.WriteLine("testcase 26 failed");
+ passed = false;
+ }
+ if ((s_m_s_op1 - i_l_op2 != s_m_s_op1 - ui_l_op2) || (s_m_s_op1 - ui_l_op2 != s_m_s_op1 - l_l_op2) || (s_m_s_op1 - l_l_op2 != s_m_s_op1 - ul_l_op2) || (s_m_s_op1 - ul_l_op2 != s_m_s_op1 - (decimal)f_l_op2) || (s_m_s_op1 - (decimal)f_l_op2 != s_m_s_op1 - (decimal)d_l_op2) || (s_m_s_op1 - (decimal)d_l_op2 != s_m_s_op1 - m_l_op2) || (s_m_s_op1 - m_l_op2 != s_m_s_op1 - i_l_op2) || (s_m_s_op1 - i_l_op2 != 1))
+ {
+ Console.WriteLine("testcase 27 failed");
+ passed = false;
+ }
+ if ((s_m_s_op1 - s_i_s_op2 != s_m_s_op1 - s_ui_s_op2) || (s_m_s_op1 - s_ui_s_op2 != s_m_s_op1 - s_l_s_op2) || (s_m_s_op1 - s_l_s_op2 != s_m_s_op1 - s_ul_s_op2) || (s_m_s_op1 - s_ul_s_op2 != s_m_s_op1 - (decimal)s_f_s_op2) || (s_m_s_op1 - (decimal)s_f_s_op2 != s_m_s_op1 - (decimal)s_d_s_op2) || (s_m_s_op1 - (decimal)s_d_s_op2 != s_m_s_op1 - s_m_s_op2) || (s_m_s_op1 - s_m_s_op2 != s_m_s_op1 - s_i_s_op2) || (s_m_s_op1 - s_i_s_op2 != 1))
+ {
+ Console.WriteLine("testcase 28 failed");
+ passed = false;
+ }
+ }
+
+ if (!passed)
+ {
+ Console.WriteLine("FAILED");
+ return 1;
+ }
+ else
+ {
+ Console.WriteLine("PASSED");
+ return 100;
+ }
+ }
+}
diff --git a/tests/src/JIT/Directed/coverage/oldtests/lclfldsub_cs_d.csproj b/tests/src/JIT/Directed/coverage/oldtests/lclfldsub_cs_d.csproj
new file mode 100644
index 0000000000..dc812fa103
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/lclfldsub_cs_d.csproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{C311BEB7-F49A-400B-9FA9-D42156D8AF59}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ <Optimize>False</Optimize>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="lclfldsub.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <PropertyGroup>
+ <ProjectJson>$(JitPackagesConfigFileDirectory)minimal\project.json</ProjectJson>
+ <ProjectLockJson>$(JitPackagesConfigFileDirectory)minimal\project.lock.json</ProjectLockJson>
+ </PropertyGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/lclfldsub_cs_do.csproj b/tests/src/JIT/Directed/coverage/oldtests/lclfldsub_cs_do.csproj
new file mode 100644
index 0000000000..13fbe345ec
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/lclfldsub_cs_do.csproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{5DA2C5C2-46DE-43A7-8AFE-52546BD11F8F}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ <Optimize>True</Optimize>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="lclfldsub.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <PropertyGroup>
+ <ProjectJson>$(JitPackagesConfigFileDirectory)minimal\project.json</ProjectJson>
+ <ProjectLockJson>$(JitPackagesConfigFileDirectory)minimal\project.lock.json</ProjectLockJson>
+ </PropertyGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/lclfldsub_cs_r.csproj b/tests/src/JIT/Directed/coverage/oldtests/lclfldsub_cs_r.csproj
new file mode 100644
index 0000000000..9ac380e517
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/lclfldsub_cs_r.csproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{70A1E75C-C1E9-4FA8-982D-1EFFAE36C08B}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>None</DebugType>
+ <Optimize>False</Optimize>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="lclfldsub.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <PropertyGroup>
+ <ProjectJson>$(JitPackagesConfigFileDirectory)minimal\project.json</ProjectJson>
+ <ProjectLockJson>$(JitPackagesConfigFileDirectory)minimal\project.lock.json</ProjectLockJson>
+ </PropertyGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/lclfldsub_cs_ro.csproj b/tests/src/JIT/Directed/coverage/oldtests/lclfldsub_cs_ro.csproj
new file mode 100644
index 0000000000..0989a0b903
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/lclfldsub_cs_ro.csproj
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{F1D591B1-0CE7-4F36-A258-F0CDE36CAC05}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>None</DebugType>
+ <Optimize>True</Optimize>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="lclfldsub.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <PropertyGroup>
+ <ProjectJson>$(JitPackagesConfigFileDirectory)minimal\project.json</ProjectJson>
+ <ProjectLockJson>$(JitPackagesConfigFileDirectory)minimal\project.lock.json</ProjectLockJson>
+ </PropertyGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/lcliimpl.il b/tests/src/JIT/Directed/coverage/oldtests/lcliimpl.il
new file mode 100644
index 0000000000..3b95549564
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/lcliimpl.il
@@ -0,0 +1,73 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+.assembly extern legacy library mscorlib {}
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly lcliimpl {}
+.method public static int32 main() cil managed
+{
+ .entrypoint
+ call int32 f()
+ ret
+}
+
+.method public static int32 f() cil managed
+{
+ // Code size 26 (0x1a)
+ .maxstack 1
+ .locals init (class itest& V_0,
+ class ctest V_1)
+ IL_0000: ldnull
+ IL_0001: stloc.1
+ IL_0002: newobj instance void ctest::.ctor()
+ IL_0007: stloc.1
+ IL_0008: ldloca.s V_1
+ IL_000a: //castclass itest
+ IL_000f: stloc.0
+ IL_0010: ldloc.0
+ IL_0011: ldind.ref
+ IL_0012: callvirt instance int32 itest::f()
+ IL_0017: br.s IL_0019
+
+ IL_0019: ret
+}
+
+.class interface private abstract auto ansi itest
+{
+ .method public newslot abstract virtual
+ instance int32 f() cil managed
+ {
+ } // end of method itest::f
+
+} // end of class itest
+
+.class private auto ansi ctest
+ extends [mscorlib]System.Object
+ implements itest
+{
+ .method public virtual instance int32 f() cil managed
+ {
+ // Code size 5 (0x5)
+ .maxstack 1
+ IL_0000: ldc.i4.s 100
+ IL_0002: br.s IL_0004
+
+ IL_0004: ret
+ } // end of method ctest::f
+
+ .method public specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ // Code size 7 (0x7)
+ .maxstack 1
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ } // end of method ctest::.ctor
+
+}
diff --git a/tests/src/JIT/Directed/coverage/oldtests/lcliimpl_il_d.ilproj b/tests/src/JIT/Directed/coverage/oldtests/lcliimpl_il_d.ilproj
new file mode 100644
index 0000000000..bab2222320
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/lcliimpl_il_d.ilproj
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="lcliimpl.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/lcliimpl_il_r.ilproj b/tests/src/JIT/Directed/coverage/oldtests/lcliimpl_il_r.ilproj
new file mode 100644
index 0000000000..c3fd889a84
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/lcliimpl_il_r.ilproj
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="lcliimpl.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/ldfldstatic.il b/tests/src/JIT/Directed/coverage/oldtests/ldfldstatic.il
new file mode 100644
index 0000000000..8b64f575cb
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/ldfldstatic.il
@@ -0,0 +1,243 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern legacy library mscorlib {}
+.assembly ldflds {}
+.module ldfldstatic.exe
+.class private auto ansi beforefieldinit ldfldstatic
+ extends [mscorlib]System.Object
+{
+ .field public static char Achar
+ .field public static bool Abool
+ .field public static float32 Ar4
+ .field public static float64 Ar8
+ .field public static int8 Ai1
+ .field public static int16 Ai2
+ .field public static int32 Ai4
+ .field public static int64 Ai8
+ .field public static unsigned int8 Au1
+ .field public static unsigned int16 Au2
+ .field public static unsigned int32 Au4
+ .field public static unsigned int64 Au8
+ .field public static string Astring
+
+ .method public hidebysig static int32 Main()
+ {
+ .entrypoint
+ .maxstack 2
+ .locals (bool V_0,
+ class ldfldstatic V_1,
+ int32 V_2)
+ ldstr "Testing ldfld on static fields"
+ call void [System.Console]System.Console::WriteLine(string)
+ IL_0000: ldc.i4.1
+ IL_0001: stloc.0
+ IL_0002: newobj instance void ldfldstatic::.ctor()
+ IL_0007: stloc.1
+ IL_0008: ldloc.1
+ ldfld char ldfldstatic::Achar
+ IL_000d: ldc.i4.s 65
+ IL_000f: beq.s IL_001d
+
+ IL_0011: ldc.i4.0
+ IL_0012: stloc.0
+ IL_0013: ldstr "Achar != 'A'"
+ IL_0018: call void [System.Console]System.Console::WriteLine(string)
+ IL_001d: ldloc.1
+ ldfld bool ldfldstatic::Abool
+ IL_0022: brtrue.s IL_0030
+
+ IL_0024: ldc.i4.0
+ IL_0025: stloc.0
+ IL_0026: ldstr "Abool != true"
+ IL_002b: call void [System.Console]System.Console::WriteLine(string)
+ IL_0030: ldloc.1
+ ldfld float32 ldfldstatic::Ar4
+ IL_0035: ldc.r4 2.1234567
+ IL_003a: beq.s IL_0048
+
+ IL_003c: ldc.i4.0
+ IL_003d: stloc.0
+ IL_003e: ldstr "Ar4 != 2.123456789F"
+ IL_0043: call void [System.Console]System.Console::WriteLine(string)
+ IL_0048: ldloc.1
+ ldfld float64 ldfldstatic::Ar8
+ IL_004d: ldc.r8 -3.1234567890123457
+ IL_0056: beq.s IL_0064
+
+ IL_0058: ldc.i4.0
+ IL_0059: stloc.0
+ IL_005a: ldstr "Ar8 != -3.123456789012345678"
+ IL_005f: call void [System.Console]System.Console::WriteLine(string)
+ IL_0064: ldloc.1
+ ldfld int8 ldfldstatic::Ai1
+ IL_0069: conv.i4
+ IL_006a: ldc.i4.m1
+ IL_006b: beq.s IL_0079
+
+ IL_006d: ldc.i4.0
+ IL_006e: stloc.0
+ IL_006f: ldstr "Ai1 != -1"
+ IL_0074: call void [System.Console]System.Console::WriteLine(string)
+ IL_0079: ldloc.1
+ ldfld int16 ldfldstatic::Ai2
+ IL_007e: ldc.i4 0xffffff01
+ IL_0083: beq.s IL_0091
+
+ IL_0085: ldc.i4.0
+ IL_0086: stloc.0
+ IL_0087: ldstr "Ai2 != -255"
+ IL_008c: call void [System.Console]System.Console::WriteLine(string)
+ IL_0091: ldloc.1
+ ldfld int32 ldfldstatic::Ai4
+ IL_0096: ldc.i4 0xffed2979
+ IL_009b: beq.s IL_00a9
+
+ IL_009d: ldc.i4.0
+ IL_009e: stloc.0
+ IL_009f: ldstr "Ai4 != -1234567"
+ IL_00a4: call void [System.Console]System.Console::WriteLine(string)
+ IL_00a9: ldloc.1
+ ldfld int64 ldfldstatic::Ai8
+ IL_00ae: ldc.i4 0xb669fd2e
+ IL_00b3: conv.i8
+ IL_00b4: beq.s IL_00c2
+
+ IL_00b6: ldc.i4.0
+ IL_00b7: stloc.0
+ IL_00b8: ldstr "Ai8 != -1234567890"
+ IL_00bd: call void [System.Console]System.Console::WriteLine(string)
+ IL_00c2: ldloc.1
+ ldfld unsigned int8 ldfldstatic::Au1
+ IL_00c7: ldc.i4.1
+ IL_00c8: beq.s IL_00d6
+
+ IL_00ca: ldc.i4.0
+ IL_00cb: stloc.0
+ IL_00cc: ldstr "Au1 != 1"
+ IL_00d1: call void [System.Console]System.Console::WriteLine(string)
+ IL_00d6: ldloc.1
+ ldfld unsigned int16 ldfldstatic::Au2
+ IL_00db: conv.i4
+ IL_00dc: ldc.i4 0x80
+ IL_00e1: beq.s IL_00ef
+
+ IL_00e3: ldc.i4.0
+ IL_00e4: stloc.0
+ IL_00e5: ldstr "Au2 != 128"
+ IL_00ea: call void [System.Console]System.Console::WriteLine(string)
+ IL_00ef: ldloc.1
+ ldfld int16 ldfldstatic::Ai2
+ IL_00f4: ldc.i4 0xffffff01
+ IL_00f9: beq.s IL_0107
+
+ IL_00fb: ldc.i4.0
+ IL_00fc: stloc.0
+ IL_00fd: ldstr "Ai2 != -255"
+ IL_0102: call void [System.Console]System.Console::WriteLine(string)
+ IL_0107: ldloc.1
+ ldfld unsigned int32 ldfldstatic::Au4
+ IL_010c: ldc.i4 0x12d687
+ IL_0111: beq.s IL_011f
+
+ IL_0113: ldc.i4.0
+ IL_0114: stloc.0
+ IL_0115: ldstr "Au4 != 1234567"
+ IL_011a: call void [System.Console]System.Console::WriteLine(string)
+ IL_011f: ldloc.1
+ ldfld unsigned int64 ldfldstatic::Au8
+ IL_0124: ldc.i4 0x499602d2
+ IL_0129: conv.i8
+ IL_012a: beq.s IL_0138
+
+ IL_012c: ldc.i4.0
+ IL_012d: stloc.0
+ IL_012e: ldstr "Au8 != 1234567890"
+ IL_0133: call void [System.Console]System.Console::WriteLine(string)
+ IL_0138: ldloc.1
+ ldfld string ldfldstatic::Astring
+ IL_013d: ldstr "testing ldfld on static"
+ IL_0142: call bool [mscorlib]System.String::Equals(string,
+ string)
+ IL_0147: brtrue.s IL_0162
+
+ IL_0149: ldc.i4.0
+ IL_014a: stloc.0
+ IL_014b: ldloc.1
+ ldfld string ldfldstatic::Astring
+ IL_0150: ldstr "testing ldfld on static"
+ IL_0155: call bool [mscorlib]System.String::Equals(string,
+ string)
+ IL_015a: ldc.i4.0
+ IL_015b: ceq
+ IL_015d: call void [System.Console]System.Console::WriteLine(bool)
+ IL_0162: ldloc.0
+ IL_0163: brtrue.s IL_0173
+
+ IL_0165: ldstr "FAILED"
+ IL_016a: call void [System.Console]System.Console::WriteLine(string)
+ IL_016f: ldc.i4.1
+ IL_0170: stloc.2
+ IL_0171: br.s IL_0182
+
+ IL_0173: ldstr "PASSED"
+ IL_0178: call void [System.Console]System.Console::WriteLine(string)
+ IL_017d: ldc.i4.s 100
+ IL_017f: stloc.2
+ IL_0180: br.s IL_0182
+
+ IL_0182: ldloc.2
+ IL_0183: ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor()
+ {
+ .maxstack 1
+ IL_0000: ldc.i4.s 65
+ IL_0002: stsfld char ldfldstatic::Achar
+ IL_0007: ldc.i4.1
+ IL_0008: stsfld bool ldfldstatic::Abool
+ IL_000d: ldc.r4 2.1234567
+ IL_0012: stsfld float32 ldfldstatic::Ar4
+ IL_0017: ldc.r8 -3.1234567890123457
+ IL_0020: stsfld float64 ldfldstatic::Ar8
+ IL_0025: ldc.i4.m1
+ IL_0026: stsfld int8 ldfldstatic::Ai1
+ IL_002b: ldc.i4 0xffffff01
+ IL_0030: stsfld int16 ldfldstatic::Ai2
+ IL_0035: ldc.i4 0xffed2979
+ IL_003a: stsfld int32 ldfldstatic::Ai4
+ IL_003f: ldc.i4 0xb669fd2e
+ IL_0044: conv.i8
+ IL_0045: stsfld int64 ldfldstatic::Ai8
+ IL_004a: ldc.i4.1
+ IL_004b: stsfld unsigned int8 ldfldstatic::Au1
+ IL_0050: ldc.i4 0x80
+ IL_0055: stsfld unsigned int16 ldfldstatic::Au2
+ IL_005a: ldc.i4 0x12d687
+ IL_005f: stsfld unsigned int32 ldfldstatic::Au4
+ IL_0064: ldc.i4 0x499602d2
+ IL_0069: conv.i8
+ IL_006a: stsfld unsigned int64 ldfldstatic::Au8
+ IL_006f: ldstr "testing ldfld on static"
+ IL_0074: stsfld string ldfldstatic::Astring
+ IL_0079: ret
+ }
+
+.method public hidebysig specialname rtspecialname
+ instance void .ctor()
+{
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+}
+
+}
diff --git a/tests/src/JIT/Directed/coverage/oldtests/ldfldstatic_il_d.ilproj b/tests/src/JIT/Directed/coverage/oldtests/ldfldstatic_il_d.ilproj
new file mode 100644
index 0000000000..f00cf25333
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/ldfldstatic_il_d.ilproj
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="ldfldstatic.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/oldtests/ldfldstatic_il_r.ilproj b/tests/src/JIT/Directed/coverage/oldtests/ldfldstatic_il_r.ilproj
new file mode 100644
index 0000000000..f0a2ca58e2
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/ldfldstatic_il_r.ilproj
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="ldfldstatic.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/oldtests/ldsshrstsfld.il b/tests/src/JIT/Directed/coverage/oldtests/ldsshrstsfld.il
new file mode 100644
index 0000000000..1bc9a141ea
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/ldsshrstsfld.il
@@ -0,0 +1,83 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+.assembly extern legacy library mscorlib {}
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly ldsshrstsfld {}
+.class private auto ansi beforefieldinit ldsshrstsfld
+ extends [mscorlib]System.Object
+{
+ .field private static char c
+ .method private hidebysig static void f1() cil managed
+ {
+ // Code size 24 (0x18)
+ .maxstack 8
+ IL_0000: ldsfld char ldsshrstsfld::c
+ IL_0005: ldc.i4 0
+ IL_0006: shr
+ IL_0007: //conv.u2
+ IL_0008: stsfld char ldsshrstsfld::c
+ IL_000d: ldsfld char ldsshrstsfld::c
+ IL_0012: call void [System.Console]System.Console::WriteLine(char)
+ IL_0017: ret
+ }
+
+ .method private hidebysig static void f2() cil managed
+ {
+ // Code size 50 (0x32)
+ .maxstack 3
+ .locals init (class [mscorlib]System.Random V_0)
+ IL_0000: newobj instance void [mscorlib]System.Random::.ctor()
+ IL_0005: stloc.0
+ IL_0006: ldloc.0
+ IL_0007: ldc.i4.s 32
+ IL_0009: ldc.i4.s 64
+ IL_000b: callvirt instance int32 [mscorlib]System.Random::Next(int32,
+ int32)
+ IL_0010: call char [mscorlib]System.Convert::ToChar(int32)
+ IL_0015: stsfld char ldsshrstsfld::c
+ IL_001a: ldsfld char ldsshrstsfld::c
+ IL_001f: ldc.i4 0
+ IL_0020: shr
+ IL_0021: //conv.u2
+ IL_0022: stsfld char ldsshrstsfld::c
+ IL_0027: ldsfld char ldsshrstsfld::c
+ IL_002c: call void [System.Console]System.Console::WriteLine(char)
+ IL_0031: ret
+ }
+
+ .method private hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ call void ldsshrstsfld::f1()
+ call void ldsshrstsfld::f2()
+ ldc.i4 100
+ ret
+ }
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ // Code size 8 (0x8)
+ .maxstack 8
+ IL_0000: ldc.i4.s 99
+ IL_0002: stsfld char ldsshrstsfld::c
+ IL_0007: ret
+ } // end of method ldsshrstsfld::.cctor
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ // Code size 7 (0x7)
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ } // end of method ldsshrstsfld::.ctor
+
+}
diff --git a/tests/src/JIT/Directed/coverage/oldtests/ldsshrstsfld_il_d.ilproj b/tests/src/JIT/Directed/coverage/oldtests/ldsshrstsfld_il_d.ilproj
new file mode 100644
index 0000000000..37378dd3a1
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/ldsshrstsfld_il_d.ilproj
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="ldsshrstsfld.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/ldsshrstsfld_il_r.ilproj b/tests/src/JIT/Directed/coverage/oldtests/ldsshrstsfld_il_r.ilproj
new file mode 100644
index 0000000000..5c382c3efb
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/ldsshrstsfld_il_r.ilproj
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="ldsshrstsfld.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/ldvirtftncalli.il b/tests/src/JIT/Directed/coverage/oldtests/ldvirtftncalli.il
new file mode 100644
index 0000000000..6103eb4733
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/ldvirtftncalli.il
@@ -0,0 +1,491 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+//Testing inliner on a small func that contains ldvirtftn and calli
+.assembly extern legacy library mscorlib {}
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly 'ldvirtftncalli'
+{
+}
+.class private auto ansi beforefieldinit A
+ extends [mscorlib]System.Object
+{
+ .method public hidebysig newslot virtual
+ instance int32 f1()
+ {
+ ldc.i4.1
+ ret
+ }
+
+ .method public hidebysig newslot virtual
+ instance int16 f2()
+ {
+ ldc.i4.1
+ ret
+ }
+ .method public hidebysig newslot virtual
+ instance int64 f3()
+ {
+ ldc.i4.1
+ conv.i8
+ ret
+ }
+
+ .method public hidebysig newslot virtual
+ instance unsigned int8 f4()
+ {
+ ldc.i4.1
+ ret
+ }
+
+ .method public hidebysig newslot virtual
+ instance float32 f5()
+ {
+ ldc.r4 1.
+ ret
+ }
+
+ .method public hidebysig newslot virtual
+ instance float64 f6()
+ {
+ ldc.r8 1.
+ ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor()
+ {
+ // Code size 7 (0x7)
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ } // end of method A::.ctor
+
+} // end of class A
+
+.class private auto ansi beforefieldinit B
+ extends A
+{
+ .method public hidebysig virtual instance int32
+ f1()
+ {
+ ldc.i4.s 100
+ ret
+ }
+
+ .method public hidebysig virtual instance int16
+ f2()
+ {
+ ldc.i4.s 100
+ ret
+ }
+
+ .method public hidebysig virtual instance int64
+ f3()
+ {
+ ldc.i4.s 100
+ conv.i8
+ ret
+ }
+
+ .method public hidebysig virtual instance unsigned int8
+ f4()
+ {
+ ldc.i4.s 100
+ ret
+ }
+
+ .method public hidebysig virtual instance float32
+ f5()
+ {
+ ldc.r4 100.
+ ret
+ }
+
+ .method public hidebysig virtual instance float64
+ f6()
+ {
+ ldc.r8 100.
+ ret
+ }
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor()
+ {
+ // Code size 7 (0x7)
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void A::.ctor()
+ IL_0006: ret
+ } // end of method B::.ctor
+
+} // end of class B
+
+.class private auto ansi beforefieldinit Test
+ extends [mscorlib]System.Object
+{
+ .field public static class B b1
+ .method public hidebysig static int32 f1a()
+ {
+
+ ldsfld class B Test::b1
+ dup
+ ldvirtftn instance int32 A::f1()
+ calli instance int32 ()
+ ret
+ }
+
+ .method public hidebysig static int32 f1b(class B b)
+ {
+
+ ldarg.0
+ dup
+ ldvirtftn instance int32 A::f1()
+ calli instance int32 ()
+ ret
+ }
+
+ .method public hidebysig static int32 f1c()
+ {
+
+ newobj instance void B::.ctor()
+ dup
+ ldvirtftn instance int32 A::f1()
+ calli instance int32 ()
+ ret
+ }
+
+ .method public hidebysig static int16 f2a()
+ {
+
+ ldsfld class B Test::b1
+ dup
+ ldvirtftn instance int16 A::f2()
+ calli instance int16 ()
+ ret
+ }
+
+ .method public hidebysig static int16 f2b(class B b)
+ {
+
+ ldarg.0
+ dup
+ ldvirtftn instance int16 A::f2()
+ calli instance int16 ()
+ ret
+ }
+
+ .method public hidebysig static int16 f2c()
+ {
+
+ newobj instance void B::.ctor()
+ dup
+ ldvirtftn instance int16 A::f2()
+ calli instance int16 ()
+ ret
+ }
+
+ .method public hidebysig static int64 f3a()
+ {
+
+ ldsfld class B Test::b1
+ dup
+ ldvirtftn instance int64 A::f3()
+ calli instance int64 ()
+ ret
+ }
+
+ .method public hidebysig static int64 f3b(class B b)
+ {
+
+ ldarg.0
+ dup
+ ldvirtftn instance int64 A::f3()
+ calli instance int64 ()
+ ret
+ }
+
+ .method public hidebysig static int64 f3c()
+ {
+
+ newobj instance void B::.ctor()
+ dup
+ ldvirtftn instance int64 A::f3()
+ calli instance int64 ()
+ ret
+ }
+
+ .method public hidebysig static unsigned int8
+ f4a()
+ {
+
+ ldsfld class B Test::b1
+ dup
+ ldvirtftn instance unsigned int8 A::f4()
+ calli instance unsigned int8 ()
+ ret
+ }
+
+ .method public hidebysig static unsigned int8
+ f4b(class B b)
+ {
+
+ ldarg.0
+ dup
+ ldvirtftn instance unsigned int8 A::f4()
+ calli instance unsigned int8 ()
+ ret
+ }
+
+ .method public hidebysig static unsigned int8
+ f4c()
+ {
+
+ newobj instance void B::.ctor()
+ dup
+ ldvirtftn instance unsigned int8 A::f4()
+ calli instance unsigned int8 ()
+ ret
+ }
+
+ .method public hidebysig static float32
+ f5a()
+ {
+
+ ldsfld class B Test::b1
+ dup
+ ldvirtftn instance float32 A::f5()
+ calli instance float32 ()
+ ret
+ }
+
+ .method public hidebysig static float32
+ f5b(class B b)
+ {
+
+ ldarg.0
+ dup
+ ldvirtftn instance float32 A::f5()
+ calli instance float32 ()
+ ret
+ }
+
+ .method public hidebysig static float32
+ f5c()
+ {
+
+ newobj instance void B::.ctor()
+ dup
+ ldvirtftn instance float32 A::f5()
+ calli instance float32 ()
+ ret
+ }
+
+ .method public hidebysig static float64
+ f6a()
+ {
+
+ ldsfld class B Test::b1
+ dup
+ ldvirtftn instance float64 A::f6()
+ calli instance float64 ()
+ ret
+ }
+
+ .method public hidebysig static float64
+ f6b(class B b)
+ {
+
+ ldarg.0
+ dup
+ ldvirtftn instance float64 A::f6()
+ calli instance float64 ()
+ ret
+ }
+
+ .method public hidebysig static float64
+ f6c()
+ {
+
+ newobj instance void B::.ctor()
+ dup
+ ldvirtftn instance float64 A::f6()
+ calli instance float64 ()
+ ret
+ }
+
+ .method public hidebysig static int32 Main()
+ {
+ .entrypoint
+ // Code size 279 (0x117)
+ .maxstack 20
+ .locals (bool V_0,
+ class B V_1,
+ int32 V_2)
+ IL_0000: ldc.i4.1
+ IL_0001: stloc.0
+ IL_0002: call int32 Test::f1a()
+ IL_0007: ldc.i4.s 100
+ IL_0009: beq.s IL_000d
+
+ IL_000b: ldc.i4.0
+ IL_000c: stloc.0
+ IL_000d: newobj instance void B::.ctor()
+ IL_0012: stloc.1
+ IL_0013: ldloc.1
+ IL_0014: call int32 Test::f1b(class B)
+ IL_0019: ldc.i4.s 100
+ IL_001b: beq.s IL_001f
+
+ IL_001d: ldc.i4.0
+ IL_001e: stloc.0
+ IL_001f: call int32 Test::f1c()
+ IL_0024: ldc.i4.s 100
+ IL_0026: beq.s IL_002a
+
+ IL_0028: ldc.i4.0
+ IL_0029: stloc.0
+ IL_002a: call int16 Test::f2a()
+ IL_002f: ldc.i4.s 100
+ IL_0031: beq.s IL_0035
+
+ IL_0033: ldc.i4.0
+ IL_0034: stloc.0
+ IL_0035: ldloc.1
+ IL_0036: call int16 Test::f2b(class B)
+ IL_003b: ldc.i4.s 100
+ IL_003d: beq.s IL_0041
+
+ IL_003f: ldc.i4.0
+ IL_0040: stloc.0
+ IL_0041: call int16 Test::f2c()
+ IL_0046: ldc.i4.s 100
+ IL_0048: beq.s IL_004c
+
+ IL_004a: ldc.i4.0
+ IL_004b: stloc.0
+ IL_004c: call int64 Test::f3a()
+ IL_0051: ldc.i4.s 100
+ IL_0053: conv.i8
+ IL_0054: beq.s IL_0058
+
+ IL_0056: ldc.i4.0
+ IL_0057: stloc.0
+ IL_0058: ldloc.1
+ IL_0059: call int64 Test::f3b(class B)
+ IL_005e: ldc.i4.s 100
+ IL_0060: conv.i8
+ IL_0061: beq.s IL_0065
+
+ IL_0063: ldc.i4.0
+ IL_0064: stloc.0
+ IL_0065: call int64 Test::f3c()
+ IL_006a: ldc.i4.s 100
+ IL_006c: conv.i8
+ IL_006d: beq.s IL_0071
+
+ IL_006f: ldc.i4.0
+ IL_0070: stloc.0
+ IL_0071: call unsigned int8 Test::f4a()
+ IL_0076: ldc.i4.s 100
+ IL_0078: beq.s IL_007c
+
+ IL_007a: ldc.i4.0
+ IL_007b: stloc.0
+ IL_007c: ldloc.1
+ IL_007d: call unsigned int8 Test::f4b(class B)
+ IL_0082: ldc.i4.s 100
+ IL_0084: beq.s IL_0088
+
+ IL_0086: ldc.i4.0
+ IL_0087: stloc.0
+ IL_0088: call unsigned int8 Test::f4c()
+ IL_008d: ldc.i4.s 100
+ IL_008f: beq.s IL_0093
+
+ IL_0091: ldc.i4.0
+ IL_0092: stloc.0
+ IL_0093: call float32 Test::f5a()
+ IL_0098: ldc.r4 100.
+ IL_009d: beq.s IL_00a1
+
+ IL_009f: ldc.i4.0
+ IL_00a0: stloc.0
+ IL_00a1: ldloc.1
+ IL_00a2: call float32 Test::f5b(class B)
+ IL_00a7: ldc.r4 100.
+ IL_00ac: beq.s IL_00b0
+
+ IL_00ae: ldc.i4.0
+ IL_00af: stloc.0
+ IL_00b0: call float32 Test::f5c()
+ IL_00b5: ldc.r4 100.
+ IL_00ba: beq.s IL_00be
+
+ IL_00bc: ldc.i4.0
+ IL_00bd: stloc.0
+ IL_00be: call float64 Test::f6a()
+ IL_00c3: ldc.r8 100.
+ IL_00cc: beq.s IL_00d0
+
+ IL_00ce: ldc.i4.0
+ IL_00cf: stloc.0
+ IL_00d0: ldloc.1
+ IL_00d1: call float64 Test::f6b(class B)
+ IL_00d6: ldc.r8 100.
+ IL_00df: beq.s IL_00e3
+
+ IL_00e1: ldc.i4.0
+ IL_00e2: stloc.0
+ IL_00e3: call float64 Test::f6c()
+ IL_00e8: ldc.r8 100.
+ IL_00f1: beq.s IL_00f5
+
+ IL_00f3: ldc.i4.0
+ IL_00f4: stloc.0
+ IL_00f5: ldloc.0
+ IL_00f6: brtrue.s IL_0106
+
+ IL_00f8: ldstr "FAILED"
+ IL_00fd: call void [System.Console]System.Console::WriteLine(string)
+ IL_0102: ldc.i4.1
+ IL_0103: stloc.2
+ IL_0104: br.s IL_0115
+
+ IL_0106: ldstr "PASSED"
+ IL_010b: call void [System.Console]System.Console::WriteLine(string)
+ IL_0110: ldc.i4.s 100
+ IL_0112: stloc.2
+ IL_0113: br.s IL_0115
+
+ IL_0115: ldloc.2
+ IL_0116: ret
+ } // end of method Test::Main
+
+ .method private hidebysig specialname rtspecialname static
+ void .cctor()
+ {
+ // Code size 11 (0xb)
+ .maxstack 8
+ IL_0000: newobj instance void B::.ctor()
+ IL_0005: stsfld class B Test::b1
+ IL_000a: ret
+ } // end of method Test::.cctor
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor()
+ {
+ // Code size 7 (0x7)
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ } // end of method Test::.ctor
+
+}
diff --git a/tests/src/JIT/Directed/coverage/oldtests/ldvirtftncalli_il_d.ilproj b/tests/src/JIT/Directed/coverage/oldtests/ldvirtftncalli_il_d.ilproj
new file mode 100644
index 0000000000..a43d7d2752
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/ldvirtftncalli_il_d.ilproj
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="ldvirtftncalli.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/ldvirtftncalli_il_r.ilproj b/tests/src/JIT/Directed/coverage/oldtests/ldvirtftncalli_il_r.ilproj
new file mode 100644
index 0000000000..2473fdd773
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/ldvirtftncalli_il_r.ilproj
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="ldvirtftncalli.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/ovfldiv1.il b/tests/src/JIT/Directed/coverage/oldtests/ovfldiv1.il
new file mode 100644
index 0000000000..ec80efa222
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/ovfldiv1.il
@@ -0,0 +1,80 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly ovfldiv1 {}
+.class private auto ansi beforefieldinit ovfldiv1
+ extends [mscorlib]System.Object
+{
+ .method private hidebysig static int32 Main(string[] args) cil managed
+ {
+ .entrypoint
+ .maxstack 10
+
+ ldc.i8 0x8000000000000000
+ conv.u8
+ ldc.i4 1
+ conv.i8
+ div
+ dup
+ call void [System.Console]System.Console::WriteLine(int64)
+ ldc.i8 0x8000000000000000
+ ceq
+ brfalse FAIL
+
+ ldc.i8 0xFFFFFFFFFFFFFFFF
+ conv.u8
+ ldc.i4.m1
+ conv.i8
+ div
+ dup
+ call void [System.Console]System.Console::WriteLine(int64)
+ ldc.i4.1
+ conv.i8
+ ceq
+ brfalse FAIL
+
+ ldc.i8 0x7999999999999999
+ conv.u8
+ ldc.i4.m1
+ conv.i8
+ div
+ dup
+ call void [System.Console]System.Console::WriteLine(int64)
+ ldc.i8 0x8666666666666667
+ conv.u8
+ ceq
+ brfalse FAIL
+
+ .try
+ {
+ ldc.i8 0x8000000000000000
+ conv.u8
+ ldc.i4.m1
+ conv.i8
+ div
+ leave FAIL
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ leave PASS
+ }
+PASS:
+ ldstr "PASSED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 100
+ ret
+FAIL:
+ ldstr "FAILED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ ret
+ }
+
+}
diff --git a/tests/src/JIT/Directed/coverage/oldtests/ovfldiv1_il_d.ilproj b/tests/src/JIT/Directed/coverage/oldtests/ovfldiv1_il_d.ilproj
new file mode 100644
index 0000000000..ef082dcee9
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/ovfldiv1_il_d.ilproj
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="ovfldiv1.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/oldtests/ovfldiv1_il_r.ilproj b/tests/src/JIT/Directed/coverage/oldtests/ovfldiv1_il_r.ilproj
new file mode 100644
index 0000000000..8f5f943a47
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/ovfldiv1_il_r.ilproj
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="ovfldiv1.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/oldtests/ovfldiv2.il b/tests/src/JIT/Directed/coverage/oldtests/ovfldiv2.il
new file mode 100644
index 0000000000..8ef5ab7492
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/ovfldiv2.il
@@ -0,0 +1,77 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+
+.assembly extern mscorlib { }
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly ovfldiv2 {}
+.class private auto ansi beforefieldinit ovfldiv2
+ extends [mscorlib]System.Object
+{
+ .method private hidebysig static int32 Main(string[] args) cil managed
+ {
+ .entrypoint
+ .maxstack 10
+
+ ldc.i4 0x80000000
+ conv.u4
+ ldc.i4 1
+ div
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ //ldc.i4 0xFFFFFFFF80000000
+ ldc.i4 0x80000000
+ ceq
+ brfalse FAIL
+
+ ldc.i4 0xFFFFFFFF
+ conv.u4
+ ldc.i4 1
+ div
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.m1
+ ceq
+ brfalse FAIL
+
+ ldc.i4 0x79999999
+ conv.u4
+ ldc.i4.m1
+ div
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ //ldc.i4 0xFFFFFFFF86666667
+ ldc.i4 0x86666667
+ ceq
+ brfalse FAIL
+
+ .try
+ {
+ ldc.i4 0x80000000
+ conv.u4
+ ldc.i4.m1
+ div
+ leave FAIL
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ leave PASS
+ }
+PASS:
+ ldstr "PASSED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 100
+ ret
+FAIL:
+ ldstr "FAILED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ ret
+ }
+
+}
diff --git a/tests/src/JIT/Directed/coverage/oldtests/ovfldiv2_il_d.ilproj b/tests/src/JIT/Directed/coverage/oldtests/ovfldiv2_il_d.ilproj
new file mode 100644
index 0000000000..ec115893c1
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/ovfldiv2_il_d.ilproj
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="ovfldiv2.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/ovfldiv2_il_r.ilproj b/tests/src/JIT/Directed/coverage/oldtests/ovfldiv2_il_r.ilproj
new file mode 100644
index 0000000000..6d03359021
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/ovfldiv2_il_r.ilproj
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="ovfldiv2.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/ovflrem1.il b/tests/src/JIT/Directed/coverage/oldtests/ovflrem1.il
new file mode 100644
index 0000000000..ce0c5d5ef7
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/ovflrem1.il
@@ -0,0 +1,80 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly extern mscorlib {}
+.assembly ovflrem1 {}
+.class private auto ansi beforefieldinit ovflrem1
+ extends [mscorlib]System.Object
+{
+ .method private hidebysig static int32 Main(string[] args) cil managed
+ {
+ .entrypoint
+ .maxstack 10
+
+ ldc.i8 0x8000000000000000
+ conv.u8
+ ldc.i4 1
+ conv.i8
+ rem
+ dup
+ call void [System.Console]System.Console::WriteLine(int64)
+ ldc.i8 0
+ ceq
+ brfalse FAIL
+
+ ldc.i8 0xFFFFFFFFFFFFFFFF
+ conv.u8
+ ldc.i4.m1
+ conv.i8
+ rem
+ dup
+ call void [System.Console]System.Console::WriteLine(int64)
+ ldc.i4.0
+ conv.i8
+ ceq
+ brfalse FAIL
+
+ ldc.i8 0x7999999999999999
+ conv.u8
+ ldc.i4.m1
+ conv.i8
+ rem
+ dup
+ call void [System.Console]System.Console::WriteLine(int64)
+ ldc.i8 0
+ conv.u8
+ ceq
+ brfalse FAIL
+
+ .try
+ {
+ ldc.i8 0x8000000000000000
+ conv.u8
+ ldc.i4.m1
+ conv.i8
+ rem
+ leave FAIL
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ leave PASS
+ }
+PASS:
+ ldstr "PASSED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 100
+ ret
+FAIL:
+ ldstr "FAILED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ ret
+ }
+
+}
diff --git a/tests/src/JIT/Directed/coverage/oldtests/ovflrem1_il_d.ilproj b/tests/src/JIT/Directed/coverage/oldtests/ovflrem1_il_d.ilproj
new file mode 100644
index 0000000000..effa9848b0
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/ovflrem1_il_d.ilproj
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="ovflrem1.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/oldtests/ovflrem1_il_r.ilproj b/tests/src/JIT/Directed/coverage/oldtests/ovflrem1_il_r.ilproj
new file mode 100644
index 0000000000..463c697a19
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/ovflrem1_il_r.ilproj
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT .0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="ovflrem1.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/oldtests/ovflrem2.il b/tests/src/JIT/Directed/coverage/oldtests/ovflrem2.il
new file mode 100644
index 0000000000..8a7a780cb7
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/ovflrem2.il
@@ -0,0 +1,75 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+
+.assembly extern mscorlib { }
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly ovflrem2 {}
+.class private auto ansi beforefieldinit ovflrem2
+ extends [mscorlib]System.Object
+{
+ .method private hidebysig static int32 Main(string[] args) cil managed
+ {
+ .entrypoint
+ .maxstack 10
+
+ ldc.i4 0x80000000
+ conv.u4
+ ldc.i4 1
+ rem
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4 0
+ ceq
+ brfalse FAIL
+
+ ldc.i4 0xFFFFFFFF
+ conv.u4
+ ldc.i4 1
+ rem
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4.0
+ ceq
+ brfalse FAIL
+
+ ldc.i4 0x79999999
+ conv.u4
+ ldc.i4.m1
+ rem
+ dup
+ call void [System.Console]System.Console::WriteLine(int32)
+ ldc.i4 0
+ ceq
+ brfalse FAIL
+
+ .try
+ {
+ ldc.i4 0x80000000
+ conv.u4
+ ldc.i4.m1
+ rem
+ leave FAIL
+ }
+ catch [mscorlib]System.OverflowException
+ {
+ leave PASS
+ }
+PASS:
+ ldstr "PASSED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 100
+ ret
+FAIL:
+ ldstr "FAILED"
+ call void [System.Console]System.Console::WriteLine(string)
+ ldc.i4 1
+ ret
+ }
+
+}
diff --git a/tests/src/JIT/Directed/coverage/oldtests/ovflrem2_il_d.ilproj b/tests/src/JIT/Directed/coverage/oldtests/ovflrem2_il_d.ilproj
new file mode 100644
index 0000000000..f1a414e2f6
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/ovflrem2_il_d.ilproj
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="ovflrem2.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/ovflrem2_il_r.ilproj b/tests/src/JIT/Directed/coverage/oldtests/ovflrem2_il_r.ilproj
new file mode 100644
index 0000000000..8b3d0258d7
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/ovflrem2_il_r.ilproj
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="ovflrem2.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/stfldstatic1.il b/tests/src/JIT/Directed/coverage/oldtests/stfldstatic1.il
new file mode 100644
index 0000000000..7d9a0ce8d8
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/stfldstatic1.il
@@ -0,0 +1,117 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+// stfld on static
+.assembly extern legacy library mscorlib {}
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly stfldstatic1 {}
+.class private auto ansi beforefieldinit stfldstatic1
+ extends [mscorlib]System.Object
+{
+ .field private static int32 s1
+ .field private static uint32 s2
+ .field private static int64 s3
+ .field private static uint64 s4
+ .field private static float32 s5
+ .field private static float64 s6
+ .field private static int16 s7
+ .field private static uint16 s8
+ .field private static uint8 s9
+ .field private static valuetype [mscorlib]System.Decimal s10
+ .field private static string s11
+ .field private int32 a
+ .method private hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ // Code size 196 (0xc4)
+ .maxstack 7
+ .locals init (class stfldstatic1 V_0)
+ IL_0000: newobj instance void stfldstatic1::.ctor()
+ IL_0005: stloc.0
+
+ IL_0018: ldloc.0 dup ldfld int32 stfldstatic1::s1
+ IL_001d: ldc.i4.1
+ IL_001e: sub
+ IL_001f: stfld int32 stfldstatic1::s1
+ IL_0024: ldloc.0 dup ldfld uint32 stfldstatic1::s2
+ IL_0029: ldc.i4.1
+ IL_002a: add
+ IL_002b: stfld uint32 stfldstatic1::s2
+ IL_0030: ldloc.0 dup ldfld int64 stfldstatic1::s3
+ IL_0035: ldc.i4.1
+ IL_0036: conv.i8
+ IL_0037: add
+ IL_0038: stfld int64 stfldstatic1::s3
+ IL_003d: ldloc.0 dup ldfld uint64 stfldstatic1::s4
+ IL_0042: ldc.i4.1
+ IL_0043: conv.i8
+ IL_0044: add
+ IL_0045: stfld uint64 stfldstatic1::s4
+ IL_004a: ldloc.0 dup ldfld float32 stfldstatic1::s5
+ IL_004f: ldc.r4 1.23
+ IL_0054: add
+ IL_0055: stfld float32 stfldstatic1::s5
+ IL_005a: ldloc.0 dup ldfld float64 stfldstatic1::s6
+ IL_005f: ldc.r8 8.9000000000000004
+ IL_0068: sub
+ IL_0069: stfld float64 stfldstatic1::s6
+ IL_006e: ldloc.0 dup ldfld int16 stfldstatic1::s7
+ IL_0073: ldc.i4.1
+ IL_0074: add
+ IL_0075: conv.i2
+ IL_0076: stfld int16 stfldstatic1::s7
+ IL_007b: ldloc.0 dup ldfld uint16 stfldstatic1::s8
+ IL_0080: ldc.i4.1
+ IL_0081: sub
+ IL_0082: conv.u2
+ IL_0083: stfld uint16 stfldstatic1::s8
+ IL_0088: ldloc.0 dup ldfld uint8 stfldstatic1::s9
+ IL_008d: ldc.i4.1
+ IL_008e: add
+ IL_008f: conv.u1
+ IL_0090: stfld uint8 stfldstatic1::s9
+ IL_0095: ldloc.0 dup ldfld valuetype [mscorlib]System.Decimal stfldstatic1::s10
+ IL_009a: ldc.i4 0x3e7
+ IL_009f: ldc.i4.0
+ IL_00a0: ldc.i4.0
+ IL_00a1: ldc.i4.0
+ IL_00a2: ldc.i4.1
+ IL_00a3: newobj instance void [mscorlib]System.Decimal::.ctor(int32,
+ int32,
+ int32,
+ bool,
+ uint8)
+ IL_00a8: call valuetype [mscorlib]System.Decimal [mscorlib]System.Decimal::op_Addition(valuetype [mscorlib]System.Decimal,
+ valuetype [mscorlib]System.Decimal)
+ IL_00ad: stfld valuetype [mscorlib]System.Decimal stfldstatic1::s10
+ IL_00b2: ldloc.0 ldstr "test PASSED"
+ IL_00b7: ldc.i4 5
+ IL_00b8: ldc.i4 6
+ IL_00b9: callvirt instance string [mscorlib]System.String::Substring(int32,
+ int32)
+ IL_00be: stfld string stfldstatic1::s11
+
+ ldloc.0
+ ldfld string stfldstatic1::s11
+ call void [System.Console]System.Console::WriteLine(string)
+
+ ldc.i4 100
+ IL_00c3: ret
+ } // end of method stfldstatic1::Main
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ // Code size 7 (0x7)
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ } // end of method stfldstatic1::.ctor
+
+}
diff --git a/tests/src/JIT/Directed/coverage/oldtests/stfldstatic1_il_d.ilproj b/tests/src/JIT/Directed/coverage/oldtests/stfldstatic1_il_d.ilproj
new file mode 100644
index 0000000000..50d1a3ee2d
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/stfldstatic1_il_d.ilproj
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="stfldstatic1.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/stfldstatic1_il_r.ilproj b/tests/src/JIT/Directed/coverage/oldtests/stfldstatic1_il_r.ilproj
new file mode 100644
index 0000000000..bc1984fea8
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/stfldstatic1_il_r.ilproj
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="stfldstatic1.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/stfldstatic2.il b/tests/src/JIT/Directed/coverage/oldtests/stfldstatic2.il
new file mode 100644
index 0000000000..073f33188f
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/stfldstatic2.il
@@ -0,0 +1,117 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+// volatile. stfld on static field
+.assembly extern legacy library mscorlib {}
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly stfldstatic2 {}
+.class private auto ansi beforefieldinit stfldstatic2
+ extends [mscorlib]System.Object
+{
+ .field private static int32 s1
+ .field private static uint32 s2
+ .field private static int64 s3
+ .field private static uint64 s4
+ .field private static float32 s5
+ .field private static float64 s6
+ .field private static int16 s7
+ .field private static uint16 s8
+ .field private static uint8 s9
+ .field private static valuetype [mscorlib]System.Decimal s10
+ .field private static string s11
+ .field private int32 a
+ .method private hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ // Code size 196 (0xc4)
+ .maxstack 7
+ .locals init (class stfldstatic2 V_0)
+ IL_0000: newobj instance void stfldstatic2::.ctor()
+ IL_0005: stloc.0
+
+ IL_0018: ldloc.0 dup volatile. ldfld int32 stfldstatic2::s1
+ IL_001d: ldc.i4.1
+ IL_001e: sub
+ IL_001f: volatile. stfld int32 stfldstatic2::s1
+ IL_0024: ldloc.0 dup volatile. ldfld uint32 stfldstatic2::s2
+ IL_0029: ldc.i4.1
+ IL_002a: add
+ IL_002b: volatile. stfld uint32 stfldstatic2::s2
+ IL_0030: ldloc.0 dup volatile. ldfld int64 stfldstatic2::s3
+ IL_0035: ldc.i4.1
+ IL_0036: conv.i8
+ IL_0037: add
+ IL_0038: volatile. stfld int64 stfldstatic2::s3
+ IL_003d: ldloc.0 dup volatile. ldfld uint64 stfldstatic2::s4
+ IL_0042: ldc.i4.1
+ IL_0043: conv.i8
+ IL_0044: add
+ IL_0045: volatile. stfld uint64 stfldstatic2::s4
+ IL_004a: ldloc.0 dup volatile. ldfld float32 stfldstatic2::s5
+ IL_004f: ldc.r4 1.23
+ IL_0054: add
+ IL_0055: volatile. stfld float32 stfldstatic2::s5
+ IL_005a: ldloc.0 dup volatile. ldfld float64 stfldstatic2::s6
+ IL_005f: ldc.r8 8.9000000000000004
+ IL_0068: sub
+ IL_0069: volatile. stfld float64 stfldstatic2::s6
+ IL_006e: ldloc.0 dup volatile. ldfld int16 stfldstatic2::s7
+ IL_0073: ldc.i4.1
+ IL_0074: add
+ IL_0075: conv.i2
+ IL_0076: volatile. stfld int16 stfldstatic2::s7
+ IL_007b: ldloc.0 dup volatile. ldfld uint16 stfldstatic2::s8
+ IL_0080: ldc.i4.1
+ IL_0081: sub
+ IL_0082: conv.u2
+ IL_0083: volatile. stfld uint16 stfldstatic2::s8
+ IL_0088: ldloc.0 dup volatile. ldfld uint8 stfldstatic2::s9
+ IL_008d: ldc.i4.1
+ IL_008e: add
+ IL_008f: conv.u1
+ IL_0090: volatile. stfld uint8 stfldstatic2::s9
+ IL_0095: ldloc.0 dup volatile. ldfld valuetype [mscorlib]System.Decimal stfldstatic2::s10
+ IL_009a: ldc.i4 0x3e7
+ IL_009f: ldc.i4.0
+ IL_00a0: ldc.i4.0
+ IL_00a1: ldc.i4.0
+ IL_00a2: ldc.i4.1
+ IL_00a3: newobj instance void [mscorlib]System.Decimal::.ctor(int32,
+ int32,
+ int32,
+ bool,
+ uint8)
+ IL_00a8: call valuetype [mscorlib]System.Decimal [mscorlib]System.Decimal::op_Addition(valuetype [mscorlib]System.Decimal,
+ valuetype [mscorlib]System.Decimal)
+ IL_00ad: volatile. stfld valuetype [mscorlib]System.Decimal stfldstatic2::s10
+ IL_00b2: ldloc.0 ldstr "test PASSED"
+ IL_00b7: ldc.i4 5
+ IL_00b8: ldc.i4 6
+ IL_00b9: callvirt instance string [mscorlib]System.String::Substring(int32,
+ int32)
+ IL_00be: volatile. stfld string stfldstatic2::s11
+
+ ldloc.0
+ volatile. ldfld string stfldstatic2::s11
+ call void [System.Console]System.Console::WriteLine(string)
+
+ ldc.i4 100
+ IL_00c3: ret
+ } // end of method stfldstatic2::Main
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ // Code size 7 (0x7)
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ } // end of method stfldstatic2::.ctor
+
+}
diff --git a/tests/src/JIT/Directed/coverage/oldtests/stfldstatic2_il_d.ilproj b/tests/src/JIT/Directed/coverage/oldtests/stfldstatic2_il_d.ilproj
new file mode 100644
index 0000000000..da13722f18
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/stfldstatic2_il_d.ilproj
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="stfldstatic2.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/stfldstatic2_il_r.ilproj b/tests/src/JIT/Directed/coverage/oldtests/stfldstatic2_il_r.ilproj
new file mode 100644
index 0000000000..2888d93011
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/stfldstatic2_il_r.ilproj
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="stfldstatic2.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/subbyref.il b/tests/src/JIT/Directed/coverage/oldtests/subbyref.il
new file mode 100644
index 0000000000..0bfcf29658
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/subbyref.il
@@ -0,0 +1,77 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+// Arithemetic operations are generally only allowed with
+// primitive types, but certain operations are allowed
+// with byrefs
+
+
+
+.assembly extern legacy library mscorlib {}
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly subbyref {}
+.class a extends [mscorlib]System.Object
+{
+.field static class ctest S_1
+.method public static int32 main() cil managed
+{
+ .entrypoint
+ .maxstack 2
+ .locals init (class ctest V_1,
+ class ctest V_2,
+ int32 V_3)
+ IL_0004: newobj instance void ctest::.ctor()
+ IL_0009: stloc.0
+ IL_000a: newobj instance void ctest::.ctor()
+ dup
+ stsfld class ctest a::S_1
+ IL_000f: stloc.1
+
+ // op1: byref, op2: byref
+ IL_0010: ldloca V_2
+ ldloca V_1
+ sub
+ dup
+ stloc.2
+ call void [System.Console]System.Console::WriteLine(int32)
+
+ // op1: byref, op2: int
+ ldloca V_2
+ ldc.i4 1
+ sub
+ call void [System.Console]System.Console::WriteLine(int32)
+
+ldc.i4 100
+ IL_0038: ret
+}
+}
+
+.class private auto ansi ctest
+ extends [mscorlib]System.Object
+{
+ .method public virtual instance int32 f() cil managed
+ {
+ // Code size 5 (0x5)
+ .maxstack 1
+ IL_0000: ldc.i4.s 100
+ IL_0002: br.s IL_0004
+
+ IL_0004: ret
+ } // end of method ctest::f
+
+ .method public specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ // Code size 7 (0x7)
+ .maxstack 1
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ } // end of method ctest::.ctor
+
+} \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/subbyref_il_d.ilproj b/tests/src/JIT/Directed/coverage/oldtests/subbyref_il_d.ilproj
new file mode 100644
index 0000000000..8482730166
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/subbyref_il_d.ilproj
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="subbyref.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/subbyref_il_r.ilproj b/tests/src/JIT/Directed/coverage/oldtests/subbyref_il_r.ilproj
new file mode 100644
index 0000000000..3d19a607e5
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/subbyref_il_r.ilproj
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="subbyref.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/switchdefaultonly1.il b/tests/src/JIT/Directed/coverage/oldtests/switchdefaultonly1.il
new file mode 100644
index 0000000000..61fb946aae
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/switchdefaultonly1.il
@@ -0,0 +1,39 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+.assembly extern legacy library mscorlib {}
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly switchdefaultonly1 {}
+.class private auto ansi beforefieldinit switchdefaultonly1
+ extends [mscorlib]System.Object
+{
+ .method private hidebysig static int32 Main(string[] args) cil managed
+ {
+ .entrypoint
+ // Code size 49 (0x31)
+ .maxstack 2
+ .locals init (int32 V_0)
+ IL_0000: ldarg.0
+ IL_0001: ldlen
+ IL_0002: conv.i4
+ IL_0003: stloc.0
+ IL_0004: ldloc.0
+ IL_0005: ldc.i4.1
+ IL_0006: sub
+ IL_0007: switch (IL_0014)
+ IL_0014: br.s IL_0026
+ IL_0026: ldarg.0
+ IL_0027: ldlen
+ IL_0028: conv.i4
+ IL_0029: call void [System.Console]System.Console::WriteLine(int32)
+ IL_002e: br.s IL_0030
+
+ IL_0030: ldc.i4 100 ret
+ }
+
+}
diff --git a/tests/src/JIT/Directed/coverage/oldtests/switchdefaultonly1_il_d.ilproj b/tests/src/JIT/Directed/coverage/oldtests/switchdefaultonly1_il_d.ilproj
new file mode 100644
index 0000000000..9a7b469a37
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/switchdefaultonly1_il_d.ilproj
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="switchdefaultonly1.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/switchdefaultonly1_il_r.ilproj b/tests/src/JIT/Directed/coverage/oldtests/switchdefaultonly1_il_r.ilproj
new file mode 100644
index 0000000000..20e012cddc
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/switchdefaultonly1_il_r.ilproj
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="switchdefaultonly1.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/switchdefaultonly2.il b/tests/src/JIT/Directed/coverage/oldtests/switchdefaultonly2.il
new file mode 100644
index 0000000000..dbca4e7077
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/switchdefaultonly2.il
@@ -0,0 +1,46 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+.assembly extern legacy library mscorlib {}
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly switchdefaultonly1 {}
+.class private auto ansi beforefieldinit switchdefaultonly1
+ extends [mscorlib]System.Object
+{
+ .method private hidebysig static int32 Main(string[] args) cil managed
+ {
+ .entrypoint
+ // Code size 49 (0x31)
+ .maxstack 2
+ .locals init (int32 V_0)
+ IL_0000: ldarg.0
+ IL_0001: ldlen
+ IL_0002: conv.i4
+ IL_0003: stloc.0
+ IL_0004: ldloc.0
+ IL_0005: ldc.i4.1
+ IL_0006: sub
+ IL_0007: switch (IL_0014)
+ IL_0014: br.s IL_0026
+
+ IL_001c: br.s IL_0030
+
+ IL_001e: ldc.i4.2
+ IL_001f: call void [System.Console]System.Console::WriteLine(int32)
+ IL_0024: br.s IL_0030
+
+ IL_0026: ldarg.0
+ IL_0027: ldlen
+ IL_0028: conv.i4
+ IL_0029: call void [System.Console]System.Console::WriteLine(int32)
+ IL_002e: br.s IL_0030
+
+ IL_0030: ldc.i4 100 ret
+ }
+
+}
diff --git a/tests/src/JIT/Directed/coverage/oldtests/switchdefaultonly2_il_d.ilproj b/tests/src/JIT/Directed/coverage/oldtests/switchdefaultonly2_il_d.ilproj
new file mode 100644
index 0000000000..54c1999f9a
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/switchdefaultonly2_il_d.ilproj
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="switchdefaultonly2.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/switchdefaultonly2_il_r.ilproj b/tests/src/JIT/Directed/coverage/oldtests/switchdefaultonly2_il_r.ilproj
new file mode 100644
index 0000000000..c09a34deae
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/switchdefaultonly2_il_r.ilproj
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="switchdefaultonly2.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/switchdefaultonly3.il b/tests/src/JIT/Directed/coverage/oldtests/switchdefaultonly3.il
new file mode 100644
index 0000000000..de42377654
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/switchdefaultonly3.il
@@ -0,0 +1,51 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+.assembly extern legacy library mscorlib {}
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly switchdefaultonly1 {}
+.class private auto ansi beforefieldinit switchdefaultonly1
+ extends [mscorlib]System.Object
+{
+ .method private hidebysig static int32 Main(string[] args) cil managed
+ {
+ .entrypoint
+ // Code size 49 (0x31)
+ .maxstack 2
+ .locals init (int32 V_0)
+ IL_0000: ldarg.0
+ IL_0001: ldlen
+ IL_0002: conv.i4
+ IL_0003: stloc.0
+ IL_0004: ldloc.0
+ IL_0005: ldc.i4.1
+ IL_0006: sub
+ IL_0007: switch (IL_0014)
+ IL_0014: br.s IL_0026
+ IL_0026: .try
+ {
+ ldarg.0
+ ldlen
+ conv.i4
+ call void [System.Console]System.Console::WriteLine(int32)
+ leave.s IL_002e
+
+ } // end .try
+ catch [mscorlib]System.Exception
+ {
+ pop
+ call void [mscorlib]System.GC::Collect()
+ leave.s IL_002e
+
+ } // end handler
+ IL_002e: br.s IL_0030
+
+ IL_0030: ldc.i4 100 ret
+ }
+
+}
diff --git a/tests/src/JIT/Directed/coverage/oldtests/switchdefaultonly3_il_d.ilproj b/tests/src/JIT/Directed/coverage/oldtests/switchdefaultonly3_il_d.ilproj
new file mode 100644
index 0000000000..8ade89886e
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/switchdefaultonly3_il_d.ilproj
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="switchdefaultonly3.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/switchdefaultonly3_il_r.ilproj b/tests/src/JIT/Directed/coverage/oldtests/switchdefaultonly3_il_r.ilproj
new file mode 100644
index 0000000000..b514f3067b
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/switchdefaultonly3_il_r.ilproj
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="switchdefaultonly3.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/tls1.il b/tests/src/JIT/Directed/coverage/oldtests/tls1.il
new file mode 100644
index 0000000000..af8573b4cc
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/tls1.il
@@ -0,0 +1,30 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+.assembly extern legacy library mscorlib {}
+.assembly tls1 {}
+.namespace 'tls'
+{
+ .class public auto ansi beforefieldinit tls1
+ extends [mscorlib]System.Object
+ {
+ .field public static int32 i
+ .custom instance void [mscorlib]System.ThreadStaticAttribute::.ctor() = ( 01 00 00 00 )
+ .field public static uint8 b
+ .custom instance void [mscorlib]System.ThreadStaticAttribute::.ctor() = ( 01 00 00 00 )
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ // Code size 14 (0xe)
+ .maxstack 8
+ IL_0000: ldc.i4.s 10
+ IL_0002: stsfld int32 'tls'.tls1::i
+ IL_0007: ldc.i4.1
+ IL_0008: stsfld uint8 'tls'.tls1::b
+ IL_000d: ret
+ } // end of method tls1::.cctor
+
+ } // end of class tls1
+
+}
diff --git a/tests/src/JIT/Directed/coverage/oldtests/tls1.ilproj b/tests/src/JIT/Directed/coverage/oldtests/tls1.ilproj
new file mode 100644
index 0000000000..10ce051b92
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/tls1.ilproj
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <RestorePackages>true</RestorePackages>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ <CLRTestKind>BuildOnly</CLRTestKind>
+ <GenerateRunScript>false</GenerateRunScript>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType></DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="tls1.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <PropertyGroup>
+ <ProjectJson>$(JitPackagesConfigFileDirectory)minimal\project.json</ProjectJson>
+ <ProjectLockJson>$(JitPackagesConfigFileDirectory)minimal\project.lock.json</ProjectLockJson>
+ </PropertyGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/oldtests/tls2.il b/tests/src/JIT/Directed/coverage/oldtests/tls2.il
new file mode 100644
index 0000000000..fcd51bc39a
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/tls2.il
@@ -0,0 +1,29 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+.assembly extern legacy library mscorlib {}
+.assembly tls2 {}
+.namespace 'tls'
+{
+ .class public auto ansi beforefieldinit tls2
+ extends [mscorlib]System.Object
+ {
+// .field public static uint8 b at T_00006000
+ .custom instance void [mscorlib]System.ThreadStaticAttribute::.ctor() = ( 01 00 00 00 )
+ .field public static uint8 b
+ .method private hidebysig specialname rtspecialname static
+ void .cctor() cil managed
+ {
+ // Code size 7 (0x7)
+ .maxstack 8
+ IL_0000: ldc.i4.1
+ IL_0001: stsfld uint8 'tls'.tls2::b
+ IL_0006: ret
+ } // end of method tls2::.cctor
+
+ }
+
+}
+//.data tls T_00006000 = bytearray (
+// 02) \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/tls2.ilproj b/tests/src/JIT/Directed/coverage/oldtests/tls2.ilproj
new file mode 100644
index 0000000000..e320cd8db8
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/tls2.ilproj
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <RestorePackages>true</RestorePackages>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ <CLRTestKind>BuildOnly</CLRTestKind>
+ <GenerateRunScript>false</GenerateRunScript>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType></DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="tls2.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <PropertyGroup>
+ <ProjectJson>$(JitPackagesConfigFileDirectory)minimal\project.json</ProjectJson>
+ <ProjectLockJson>$(JitPackagesConfigFileDirectory)minimal\project.lock.json</ProjectLockJson>
+ </PropertyGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/oldtests/tlstest.il b/tests/src/JIT/Directed/coverage/oldtests/tlstest.il
new file mode 100644
index 0000000000..a72f955230
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/tlstest.il
@@ -0,0 +1,78 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+
+.assembly extern mscorlib {}
+.assembly extern tls1 {}
+.assembly extern tls2 {}
+.assembly tlstest {}
+.namespace 'tls'
+{
+ .class private auto ansi beforefieldinit tlstest
+ extends [mscorlib]System.Object
+ {
+ .method private hidebysig static uint8
+ f(uint8* p) cil managed
+ {
+ .maxstack 2
+ .locals (uint8 V_0)
+ IL_0000: ldarg.0
+ IL_0001: ldind.u1
+ IL_0002: ldc.i4.1
+ IL_0003: add
+ IL_0004: conv.u1
+ IL_0005: stloc.0
+ IL_0006: br.s IL_0008
+
+ IL_0008: ldloc.0
+ IL_0009: ret
+ } // end of method tlstest::f
+
+ .method private hidebysig static int32
+ Main() cil managed
+ {
+ .entrypoint
+ .maxstack 2
+ .locals (uint8& pinned V_0)
+ IL_0000: ldsfld int32 [tls1]'tls'.tls1::i
+ IL_0005: ldsfld uint8 [tls1]'tls'.tls1::b
+ IL_000a: add
+ IL_000b: ldsfld uint8 [tls2]'tls'.tls2::b
+ IL_0010: add
+ IL_0011: call void [System.Console]System.Console::WriteLine(int32)
+ IL_0016: ldsflda uint8 [tls1]'tls'.tls1::b
+ IL_001b: stloc.0
+ IL_001c: ldsfld int32 [tls1]'tls'.tls1::i
+ IL_0021: ldloc.0
+ IL_0022: conv.i
+ IL_0023: call uint8 'tls'.tlstest::f(uint8*)
+ IL_0028: add
+ IL_0029: ldsfld uint8 [tls2]'tls'.tls2::b
+ IL_002e: add
+ IL_002f: call void [System.Console]System.Console::WriteLine(int32)
+ IL_0034: ldc.i4.0
+ IL_0035: conv.u
+ IL_0036: stloc.0
+ ldc.i4 100
+ IL_0037: ret
+ } // end of method tlstest::Main
+
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ } // end of method tlstest::.ctor
+
+ } // end of class tlstest
+
+}
diff --git a/tests/src/JIT/Directed/coverage/oldtests/tlstest_il_d.ilproj b/tests/src/JIT/Directed/coverage/oldtests/tlstest_il_d.ilproj
new file mode 100644
index 0000000000..65759fde5c
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/tlstest_il_d.ilproj
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <RestorePackages>true</RestorePackages>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="tlstest.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="tls1.ilproj" />
+ <ProjectReference Include="tls2.ilproj" />
+ </ItemGroup>
+ <PropertyGroup>
+ <ProjectJson>$(JitPackagesConfigFileDirectory)minimal\project.json</ProjectJson>
+ <ProjectLockJson>$(JitPackagesConfigFileDirectory)minimal\project.lock.json</ProjectLockJson>
+ </PropertyGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/oldtests/tlstest_il_r.ilproj b/tests/src/JIT/Directed/coverage/oldtests/tlstest_il_r.ilproj
new file mode 100644
index 0000000000..8dc9f69f1b
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/tlstest_il_r.ilproj
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <RestorePackages>true</RestorePackages>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="tlstest.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="tls1.ilproj" />
+ <ProjectReference Include="tls2.ilproj" />
+ </ItemGroup>
+ <PropertyGroup>
+ <ProjectJson>$(JitPackagesConfigFileDirectory)minimal\project.json</ProjectJson>
+ <ProjectLockJson>$(JitPackagesConfigFileDirectory)minimal\project.lock.json</ProjectLockJson>
+ </PropertyGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project>
diff --git a/tests/src/JIT/Directed/coverage/oldtests/trashreg.il b/tests/src/JIT/Directed/coverage/oldtests/trashreg.il
new file mode 100644
index 0000000000..8030ae72cc
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/trashreg.il
@@ -0,0 +1,72 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+
+.assembly extern mscorlib { }
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly test {}
+.class public sealed a extends [mscorlib]System.Object
+{
+ // specifying beforefieldinit here makes this sample work
+ .class sealed nested public save extends [mscorlib]System.Object
+ //.class beforefieldinit sealed nested public save extends [mscorlib]System.Object
+ {
+ .field public static class [mscorlib]System.ArithmeticException ae
+
+ //Commenting out this type initializer also makes it work
+ .method private specialname rtspecialname static void .cctor()
+ {
+ ret
+ }
+ }
+
+ .method public static int32 a()
+ {
+ .entrypoint
+ .locals init (
+ class [mscorlib]System.ArithmeticException V_1,
+ int32 V_2)
+ .try
+ {
+ ldc.i4.0
+ stloc.s V_2
+ ldc.i4.1
+ ldloc.s V_2
+ div
+ stloc.s V_2
+ leave method_end
+ }
+ catch [mscorlib]System.ArithmeticException
+ {
+ // Uncommenting the following two lines also makes it work
+ //stloc.s V_1
+ //ldloc.s V_1
+ stsfld class [mscorlib]System.ArithmeticException a/save::ae
+ ldsfld class [mscorlib]System.ArithmeticException a/save::ae
+ call instance string [mscorlib]System.Exception::get_Message()
+ call void [System.Console]System.Console::WriteLine(string)
+ leave method_end
+ }
+method_end:
+ ldsfld class [mscorlib]System.ArithmeticException a/save::ae
+ call instance string [mscorlib]System.Exception::get_Message()
+ call void [System.Console]System.Console::WriteLine(string)
+
+ldstr "PASSED"
+call void [System.Console]System.Console::WriteLine(string)
+ldc.i4 100
+ret
+ }
+
+ .method public specialname rtspecialname instance void .ctor()
+ {
+ ldarg.0
+ call instance void [mscorlib]System.Object::.ctor()
+ ret
+ }
+}
diff --git a/tests/src/JIT/Directed/coverage/oldtests/trashreg_il_d.ilproj b/tests/src/JIT/Directed/coverage/oldtests/trashreg_il_d.ilproj
new file mode 100644
index 0000000000..fcca8f24f6
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/trashreg_il_d.ilproj
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="trashreg.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/trashreg_il_r.ilproj b/tests/src/JIT/Directed/coverage/oldtests/trashreg_il_r.ilproj
new file mode 100644
index 0000000000..8811618c56
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/trashreg_il_r.ilproj
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="trashreg.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/volatilecpobj.il b/tests/src/JIT/Directed/coverage/oldtests/volatilecpobj.il
new file mode 100644
index 0000000000..7b720073c7
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/volatilecpobj.il
@@ -0,0 +1,203 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+// volatilecpobj.il
+.assembly extern mscorlib { }
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly volatilecpobj { }
+.namespace JitTest
+{
+ .class private sequential ansi sealed beforefieldinit Test
+ extends [mscorlib]System.ValueType
+ {
+ .field private int32 m_v
+ .method private hidebysig static int32
+ volatilecpobj_ldobj() cil managed
+ {
+ .maxstack 8
+ .locals (value class JitTest.Test[0...10] arr, value class JitTest.Test elem)
+ // arr = new Test[0...10];
+ ldc.i4 11
+ newobj instance void value class JitTest.Test[0...10]::.ctor(int32)
+ stloc.s arr
+
+ // arr[5].m_v = 1234;
+ ldloc.s arr
+ ldc.i4.5
+ call instance value class JitTest.Test& value class JitTest.Test[0...10]::Address(int32)
+ ldc.i4 1234
+ volatile. stfld int32 JitTest.Test::m_v
+
+ // elem = arr[5];
+ ldloc.s arr
+ ldc.i4.5
+ call instance value class JitTest.Test& value class JitTest.Test[0...10]::Address(int32)
+ volatile. ldobj JitTest.Test
+ stloc.s elem
+
+ // return elem.m_v - 1234;
+ ldloca.s elem
+ volatile. ldfld int32 JitTest.Test::m_v
+ ldc.i4 1234
+ xor
+ ret
+ }
+ .method private hidebysig static int32
+ volatilecpobj_initobj() cil managed
+ {
+ .maxstack 8
+ .locals (value class JitTest.Test[0...10] arr)
+ ldc.i4 11
+ newobj instance void value class JitTest.Test[0...10]::.ctor(int32)
+ stloc.s arr
+
+ ldloc.s arr
+ ldc.i4.5
+ call instance value class JitTest.Test& value class JitTest.Test[0...10]::Address(int32)
+ ldc.i4 1234
+ volatile. stfld int32 JitTest.Test::m_v
+
+ ldloc.s arr
+ ldc.i4.5
+ call instance value class JitTest.Test& value class JitTest.Test[0...10]::Address(int32)
+ /* volatile. */ initobj JitTest.Test
+
+ ldloc.s arr
+ ldc.i4.5
+ call instance value class JitTest.Test& value class JitTest.Test[0...10]::Address(int32)
+ volatile. ldfld int32 JitTest.Test::m_v
+ ret
+ }
+
+ .method private hidebysig static int32
+ volatilecpobj_cpobj() cil managed
+ {
+ .maxstack 8
+ .locals (value class JitTest.Test[0...10] arr, value class JitTest.Test elem)
+ ldloca.s elem
+ /* volatile. */ initobj JitTest.Test
+
+ ldc.i4 11
+ newobj instance void value class JitTest.Test[0...10]::.ctor(int32)
+ stloc.s arr
+
+ ldloc.s arr
+ ldc.i4.5
+ call instance value class JitTest.Test& value class JitTest.Test[0...10]::Address(int32)
+ ldc.i4 1234
+ volatile. stfld int32 JitTest.Test::m_v
+
+ ldloc.s arr
+ ldc.i4.5
+ call instance value class JitTest.Test& value class JitTest.Test[0...10]::Address(int32)
+ ldloca.s elem
+ /*volatile. */ cpobj JitTest.Test
+
+ ldloc.s arr
+ ldc.i4.5
+ call instance value class JitTest.Test& value class JitTest.Test[0...10]::Address(int32)
+ volatile. ldfld int32 JitTest.Test::m_v
+ dup
+ brtrue RET
+ pop
+
+ ldloc.s arr
+ ldc.i4.7
+ call instance value class JitTest.Test& value class JitTest.Test[0...10]::Address(int32)
+ ldc.i4 4321
+ volatile. stfld int32 JitTest.Test::m_v
+
+ ldloca.s elem
+ ldloc.s arr
+ ldc.i4.7
+ call instance value class JitTest.Test& value class JitTest.Test[0...10]::Address(int32)
+ /*volatile. */ cpobj JitTest.Test
+
+ ldloca.s elem
+ volatile. ldfld int32 JitTest.Test::m_v
+ ldc.i4 4321
+ xor
+
+ RET:
+ ret
+ }
+
+ .method private hidebysig static int32
+ volatilecpobj_stobj() cil managed
+ {
+ .maxstack 8
+ .locals (value class JitTest.Test[0...10] arr, value class JitTest.Test elem)
+ ldloca.s elem
+ /* volatile. */ initobj JitTest.Test
+
+ ldc.i4 11
+ newobj instance void value class JitTest.Test[0...10]::.ctor(int32)
+ stloc.s arr
+
+ ldloc.s arr
+ ldc.i4.5
+ call instance value class JitTest.Test& value class JitTest.Test[0...10]::Address(int32)
+ ldc.i4 1234
+ volatile. stfld int32 JitTest.Test::m_v
+
+ ldloc.s arr
+ ldc.i4.5
+ call instance value class JitTest.Test& value class JitTest.Test[0...10]::Address(int32)
+ ldloc.s elem
+ volatile. stobj JitTest.Test
+
+ ldloc.s arr
+ ldc.i4.5
+ call instance value class JitTest.Test& value class JitTest.Test[0...10]::Address(int32)
+ volatile. ldfld int32 JitTest.Test::m_v
+ ret
+ }
+ .method private hidebysig static int32
+ Main() cil managed
+ {
+ .entrypoint
+ .maxstack 1
+ .locals (int32 V_0)
+ IL_0000: call int32 JitTest.Test::volatilecpobj_ldobj()
+ IL_0005: brfalse.s IL_0016
+ IL_0007: ldstr "volatilecpobj_ldobj() failed."
+ IL_000c: call void [System.Console]System.Console::WriteLine(string)
+ IL_0011: ldc.i4.s 101
+ IL_0013: stloc.0
+ IL_0014: br.s IL_0067
+ IL_0016: call int32 JitTest.Test::volatilecpobj_initobj()
+ IL_001b: brfalse.s IL_002c
+ IL_001d: ldstr "volatilecpobj_initobj() failed."
+ IL_0022: call void [System.Console]System.Console::WriteLine(string)
+ IL_0027: ldc.i4.s 102
+ IL_0029: stloc.0
+ IL_002a: br.s IL_0067
+ IL_002c: call int32 JitTest.Test::volatilecpobj_stobj()
+ IL_0031: brfalse.s IL_0042
+ IL_0033: ldstr "volatilecpobj_stobj() failed."
+ IL_0038: call void [System.Console]System.Console::WriteLine(string)
+ IL_003d: ldc.i4.s 103
+ IL_003f: stloc.0
+ IL_0040: br.s IL_0067
+ IL_0042: call int32 JitTest.Test::volatilecpobj_cpobj()
+ IL_0047: brfalse.s IL_0058
+ IL_0049: ldstr "volatilecpobj_cpobj() failed."
+ IL_004e: call void [System.Console]System.Console::WriteLine(string)
+ IL_0053: ldc.i4.s 104
+ IL_0055: stloc.0
+ IL_0056: br.s IL_0067
+ IL_0058: ldstr "All tests passed!"
+ IL_005d: call void [System.Console]System.Console::WriteLine(string)
+ IL_0062: ldc.i4.s 100
+ IL_0064: stloc.0
+ IL_0065: br.s IL_0067
+ IL_0067: ldloc.0
+ IL_0068: ret
+ }
+ }
+}
diff --git a/tests/src/JIT/Directed/coverage/oldtests/volatilecpobj_il_d.ilproj b/tests/src/JIT/Directed/coverage/oldtests/volatilecpobj_il_d.ilproj
new file mode 100644
index 0000000000..396485a671
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/volatilecpobj_il_d.ilproj
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="volatilecpobj.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/volatilecpobj_il_r.ilproj b/tests/src/JIT/Directed/coverage/oldtests/volatilecpobj_il_r.ilproj
new file mode 100644
index 0000000000..0d928ecdab
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/volatilecpobj_il_r.ilproj
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="volatilecpobj.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/zeroinit.il b/tests/src/JIT/Directed/coverage/oldtests/zeroinit.il
new file mode 100644
index 0000000000..ffe0d778ba
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/zeroinit.il
@@ -0,0 +1,284 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+//testing .zeroinit
+.assembly extern legacy library mscorlib {}
+.assembly extern System.Console
+{
+ .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A )
+ .ver 4:0:0:0
+}
+.assembly zeroinit {}
+.class private auto ansi beforefieldinit CL
+ extends [mscorlib]System.Object
+{
+ .field public int32 'nop'
+ .method public hidebysig specialname rtspecialname
+ instance void .ctor() cil managed
+ {
+ // Code size 7 (0x7)
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void [mscorlib]System.Object::.ctor()
+ IL_0006: ret
+ } // end of method CL::.ctor
+
+} // end of class CL
+
+.class private sequential ansi sealed beforefieldinit VT
+ extends [mscorlib]System.ValueType
+{
+ .field public int32 'nop'
+} // end of class VT
+
+.class private auto ZeroInit
+{
+ .method public hidebysig static int32 Main() cil managed
+ {
+ .entrypoint
+ .zeroinit
+ // Code size 569 (0x239)
+ .maxstack 2
+ .locals (bool V_0,
+ bool V_1,
+ char V_2,
+ string V_3,
+ float32 V_4,
+ float64 V_5,
+ int8 V_6,
+ int16 V_7,
+ int32 V_8,
+ int64 V_9,
+ native int V_10,
+ native unsigned int V_11,
+ unsigned int8 V_12,
+ unsigned int16 V_13,
+ unsigned int32 V_14,
+ unsigned int64 V_15,
+ object V_16,
+ class CL V_17,
+ valuetype VT V_18,
+ int32 V_19)
+
+ IL_0000: ldc.i4.1
+ IL_0001: stloc.0
+
+ IL_005d: ldloc.1
+ IL_005e: brfalse.s IL_0072
+
+ IL_0060: ldstr "b_locvar is {0}"
+ IL_0065: ldloc.1
+ IL_0066: box [mscorlib]System.Boolean
+ IL_006b: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_0070: ldc.i4.0
+ IL_0071: stloc.0
+ IL_0072: ldloc.2
+ IL_0073: ldc.i4.s 0
+ IL_0075: beq.s IL_0089
+
+ IL_0077: ldstr "c_locvar is {0}"
+ IL_007c: ldloc.2
+ IL_007d: box [mscorlib]System.Char
+ IL_0082: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_0087: ldc.i4.0
+ IL_0088: stloc.0
+ IL_0089: ldloc.3
+ IL_008a: //ldstr ""
+ IL_008f: //call bool [mscorlib]System.String::op_Inequality(string,
+ // string)
+ IL_0094: brfalse.s IL_00a3
+
+ IL_0096: ldstr "str_locvar is {0}"
+ IL_009b: ldloc.3
+ IL_009c: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_00a1: ldc.i4.0
+ IL_00a2: stloc.0
+ IL_00a3: ldloc.s V_4
+ IL_00a5: ldc.r4 0.
+ IL_00aa: beq.s IL_00bf
+
+ IL_00ac: ldstr "r4_locvar is {0}"
+ IL_00b1: ldloc.s V_4
+ IL_00b3: box [mscorlib]System.Single
+ IL_00b8: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_00bd: ldc.i4.0
+ IL_00be: stloc.0
+ IL_00bf: ldloc.s V_5
+ IL_00c1: ldc.r8 0.
+ IL_00ca: beq.s IL_00df
+
+ IL_00cc: ldstr "r8_locvar is {0}"
+ IL_00d1: ldloc.s V_5
+ IL_00d3: box [mscorlib]System.Double
+ IL_00d8: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_00dd: ldc.i4.0
+ IL_00de: stloc.0
+ IL_00df: ldloc.s V_6
+ IL_00e1: conv.i4
+ IL_00e2: brfalse.s IL_00f7
+
+ IL_00e4: ldstr "i1_locvar is {0}"
+ IL_00e9: ldloc.s V_6
+ IL_00eb: box [mscorlib]System.SByte
+ IL_00f0: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_00f5: ldc.i4.0
+ IL_00f6: stloc.0
+ IL_00f7: ldloc.s V_7
+ IL_00f9: brfalse.s IL_010e
+
+ IL_00fb: ldstr "i2_locvar is {0}"
+ IL_0100: ldloc.s V_7
+ IL_0102: box [mscorlib]System.Int16
+ IL_0107: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_010c: ldc.i4.0
+ IL_010d: stloc.0
+ IL_010e: ldloc.s V_8
+ IL_0110: brfalse.s IL_0125
+
+ IL_0112: ldstr "i4_locvar is {0}"
+ IL_0117: ldloc.s V_8
+ IL_0119: box [mscorlib]System.Int32
+ IL_011e: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_0123: ldc.i4.0
+ IL_0124: stloc.0
+ IL_0125: ldloc.s V_9
+ IL_0127: ldc.i4.0
+ IL_0128: conv.i8
+ IL_0129: beq.s IL_013e
+
+ IL_012b: ldstr "i8_locvar is {0}"
+ IL_0130: ldloc.s V_9
+ IL_0132: box [mscorlib]System.Int64
+ IL_0137: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_013c: ldc.i4.0
+ IL_013d: stloc.0
+ IL_013e: ldloc.s V_10
+ IL_0140: ldsfld native int [mscorlib]System.IntPtr::Zero
+ IL_0145: call bool [mscorlib]System.IntPtr::op_Inequality(native int,
+ native int)
+ IL_014a: brfalse.s IL_015f
+
+ IL_014c: ldstr "i_locvar is {0}"
+ IL_0151: ldloc.s V_10
+ IL_0153: box [mscorlib]System.IntPtr
+ IL_0158: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_015d: ldc.i4.0
+ IL_015e: stloc.0
+ IL_015f: ldloc.s V_11
+ IL_0161: ldsfld native unsigned int [mscorlib]System.UIntPtr::Zero
+ IL_0166: call bool [mscorlib]System.UIntPtr::op_Inequality(native unsigned int,
+ native unsigned int)
+ IL_016b: brfalse.s IL_0180
+
+ IL_016d: ldstr "u_locvar is {0}"
+ IL_0172: ldloc.s V_11
+ IL_0174: box [mscorlib]System.UIntPtr
+ IL_0179: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_017e: ldc.i4.0
+ IL_017f: stloc.0
+ IL_0180: ldloc.s V_12
+ IL_0182: brfalse.s IL_0197
+
+ IL_0184: ldstr "u1_locvar is {0}"
+ IL_0189: ldloc.s V_12
+ IL_018b: box [mscorlib]System.Byte
+ IL_0190: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_0195: ldc.i4.0
+ IL_0196: stloc.0
+ IL_0197: ldloc.s V_13
+ IL_0199: conv.i4
+ IL_019a: brfalse.s IL_01af
+
+ IL_019c: ldstr "u2_locvar is {0}"
+ IL_01a1: ldloc.s V_13
+ IL_01a3: box [mscorlib]System.UInt16
+ IL_01a8: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_01ad: ldc.i4.0
+ IL_01ae: stloc.0
+ IL_01af: ldloc.s V_14
+ IL_01b1: brfalse.s IL_01c6
+
+ IL_01b3: ldstr "u4_locvar is {0}"
+ IL_01b8: ldloc.s V_14
+ IL_01ba: box [mscorlib]System.UInt32
+ IL_01bf: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_01c4: ldc.i4.0
+ IL_01c5: stloc.0
+ IL_01c6: ldloc.s V_15
+ IL_01c8: ldc.i4.0
+ IL_01c9: conv.i8
+ IL_01ca: beq.s IL_01df
+
+ IL_01cc: ldstr "u8_locvar is {0}"
+ IL_01d1: ldloc.s V_15
+ IL_01d3: box [mscorlib]System.UInt64
+ IL_01d8: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_01dd: ldc.i4.0
+ IL_01de: stloc.0
+ IL_01df: ldloc.s V_16
+ IL_01e1: brfalse.s IL_01f1
+
+ IL_01e3: ldstr "o_locvar is {0}"
+ IL_01e8: ldloc.s V_16
+ IL_01ea: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_01ef: ldc.i4.0
+ IL_01f0: stloc.0
+ IL_01f1: ldloc.s V_17
+ IL_01f3: brfalse.s IL_0224
+
+ IL_01f5: ldstr "cl_locvar is {0}"
+ IL_01fa: ldloc.s V_17
+ IL_01fc: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_0201: ldc.i4.0
+ IL_0202: stloc.0
+
+ IL_0224: ldloca.s V_18
+ IL_0226: ldfld int32 VT::'nop'
+ IL_022b: brfalse.s IL_0254
+ IL_022d: ldstr "vt_locvar.nop is {0}"
+ IL_0232: ldloca.s V_18
+ IL_0234: ldfld int32 VT::'nop'
+ IL_0239: box [mscorlib]System.Int32
+ IL_023e: call void [System.Console]System.Console::WriteLine(string,
+ object)
+ IL_0243: ldc.i4.0
+ IL_0244: stloc.0
+
+ IL_0254: ldloc.0
+ IL_0255: brtrue.s IL_0266
+
+ IL_0257: ldstr "FAILED"
+ IL_025c: call void [System.Console]System.Console::WriteLine(string)
+ IL_0261: ldc.i4.1
+ IL_0262: stloc.s V_19
+ IL_0264: br.s IL_0276
+
+ IL_0266: ldstr "PASSED"
+ IL_026b: call void [System.Console]System.Console::WriteLine(string)
+ IL_0270: ldc.i4.s 100
+ IL_0272: stloc.s V_19
+ IL_0274: br.s IL_0276
+
+ IL_0276: ldloc.s V_19
+ IL_0278: ret
+ }
+
+} \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/zeroinit_il_d.ilproj b/tests/src/JIT/Directed/coverage/oldtests/zeroinit_il_d.ilproj
new file mode 100644
index 0000000000..5ff230edbc
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/zeroinit_il_d.ilproj
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+ <DebugType>Full</DebugType>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="zeroinit.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/tests/src/JIT/Directed/coverage/oldtests/zeroinit_il_r.ilproj b/tests/src/JIT/Directed/coverage/oldtests/zeroinit_il_r.ilproj
new file mode 100644
index 0000000000..de8bc5cd61
--- /dev/null
+++ b/tests/src/JIT/Directed/coverage/oldtests/zeroinit_il_r.ilproj
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <AssemblyName>$(MSBuildProjectName)</AssemblyName>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ </PropertyGroup>
+ <!-- Default configurations to help VS understand the configurations -->
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ </PropertyGroup>
+ <ItemGroup>
+ <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+ <Visible>False</Visible>
+ </CodeAnalysisDependentAssemblyPaths>
+ </ItemGroup>
+ <PropertyGroup>
+
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="zeroinit.il" />
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
+ <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
+ </PropertyGroup>
+</Project> \ No newline at end of file