From 438feccd7cde138356d35162863e94b8ddba3ee7 Mon Sep 17 00:00:00 2001 From: Andy Ayers Date: Wed, 3 Apr 2019 14:22:07 -0700 Subject: [PATCH] Fix interop test cases to pass doubles for native varargs. (#23690) Remove these tests from the windows exclude list. Also move one other exclude entry from its own section into the general exclude list. Closes #22974 --- tests/issues.targets | 25 ++----------- tests/src/JIT/jit64/mcc/interop/mcc_i10.il | 28 +++++++-------- tests/src/JIT/jit64/mcc/interop/mcc_i11.il | 56 ++++++++++++++--------------- tests/src/JIT/jit64/mcc/interop/mcc_i12.il | 54 ++++++++++++++-------------- tests/src/JIT/jit64/mcc/interop/mcc_i13.il | 58 +++++++++++++++--------------- 5 files changed, 101 insertions(+), 120 deletions(-) diff --git a/tests/issues.targets b/tests/issues.targets index ec060ad..79e5598 100644 --- a/tests/issues.targets +++ b/tests/issues.targets @@ -71,6 +71,9 @@ 23224, often fails with timeout in release + + 20299 + @@ -256,28 +259,6 @@ - - - 20299 - - - - - - - 22974 - - - 22974 - - - 22974 - - - 22974 - - - diff --git a/tests/src/JIT/jit64/mcc/interop/mcc_i10.il b/tests/src/JIT/jit64/mcc/interop/mcc_i10.il index 2ab1864..049bdd8 100644 --- a/tests/src/JIT/jit64/mcc/interop/mcc_i10.il +++ b/tests/src/JIT/jit64/mcc/interop/mcc_i10.il @@ -13,7 +13,7 @@ .class MyClass { .method assembly static pinvokeimpl("native_i1c" as "#1" cdecl) - vararg valuetype MCCTest.VType1 Sum(float32) cil managed preservesig { + vararg valuetype MCCTest.VType1 Sum(float64) cil managed preservesig { } .method private static int32 Main(string[] args) @@ -39,19 +39,19 @@ ldc.r8 12 ldc.r8 1 neg - call vararg valuetype MCCTest.VType1 MCCTest.MyClass::Sum(float32, ..., - float32, - float32, - float32, - float32, - float32, - float32, - float32, - float32, - float32, - float32, - float32, - float32) + call vararg valuetype MCCTest.VType1 MCCTest.MyClass::Sum(float64, ..., + float64, + float64, + float64, + float64, + float64, + float64, + float64, + float64, + float64, + float64, + float64, + float64) stloc.s res diff --git a/tests/src/JIT/jit64/mcc/interop/mcc_i11.il b/tests/src/JIT/jit64/mcc/interop/mcc_i11.il index 832d977..d498535 100644 --- a/tests/src/JIT/jit64/mcc/interop/mcc_i11.il +++ b/tests/src/JIT/jit64/mcc/interop/mcc_i11.il @@ -15,7 +15,7 @@ .class MyClass { .method assembly static pinvokeimpl("native_i1c.dll" as "#1" cdecl) - vararg valuetype MCCTest.VType1 Sum(float32) cil managed preservesig { + vararg valuetype MCCTest.VType1 Sum(float64) cil managed preservesig { } .method private static int32 Main(string[] args) @@ -27,34 +27,34 @@ [1] int32 rc ) - ldc.r4 1 - ldc.r4 2 - ldc.r4 3 - ldc.r4 4 - ldc.r4 5 - ldc.r4 6 - ldc.r4 7 - ldc.r4 8 - ldc.r4 9 - ldc.r4 10 - ldc.r4 11 - ldc.r4 12 - ldc.r4 1 + ldc.r8 1 + ldc.r8 2 + ldc.r8 3 + ldc.r8 4 + ldc.r8 5 + ldc.r8 6 + ldc.r8 7 + ldc.r8 8 + ldc.r8 9 + ldc.r8 10 + ldc.r8 11 + ldc.r8 12 + ldc.r8 1 neg - ldftn vararg valuetype MCCTest.VType1 MCCTest.MyClass::Sum(float32) - calli vararg valuetype MCCTest.VType1(float32, ..., - float32, - float32, - float32, - float32, - float32, - float32, - float32, - float32, - float32, - float32, - float32, - float32) + ldftn vararg valuetype MCCTest.VType1 MCCTest.MyClass::Sum(float64) + calli vararg valuetype MCCTest.VType1(float64, ..., + float64, + float64, + float64, + float64, + float64, + float64, + float64, + float64, + float64, + float64, + float64, + float64) stloc.s res // Check Result diff --git a/tests/src/JIT/jit64/mcc/interop/mcc_i12.il b/tests/src/JIT/jit64/mcc/interop/mcc_i12.il index 5574922..bf9c60c 100644 --- a/tests/src/JIT/jit64/mcc/interop/mcc_i12.il +++ b/tests/src/JIT/jit64/mcc/interop/mcc_i12.il @@ -15,40 +15,40 @@ .class MyClass { .method assembly static pinvokeimpl("native_i1c.dll" as "#1" cdecl) - vararg valuetype MCCTest.VType1 Sum(float32) cil managed preservesig { + vararg valuetype MCCTest.VType1 Sum(float64) cil managed preservesig { } .method private valuetype MCCTest.VType1 GetSum() { .maxstack 64 - ldc.r4 1 - ldc.r4 2 - ldc.r4 3 - ldc.r4 4 - ldc.r4 5 - ldc.r4 6 - ldc.r4 7 - ldc.r4 8 - ldc.r4 9 - ldc.r4 10 - ldc.r4 11 - ldc.r4 12 - ldc.r4 1 + ldc.r8 1 + ldc.r8 2 + ldc.r8 3 + ldc.r8 4 + ldc.r8 5 + ldc.r8 6 + ldc.r8 7 + ldc.r8 8 + ldc.r8 9 + ldc.r8 10 + ldc.r8 11 + ldc.r8 12 + ldc.r8 1 neg tail. - call vararg valuetype MCCTest.VType1 MCCTest.MyClass::Sum(float32, ..., - float32, - float32, - float32, - float32, - float32, - float32, - float32, - float32, - float32, - float32, - float32, - float32) + call vararg valuetype MCCTest.VType1 MCCTest.MyClass::Sum(float64, ..., + float64, + float64, + float64, + float64, + float64, + float64, + float64, + float64, + float64, + float64, + float64, + float64) ret } diff --git a/tests/src/JIT/jit64/mcc/interop/mcc_i13.il b/tests/src/JIT/jit64/mcc/interop/mcc_i13.il index 3bff174..9509537 100644 --- a/tests/src/JIT/jit64/mcc/interop/mcc_i13.il +++ b/tests/src/JIT/jit64/mcc/interop/mcc_i13.il @@ -15,45 +15,45 @@ .class MyClass { .method assembly static pinvokeimpl("native_i1c.dll" as "#1" cdecl) - vararg valuetype MCCTest.VType1 Sum(float32) cil managed preservesig { + vararg valuetype MCCTest.VType1 Sum(float64) cil managed preservesig { } .method private valuetype MCCTest.VType1 GetSum() { .maxstack 64 - ldc.r4 1 - ldc.r4 2 - ldc.r4 3 - ldc.r4 4 - ldc.r4 5 - ldc.r4 6 - ldc.r4 7 - ldc.r4 8 - ldc.r4 9 - ldc.r4 10 - ldc.r4 11 - ldc.r4 12 - ldc.r4 1 + ldc.r8 1 + ldc.r8 2 + ldc.r8 3 + ldc.r8 4 + ldc.r8 5 + ldc.r8 6 + ldc.r8 7 + ldc.r8 8 + ldc.r8 9 + ldc.r8 10 + ldc.r8 11 + ldc.r8 12 + ldc.r8 1 neg - call vararg valuetype MCCTest.VType1 MCCTest.MyClass::GetSum2(float32, ..., - float32, - float32, - float32, - float32, - float32, - float32, - float32, - float32, - float32, - float32, - float32, - float32) + call vararg valuetype MCCTest.VType1 MCCTest.MyClass::GetSum2(float64, ..., + float64, + float64, + float64, + float64, + float64, + float64, + float64, + float64, + float64, + float64, + float64, + float64) ret } - .method private static vararg valuetype MCCTest.VType1 GetSum2(float32) + .method private static vararg valuetype MCCTest.VType1 GetSum2(float64) { - jmp vararg valuetype MCCTest.VType1 MCCTest.MyClass::Sum(float32) + jmp vararg valuetype MCCTest.VType1 MCCTest.MyClass::Sum(float64) } .method public specialname rtspecialname instance void .ctor() -- 2.7.4