Skip to content

Commit

Permalink
Fix interop test cases to pass doubles for native varargs. (dotnet/co…
Browse files Browse the repository at this point in the history
…reclr#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 dotnet/coreclr#22974

Commit migrated from dotnet/coreclr@438fecc
  • Loading branch information
AndyAyersMS authored Apr 3, 2019
1 parent afddddd commit 6a73f52
Show file tree
Hide file tree
Showing 5 changed files with 101 additions and 120 deletions.
25 changes: 3 additions & 22 deletions src/coreclr/tests/issues.targets
Original file line number Diff line number Diff line change
Expand Up @@ -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 -->
Expand Down Expand Up @@ -256,28 +259,6 @@
</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/*">
Expand Down
28 changes: 14 additions & 14 deletions src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i10.il
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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

Expand Down
56 changes: 28 additions & 28 deletions src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i11.il
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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
Expand Down
54 changes: 27 additions & 27 deletions src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i12.il
Original file line number Diff line number Diff line change
Expand Up @@ -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
}

Expand Down
58 changes: 29 additions & 29 deletions src/coreclr/tests/src/JIT/jit64/mcc/interop/mcc_i13.il
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand Down

0 comments on commit 6a73f52

Please sign in to comment.