This commit is contained in:
Jan Kotas 2015-10-22 09:42:02 -07:00
Родитель 4b8d3c17b0
Коммит 844a8c7f58
3 изменённых файлов: 1 добавлений и 22 удалений

Просмотреть файл

@ -45,16 +45,13 @@ namespace ILToNative.CppCodeGen
SetWellKnownTypeSignatureName(WellKnownType.Single, "float");
SetWellKnownTypeSignatureName(WellKnownType.Double, "double");
// TODO: For now, ensure that all types/methods referenced by temporary implementation in stubs.cpp are present
// TODO: For now, ensure that all types/methods referenced by unmanaged helpers are present
var stringType = _compilation.TypeSystemContext.GetWellKnownType(WellKnownType.String);
AddInstanceFields(stringType);
var stringArrayType = stringType.MakeArrayType();
_compilation.AddType(stringArrayType);
_compilation.MarkAsConstructed(stringArrayType);
var bufferType = ((EcmaType)stringType).Module.GetType("System", "Buffer");
_compilation.AddMethod(bufferType.GetMethod("BlockCopy", null));
}
public string GetCppSignatureTypeName(TypeDesc type)
@ -883,8 +880,6 @@ namespace ILToNative.CppCodeGen
if (voidReturn) Out.WriteLine(voidReturn ? "return 0;" : "return ret;");
Out.WriteLine("}");
Out.WriteLine("#include \"stubs.cpp\"");
}
Out.Dispose();

Просмотреть файл

@ -97,9 +97,6 @@
<ClCompile Include="main.cpp" />
<ClCompile Include="platform.windows.cpp" />
<ClCompile Include="repro.cpp" />
<ClInclude Include="stubs.cpp">
<ExcludedFromBuild>true</ExcludedFromBuild>
</ClInclude>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">

Просмотреть файл

@ -1,13 +0,0 @@
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
using namespace System_Private_CoreLib;
//
// unattributed, no body method
//
void System::Buffer::BlockCopy(class System::Array * src, int srcOfs, class System::Array * dst, int dstOfs, int count)
{
// TODO: Argument validation
memmove((uint8_t*)dst + 2 * sizeof(void*) + dstOfs, (uint8_t*)src + 2 * sizeof(void*) + srcOfs, count);
}