diff options
author | Hongtao Yu <hoy@microsoft.com> | 2015-12-08 20:32:22 -0800 |
---|---|---|
committer | Hongtao Yu <hoy@microsoft.com> | 2015-12-09 13:00:56 -0800 |
commit | bb07af3e0b0e6bf2b9b733ac8b9acd4936e04141 (patch) | |
tree | d622505760aab44a2393cc00633af3764e924e0a /tests/src/JIT/jit64/mcc/interop/mcc_i33.il | |
parent | c339949d5c69ff7b4e0d79514ae93b66c63769a2 (diff) | |
download | coreclr-bb07af3e0b0e6bf2b9b733ac8b9acd4936e04141.tar.gz coreclr-bb07af3e0b0e6bf2b9b733ac8b9acd4936e04141.tar.bz2 coreclr-bb07af3e0b0e6bf2b9b733ac8b9acd4936e04141.zip |
Port interopt tests
Disable tests using stdcall pinvoke calls for non-windows platform.
jit\jit64\mcc\interop\mcc_i00.il
jit\jit64\mcc\interop\mcc_i01.il
jit\jit64\mcc\interop\mcc_i02.il
jit\jit64\mcc\interop\mcc_i03.il
jit\jit64\mcc\interop\mcc_i04.il
jit\jit64\mcc\interop\mcc_i05.il
jit\jit64\mcc\interop\mcc_i06.il
jit\jit64\mcc\interop\mcc_i07.il
jit\jit64\mcc\interop\mcc_i14.il
jit\jit64\mcc\interop\mcc_i15.il
jit\jit64\mcc\interop\mcc_i16.il
jit\jit64\mcc\interop\mcc_i17.il
jit\jit64\mcc\interop\mcc_i30.il
jit\jit64\mcc\interop\mcc_i31.il
jit\jit64\mcc\interop\mcc_i32.il
jit\jit64\mcc\interop\mcc_i32.il
jit\jit64\mcc\interop\mcc_i33.il
jit\jit64\mcc\interop\mcc_i34.il
jit\jit64\mcc\interop\mcc_i35.il
jit\jit64\mcc\interop\mcc_i36.il
jit\jit64\mcc\interop\mcc_i37.il
jit\jit64\mcc\interop\mcc_i50.il
jit\jit64\mcc\interop\mcc_i51.il
jit\jit64\mcc\interop\mcc_i52.il
jit\jit64\mcc\interop\mcc_i53.il
jit\jit64\mcc\interop\mcc_i54.il
jit\jit64\mcc\interop\mcc_i55.il
jit\jit64\mcc\interop\mcc_i56.il
jit\jit64\mcc\interop\mcc_i57.il
jit\jit64\mcc\interop\mcc_i60.il
jit\jit64\mcc\interop\mcc_i61.il
jit\jit64\mcc\interop\mcc_i62.il
jit\jit64\mcc\interop\mcc_i63.il
jit\jit64\mcc\interop\mcc_i64.il
jit\jit64\mcc\interop\mcc_i65.il
jit\jit64\mcc\interop\mcc_i66.il
jit\jit64\mcc\interop\mcc_i67.il
jit\jit64\mcc\interop\mcc_i70.il
jit\jit64\mcc\interop\mcc_i71.il
jit\jit64\mcc\interop\mcc_i72.il
jit\jit64\mcc\interop\mcc_i73.il
jit\jit64\mcc\interop\mcc_i74.il
jit\jit64\mcc\interop\mcc_i75.il
jit\jit64\mcc\interop\mcc_i76.il
jit\jit64\mcc\interop\mcc_i77.il
jit\jit64\mcc\interop\mcc_i80.il
jit\jit64\mcc\interop\mcc_i81.il
jit\jit64\mcc\interop\mcc_i82.il
jit\jit64\mcc\interop\mcc_i83.il
jit\jit64\mcc\interop\mcc_i84.il
jit\jit64\mcc\interop\mcc_i85.il
jit\jit64\mcc\interop\mcc_i86.il
jit\jit64\mcc\interop\mcc_i87.il
Disable all tests for non-windows due to dll name resolution
Diffstat (limited to 'tests/src/JIT/jit64/mcc/interop/mcc_i33.il')
-rw-r--r-- | tests/src/JIT/jit64/mcc/interop/mcc_i33.il | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/tests/src/JIT/jit64/mcc/interop/mcc_i33.il b/tests/src/JIT/jit64/mcc/interop/mcc_i33.il new file mode 100644 index 0000000000..065e6c1ca0 --- /dev/null +++ b/tests/src/JIT/jit64/mcc/interop/mcc_i33.il @@ -0,0 +1,139 @@ +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + + +.assembly extern mscorlib {} +.assembly MCCTest {} +.module mcc_i33.exe + + +.namespace MCCTest +{ + .class MyClass + { + .method assembly static pinvokeimpl("native_i3c" as "#1" cdecl) + vararg valuetype MCCTest.VType3 Sum(float64, int32, int64, float32, int16, float64) cil managed preservesig { + } + + .method private valuetype MCCTest.VType3 GetSum() + { + .maxstack 64 + .locals init ( + [0] valuetype MCCTest.VType3 v1, + [1] valuetype MCCTest.VType3 v2, + [2] valuetype MCCTest.VType3 v3, + [3] valuetype MCCTest.VType3 v4, + [4] valuetype MCCTest.VType3 v5, + [5] valuetype MCCTest.VType3 v6, + [6] valuetype MCCTest.VType3 v7, + [7] valuetype MCCTest.VType3 v8, + [8] valuetype MCCTest.VType3 v9, + [9] valuetype MCCTest.VType3 v10, + [10] valuetype MCCTest.VType3 v11, + [11] valuetype MCCTest.VType3 v12 + ) + + // Initialize v1 thru v12 + ldloca.s v1 + call instance void MCCTest.VType3::Init() + ldloca.s v2 + call instance void MCCTest.VType3::Init() + ldloca.s v3 + call instance void MCCTest.VType3::Init() + ldloca.s v4 + call instance void MCCTest.VType3::Init() + ldloca.s v5 + call instance void MCCTest.VType3::Init() + ldloca.s v6 + call instance void MCCTest.VType3::Init() + ldloca.s v7 + call instance void MCCTest.VType3::Init() + ldloca.s v8 + call instance void MCCTest.VType3::Init() + ldloca.s v9 + call instance void MCCTest.VType3::Init() + ldloca.s v10 + call instance void MCCTest.VType3::Init() + ldloca.s v11 + call instance void MCCTest.VType3::Init() + ldloca.s v12 + call instance void MCCTest.VType3::Init() + + ldc.r8 5 + ldc.i4 1 + ldc.i8 2 + ldc.r4 -1 + ldc.i4 -3 + conv.i2 + ldc.r8 8 + ldloc.s v1 + ldloc.s v2 + ldloc.s v3 + ldloc.s v4 + ldloc.s v5 + ldloc.s v6 + ldloc.s v7 + ldloc.s v8 + ldloc.s v9 + ldloc.s v10 + ldloc.s v11 + ldloc.s v12 + call vararg valuetype MCCTest.VType3 MCCTest.MyClass::GetSum2(float64, int32, int64, float32, int16, float64, ..., + valuetype MCCTest.VType3, + valuetype MCCTest.VType3, + valuetype MCCTest.VType3, + valuetype MCCTest.VType3, + valuetype MCCTest.VType3, + valuetype MCCTest.VType3, + valuetype MCCTest.VType3, + valuetype MCCTest.VType3, + valuetype MCCTest.VType3, + valuetype MCCTest.VType3, + valuetype MCCTest.VType3, + valuetype MCCTest.VType3) + ret + } + + .method private static vararg valuetype MCCTest.VType3 GetSum2(float64, int32, int64, float32, int16, float64) + { + jmp vararg valuetype MCCTest.VType3 MCCTest.MyClass::Sum(float64, int32, int64, float32, int16, float64) + } + + .method public specialname rtspecialname instance void .ctor() + { + .maxstack 1 + ldarg.0 + call instance void [mscorlib]System.Object::.ctor() + ret + } // end of method MyClass::.ctor + + .method private static int32 Main(string[] args) + { + .entrypoint + .maxstack 64 + .locals init ( + [0] class MCCTest.MyClass me, + [1] valuetype MCCTest.VType3 res, + [2] int32 rc + ) + + newobj instance void MCCTest.MyClass::.ctor() + stloc.s me + + ldloc.s me + call instance valuetype MCCTest.VType3 MCCTest.MyClass::GetSum() + stloc.s res + + // Check Result + ldloc.s res + ldc.i4 12 + call int32 MCCTest.Common::CheckResult(valuetype MCCTest.VType3, int32) + stloc.s rc + + ldloc.s rc + ret + } // end of method MyClass::Main + + } // end of class MyClass + +} // end of namespace MCCTest |