Fix interop test cases to pass doubles for native varargs. (#23690)
authorAndy Ayers <andya@microsoft.com>
Wed, 3 Apr 2019 21:22:07 +0000 (14:22 -0700)
committerGitHub <noreply@github.com>
Wed, 3 Apr 2019 21:22:07 +0000 (14:22 -0700)
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
tests/src/JIT/jit64/mcc/interop/mcc_i10.il
tests/src/JIT/jit64/mcc/interop/mcc_i11.il
tests/src/JIT/jit64/mcc/interop/mcc_i12.il
tests/src/JIT/jit64/mcc/interop/mcc_i13.il

index ec060ad..79e5598 100644 (file)
@@ -71,6 +71,9 @@
         <ExcludeList Include="$(XunitTestBinBase)/tracing/keyword/TwoKeywords/TwoKeywords/*">
             <Issue>23224, often fails with timeout in release</Issue>
         </ExcludeList>
+        <ExcludeList Include="$(XunitTestBinBase)/tracing/tracecontrol/tracecontrol/*">
+            <Issue>20299</Issue>
+        </ExcludeList>
     </ItemGroup>
 
     <!-- All Unix targets -->
         </ExcludeList>
     </ItemGroup>
 
-    <ItemGroup Condition="'$(XunitTestBinBase)' != ''">
-        <ExcludeList Include="$(XunitTestBinBase)/tracing/tracecontrol/tracecontrol/*">
-            <Issue>20299</Issue>
-        </ExcludeList>
-    </ItemGroup>
-
-    <!-- Windows specific excludes -->
-    <ItemGroup Condition="'$(XunitTestBinBase)' != '' and '$(TargetsWindows)' == 'true'">
-         <ExcludeList Include="$(XunitTestBinBase)/JIT/jit64/mcc/interop/mcc_i11/*">
-            <Issue>22974</Issue>
-        </ExcludeList>
-        <ExcludeList Include="$(XunitTestBinBase)/JIT/jit64/mcc/interop/mcc_i10/*">
-            <Issue>22974</Issue>
-        </ExcludeList>
-        <ExcludeList Include="$(XunitTestBinBase)/JIT/jit64/mcc/interop/mcc_i12/*">
-            <Issue>22974</Issue>
-        </ExcludeList>
-        <ExcludeList Include="$(XunitTestBinBase)/JIT/jit64/mcc/interop/mcc_i13/*">
-            <Issue>22974</Issue>
-        </ExcludeList>
-    </ItemGroup>
-
     <!-- Windows x64 specific excludes -->
     <ItemGroup Condition="'$(XunitTestBinBase)' != '' and '$(BuildArch)' == 'x64' and '$(TargetsWindows)' == 'true'">
         <ExcludeList Include="$(XunitTestBinBase)/JIT/Regression/JitBlue/GitHub_18056/Bool_And_Op_cs_do/*">
index 2ab1864..049bdd8 100644 (file)
@@ -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)
       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
 
index 832d977..d498535 100644 (file)
@@ -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)
         [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
index 5574922..bf9c60c 100644 (file)
   .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
     }
 
index 3bff174..9509537 100644 (file)
   .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()