From db20f3f1bb8595633a7e16c8900fd401a453a6b5 Mon Sep 17 00:00:00 2001 From: Jiyoung Yun Date: Tue, 27 Dec 2016 16:46:08 +0900 Subject: Imported Upstream version 1.0.0.9127 --- .gitignore | 306 - .gitmirror | 1 - .gitmirrorselective | 1 + BuildToolsVersion.txt | 2 +- CMakeLists.txt | 130 +- Documentation/README.md | 2 +- Documentation/botr/README.md | 34 + Documentation/botr/_tableOfContents.md | 34 - Documentation/botr/clr-abi.md | 6 +- Documentation/botr/exceptions.md | 12 +- Documentation/botr/garbage-collection.md | 2 +- Documentation/building/crossgen.md | 43 +- Documentation/building/linux-instructions.md | 8 + Documentation/building/osx-instructions.md | 20 +- Documentation/building/testing-with-corefx.md | 6 +- Documentation/building/viewing-jit-dumps.md | 2 +- Documentation/building/windows-instructions.md | 196 +- Documentation/coding-guidelines/clr-code-guide.md | 5 +- Documentation/design-docs/multi-reg-call-nodes.md | 230 + .../project-docs/adding_new_public_apis.md | 23 +- Documentation/project-docs/ci-trigger-phrases.md | 112 +- Documentation/project-docs/glossary.md | 2 + Documentation/workflow/EditingAndDebugging.md | 49 + Documentation/workflow/IssuesFeedbackEngagement.md | 37 + Documentation/workflow/OfficalAndDailyBuilds.md | 79 + Documentation/workflow/RunningTests.md | 10 + Documentation/workflow/UsingCoreRun.md | 83 + Documentation/workflow/UsingYourBuild.md | 215 + DotnetCLIVersion.txt | 2 +- README.md | 292 +- binclash.log | 0 build-packages.cmd | 36 +- build-packages.sh | 90 +- build-test.cmd | 82 +- build.cmd | 89 +- build.proj | 4 - build.sh | 171 +- clean.cmd | 2 +- clr.coreclr.props | 3 + clr.defines.targets | 3 + clrdefinitions.cmake | 17 + config.json | 113 +- cross/arm/sources.list.jessie | 3 + cross/arm/sources.list.xenial | 11 + cross/arm64/sources.list.xenial | 11 + cross/build-rootfs.sh | 96 +- cross/x86/sources.list.trusty | 11 + cross/x86/sources.list.vivid | 11 + cross/x86/sources.list.wily | 11 + cross/x86/sources.list.xenial | 11 + cross/x86/toolchain.cmake | 40 + cross/x86/tryrun.cmake | 127 + crosscomponents.cmake | 1 + dependencies.props | 24 +- dir.props | 8 +- extract-from-json.py | 56 - functions.cmake | 18 + init-tools.cmd | 18 +- init-tools.log | 539 + init-tools.sh | 224 +- netci.groovy | 838 +- perf.groovy | 141 +- pgosupport.cmake | 14 +- publish-packages.cmd | 4 +- publish-packages.sh | 3 + run.cmd | 8 +- run.sh | 4 +- src/.gitmirror | 1 - src/.gitmirrorselective | 2 + .../Microsoft.NETCore.ILAsm.builds | 16 + .../Microsoft.NETCore.ILAsm.pkgproj | 14 +- .../alpine/3.4.3/Microsoft.NETCore.ILAsm.pkgproj | 29 + .../linux/Microsoft.NETCore.ILAsm.pkgproj | 29 + .../ubuntu/14.04/Microsoft.NETCore.ILAsm.pkgproj | 6 +- .../ubuntu/16.04/Microsoft.NETCore.ILAsm.pkgproj | 6 +- .../Microsoft.NETCore.ILDAsm.builds | 16 + .../Microsoft.NETCore.ILDAsm.pkgproj | 14 +- .../alpine/3.4.3/Microsoft.NETCore.ILDAsm.pkgproj | 29 + .../linux/Microsoft.NETCore.ILDAsm.pkgproj | 29 + .../ubuntu/14.04/Microsoft.NETCore.ILDAsm.pkgproj | 6 +- .../ubuntu/16.04/Microsoft.NETCore.ILDAsm.pkgproj | 6 +- .../Microsoft.NETCore.Jit.builds | 16 + .../Microsoft.NETCore.Jit.pkgproj | 14 +- .../alpine/3.4.3/Microsoft.NETCore.Jit.pkgproj | 29 + .../linux/Microsoft.NETCore.Jit.pkgproj | 29 + .../ubuntu/14.04/Microsoft.NETCore.Jit.pkgproj | 6 +- .../ubuntu/16.04/Microsoft.NETCore.Jit.pkgproj | 6 +- .../win/Microsoft.NETCore.Jit.pkgproj | 1 + .../Microsoft.NETCore.Runtime.CoreCLR.builds | 17 +- .../Microsoft.NETCore.Runtime.CoreCLR.pkgproj | 29 +- .../Microsoft.NETCore.Runtime.CoreCLR.pkgproj | 56 + .../Microsoft.NETCore.Runtime.CoreCLR.pkgproj | 56 + .../Microsoft.NETCore.Runtime.CoreCLR.pkgproj | 10 +- .../Microsoft.NETCore.Runtime.CoreCLR.pkgproj | 10 +- .../win/Microsoft.NETCore.Runtime.CoreCLR.pkgproj | 6 +- .../Microsoft.NETCore.TestHost.builds | 16 + .../Microsoft.NETCore.TestHost.pkgproj | 19 +- .../3.4.3/Microsoft.NETCore.TestHost.pkgproj | 29 + .../linux/Microsoft.NETCore.TestHost.pkgproj | 29 + .../14.04/Microsoft.NETCore.TestHost.pkgproj | 6 +- .../16.04/Microsoft.NETCore.TestHost.pkgproj | 6 +- src/.nuget/optdata/project.json | 11 - src/.nuget/packages.builds | 3 + src/ToolBox/.gitmirror | 1 - src/ToolBox/.gitmirrorselective | 1 + src/ToolBox/SOS/NETCore/SymbolReader.cs | 97 +- src/ToolBox/SOS/NETCore/project.json | 2 +- src/ToolBox/SOS/Strike/CMakeLists.txt | 11 +- src/ToolBox/SOS/Strike/ExpressionNode.cpp | 20 +- src/ToolBox/SOS/Strike/ExpressionNode.h | 14 +- src/ToolBox/SOS/Strike/datatarget.cpp | 4 +- src/ToolBox/SOS/Strike/sildasm.cpp | 2 +- src/ToolBox/SOS/Strike/sos_stacktrace.h | 8 +- src/ToolBox/SOS/Strike/sosdocsunix.txt | 1 + src/ToolBox/SOS/Strike/stressLogDump.cpp | 2 +- src/ToolBox/SOS/Strike/strike.cpp | 65 +- src/ToolBox/SOS/Strike/util.cpp | 66 +- src/ToolBox/SOS/Strike/util.h | 16 +- src/ToolBox/SOS/Strike/vm.cpp | 10 +- src/ToolBox/SOS/lldbplugin/CMakeLists.txt | 7 + src/ToolBox/SOS/lldbplugin/services.cpp | 2 + src/ToolBox/SOS/tests/OnCrash.do | 2 - src/ToolBox/SOS/tests/README.md | 43 +- src/ToolBox/SOS/tests/Test.cs | 94 + src/ToolBox/SOS/tests/dumpil.py | 26 - src/ToolBox/SOS/tests/dumpmodule.py | 26 - src/ToolBox/SOS/tests/runprocess.py | 34 - src/ToolBox/SOS/tests/t_cmd_bpmd_clear.py | 62 + src/ToolBox/SOS/tests/t_cmd_bpmd_clearall.py | 62 + src/ToolBox/SOS/tests/t_cmd_bpmd_methoddesc.py | 45 + .../SOS/tests/t_cmd_bpmd_module_function.py | 43 + .../tests/t_cmd_bpmd_module_function_iloffset.py | 43 + .../t_cmd_bpmd_nofuturemodule_module_function.py | 48 + src/ToolBox/SOS/tests/t_cmd_clrstack.py | 36 + src/ToolBox/SOS/tests/t_cmd_clrthreads.py | 31 + src/ToolBox/SOS/tests/t_cmd_clru.py | 46 + src/ToolBox/SOS/tests/t_cmd_dso.py | 31 + src/ToolBox/SOS/tests/t_cmd_dumpclass.py | 68 + src/ToolBox/SOS/tests/t_cmd_dumpheap.py | 31 + src/ToolBox/SOS/tests/t_cmd_dumpil.py | 38 + src/ToolBox/SOS/tests/t_cmd_dumplog.py | 31 + src/ToolBox/SOS/tests/t_cmd_dumpmd.py | 46 + src/ToolBox/SOS/tests/t_cmd_dumpmodule.py | 46 + src/ToolBox/SOS/tests/t_cmd_dumpmt.py | 68 + src/ToolBox/SOS/tests/t_cmd_dumpobj.py | 69 + src/ToolBox/SOS/tests/t_cmd_dumpstack.py | 31 + src/ToolBox/SOS/tests/t_cmd_eeheap.py | 31 + src/ToolBox/SOS/tests/t_cmd_eestack.py | 31 + src/ToolBox/SOS/tests/t_cmd_gcroot.py | 61 + src/ToolBox/SOS/tests/t_cmd_histclear.py | 31 + src/ToolBox/SOS/tests/t_cmd_histinit.py | 31 + src/ToolBox/SOS/tests/t_cmd_histobj.py | 61 + src/ToolBox/SOS/tests/t_cmd_histobjfind.py | 61 + src/ToolBox/SOS/tests/t_cmd_histroot.py | 61 + src/ToolBox/SOS/tests/t_cmd_ip2md.py | 53 + src/ToolBox/SOS/tests/t_cmd_name2ee.py | 46 + src/ToolBox/SOS/tests/t_cmd_pe.py | 28 + src/ToolBox/SOS/tests/t_cmd_sos.py | 31 + src/ToolBox/SOS/tests/t_cmd_soshelp.py | 31 + src/ToolBox/SOS/tests/test_libsosplugin.py | 338 +- src/ToolBox/SOS/tests/testutils.py | 234 +- src/ToolBox/dirs.proj | 2 + .../superpmi/superpmi-shared/compileresult.h | 2 +- .../superpmi/superpmi-shared/icorjitcompilerimpl.h | 4 + .../superpmi/superpmi-shared/icorjitinfoimpl.h | 4 +- src/ToolBox/superpmi/superpmi-shared/logging.cpp | 6 +- src/ToolBox/superpmi/superpmi-shared/lwmlist.h | 1 + src/ToolBox/superpmi/superpmi-shared/mclist.cpp | 2 +- .../superpmi/superpmi-shared/methodcontext.cpp | 34 +- .../superpmi/superpmi-shared/methodcontext.h | 13 +- .../superpmi-shim-collector/icorjitcompiler.cpp | 2 +- .../superpmi-shim-collector/icorjitinfo.cpp | 8 +- .../superpmi-shim-counter/icorjitcompiler.cpp | 2 +- .../superpmi/superpmi-shim-counter/icorjitinfo.cpp | 4 +- .../superpmi-shim-simple/icorjitcompiler.cpp | 2 +- .../superpmi/superpmi-shim-simple/icorjitinfo.cpp | 4 +- src/ToolBox/superpmi/superpmi/icorjitinfo.cpp | 9 +- .../superpmi/superpmi/methodstatsemitter.cpp | 22 +- src/ToolBox/superpmi/superpmi/neardiffer.cpp | 2 +- src/ToolBox/superpmi/superpmi/parallelsuperpmi.cpp | 6 +- src/ToolBox/superpmi/superpmi/superpmi.cpp | 2 + src/ToolBox/superpmi/superpmi/superpmi.h | 3 +- src/classlibnative/bcltype/arraynative.cpp | 4 +- src/classlibnative/bcltype/number.cpp | 6 +- src/classlibnative/bcltype/system.cpp | 12 +- src/classlibnative/bcltype/system.h | 1 + src/classlibnative/float/floatsingle.cpp | 228 + src/classlibnative/inc/floatsingle.h | 19 + src/classlibnative/inc/nlsinfo.h | 13 +- src/classlibnative/nls/nlsinfo.cpp | 131 +- src/coreclr/hosts/coreconsole/coreconsole.cpp | 11 +- src/coreclr/hosts/corerun/corerun.cpp | 9 +- .../hosts/unixcoreruncommon/coreruncommon.cpp | 3 - .../System.Globalization.Native/CMakeLists.txt | 40 +- .../System.Globalization.Native/calendarData.cpp | 2 +- src/corefx/System.Globalization.Native/casing.cpp | 3 +- .../System.Globalization.Native/collation.cpp | 44 +- src/corefx/System.Globalization.Native/errors.h | 8 +- src/corefx/System.Globalization.Native/holders.h | 8 - src/corefx/System.Globalization.Native/icushim.cpp | 226 + src/corefx/System.Globalization.Native/icushim.h | 243 + src/corefx/System.Globalization.Native/idna.cpp | 2 +- src/corefx/System.Globalization.Native/locale.cpp | 51 + src/corefx/System.Globalization.Native/locale.hpp | 2 - .../localeNumberData.cpp | 3 +- .../localeStringData.cpp | 104 +- .../System.Globalization.Native/normalization.cpp | 2 +- .../System.Globalization.Native/timeZoneInfo.cpp | 2 +- src/debug/daccess/daccess.cpp | 18 +- src/debug/daccess/daccess.targets | 6 + src/debug/daccess/dacdbiimpl.cpp | 35 +- src/debug/daccess/dacdbiimpl.h | 10 +- src/debug/daccess/dacfn.cpp | 4 +- src/debug/daccess/enummem.cpp | 11 +- src/debug/daccess/fntableaccess.cpp | 5 +- src/debug/daccess/fntableaccess.h | 3 + src/debug/daccess/nidump.cpp | 21 +- src/debug/daccess/request.cpp | 78 +- src/debug/daccess/request_svr.cpp | 4 +- src/debug/di/breakpoint.cpp | 2 +- src/debug/di/module.cpp | 377 +- src/debug/di/process.cpp | 14 +- src/debug/di/rsenumerator.hpp | 6 +- src/debug/di/rsmain.cpp | 2 + src/debug/di/rspriv.h | 86 +- src/debug/di/rspriv.inl | 2 +- src/debug/di/rsthread.cpp | 11 +- src/debug/di/rstype.cpp | 122 + src/debug/ee/controller.cpp | 6 +- src/debug/ee/controller.h | 14 +- src/debug/ee/debugger.cpp | 13 +- src/debug/ee/debugger.h | 4 +- src/debug/ee/functioninfo.cpp | 43 +- src/debug/ee/i386/dbghelpers.S | 70 + src/debug/ee/wks/CMakeLists.txt | 4 +- src/debug/ildbsymlib/symwrite.h | 3 +- src/debug/inc/common.h | 24 +- src/debug/inc/dacdbiinterface.h | 27 +- src/debug/shared/dbgtransportsession.cpp | 36 +- src/dlls/dbgshim/dbgshim.cpp | 2 +- src/dlls/mscordac/CMakeLists.txt | 8 +- src/dlls/mscordac/mscordac_unixexports.src | 16 +- src/dlls/mscoree/coreclr/coreclr.nativeproj | 6 + src/dlls/mscoree/mscoree.cpp | 2 - src/dlls/mscoree/mscorwks_unixexports.src | 1 + src/dlls/mscoree/unixinterface.cpp | 26 +- src/dlls/mscorpe/ceefilegenwriter.cpp | 19 +- src/gc/CMakeLists.txt | 12 + src/gc/env/gcenv.base.h | 2 +- src/gc/env/gcenv.ee.h | 38 +- src/gc/env/gcenv.object.h | 2 + src/gc/env/gcenv.os.h | 3 +- src/gc/gc.cpp | 972 +- src/gc/gc.h | 571 +- src/gc/gccommon.cpp | 67 +- src/gc/gcee.cpp | 226 +- src/gc/gcenv.ee.standalone.inl | 176 + src/gc/gcenv.unix.cpp | 308 + src/gc/gcenv.windows.cpp | 625 + src/gc/gcimpl.h | 72 +- src/gc/gcinterface.ee.h | 133 + src/gc/gcinterface.h | 622 + src/gc/gcpriv.h | 57 +- src/gc/gcrecord.h | 2 +- src/gc/gcscan.cpp | 23 +- src/gc/gcscan.h | 6 +- src/gc/handletable.cpp | 8 +- src/gc/handletablecache.cpp | 6 + src/gc/handletablecore.cpp | 7 +- src/gc/handletablescan.cpp | 12 +- src/gc/objecthandle.cpp | 137 +- src/gc/objecthandle.h | 7 +- src/gc/sample/CMakeLists.txt | 4 +- src/gc/sample/GCSample.cpp | 10 +- src/gc/sample/GCSample.vcxproj | 7 +- src/gc/sample/GCSample.vcxproj.filters | 2 +- src/gc/sample/gcenv.ee.cpp | 54 +- src/gc/sample/gcenv.h | 13 +- src/gc/sample/gcenv.unix.cpp | 14 - src/gc/sample/gcenv.windows.cpp | 453 - src/gc/softwarewritewatch.cpp | 1 + src/gcdump/gcdump.cpp | 2 + src/gcdump/gcdumpnonx86.cpp | 4 +- src/gcdump/i386/gcdumpx86.cpp | 26 +- src/gcinfo/gcinfoencoder.cpp | 143 +- src/ilasm/CMakeLists.txt | 11 +- src/ilasm/assembler.cpp | 2 +- src/ilasm/main.cpp | 2 +- src/ilasm/prebuilt/asmparse.c | 4907 -- src/ilasm/prebuilt/asmparse.cpp | 4907 ++ src/ildasm/dis.cpp | 6 +- src/ildasm/dres.cpp | 4 +- src/ildasm/gui.cpp | 2 +- src/ildasm/windasm.cpp | 40 +- src/inc/CMakeLists.txt | 9 +- src/inc/bitposition.h | 6 +- src/inc/clrconfigvalues.h | 24 +- src/inc/clrnt.h | 12 +- src/inc/corcompile.h | 16 +- src/inc/cordebug.idl | 135 +- src/inc/corinfo.h | 28 +- src/inc/corjit.h | 170 +- src/inc/corprof.idl | 87 + src/inc/daccess.h | 4 +- src/inc/dacprivate.h | 113 +- src/inc/dacvars.h | 14 +- src/inc/debugreturn.h | 12 +- src/inc/eetwain.h | 54 +- src/inc/eventtrace.h | 22 + src/inc/fstring.h | 3 + src/inc/gcdecoder.cpp | 372 +- src/inc/gcdump.h | 12 +- src/inc/gcinfo.h | 20 +- src/inc/gcinfodecoder.h | 91 +- src/inc/gcinfoencoder.h | 11 +- src/inc/gcinfotypes.h | 95 +- src/inc/jithelpers.h | 17 +- src/inc/livedatatarget.h | 2 + src/inc/longfilepathwrappers.h | 8 +- src/inc/shash.inl | 4 +- src/inc/sortversioning.h | 12 +- src/inc/stacktrace.h | 6 +- src/inc/stresslog.h | 2 +- src/inc/utilcode.h | 20 +- src/inc/winwrap.h | 7 - src/inc/xmlparser_i.c | 86 - src/inc/xmlparser_i.cpp | 86 + src/inc/zapper.h | 2 +- src/ipcman/ipcshared.h | 4 +- src/jit/CMakeLists.txt | 27 +- src/jit/ICorJitInfo_API_names.h | 171 + src/jit/ICorJitInfo_API_wrapper.hpp | 1666 + src/jit/assertionprop.cpp | 119 +- src/jit/bitsetasuint64.h | 2 +- src/jit/block.cpp | 37 +- src/jit/block.h | 24 +- src/jit/codegen.h | 36 +- src/jit/codegenarm.cpp | 1078 +- src/jit/codegenarm64.cpp | 1467 +- src/jit/codegenclassic.h | 7 - src/jit/codegencommon.cpp | 622 +- src/jit/codegeninterface.h | 6 +- src/jit/codegenlegacy.cpp | 448 +- src/jit/codegenlinear.cpp | 1773 + src/jit/codegenlinear.h | 78 +- src/jit/codegenxarch.cpp | 9227 ++- src/jit/compatjit/.gitmirror | 1 + src/jit/compatjit/CMakeLists.txt | 66 + src/jit/compiler.cpp | 1399 +- src/jit/compiler.h | 297 +- src/jit/compiler.hpp | 110 +- src/jit/compphases.h | 15 +- src/jit/crossgen/CMakeLists.txt | 4 +- src/jit/decomposelongs.cpp | 1056 +- src/jit/decomposelongs.h | 12 +- src/jit/dll/CMakeLists.txt | 10 +- src/jit/dll/jit.nativeproj | 6 +- src/jit/earlyprop.cpp | 42 +- src/jit/ee_il_dll.cpp | 53 +- src/jit/ee_il_dll.hpp | 4 + src/jit/emit.cpp | 80 +- src/jit/emit.h | 27 +- src/jit/emitarm.cpp | 20 +- src/jit/emitarm64.cpp | 2 - src/jit/emitxarch.cpp | 710 +- src/jit/emitxarch.h | 118 +- src/jit/error.cpp | 4 +- src/jit/error.h | 199 +- src/jit/flowgraph.cpp | 2349 +- src/jit/gcencode.cpp | 267 +- src/jit/gentree.cpp | 1311 +- src/jit/gentree.h | 563 +- src/jit/gschecks.cpp | 48 +- src/jit/gtlist.h | 333 +- src/jit/gtstructs.h | 4 +- src/jit/importer.cpp | 760 +- src/jit/inline.cpp | 138 +- src/jit/inline.def | 10 +- src/jit/inline.h | 17 +- src/jit/inlinepolicy.cpp | 232 +- src/jit/inlinepolicy.h | 98 +- src/jit/instr.cpp | 14 +- src/jit/instr.h | 10 +- src/jit/instrsxarch.h | 19 +- src/jit/jit.h | 49 +- src/jit/jit.settings.targets | 3 +- src/jit/jitconfig.h | 2 + src/jit/jitconfigvalues.h | 50 +- src/jit/jitee.h | 264 + src/jit/jiteh.cpp | 12 +- src/jit/jitgcinfo.h | 3 + src/jit/lclvars.cpp | 97 +- src/jit/legacyjit/.gitmirror | 1 + src/jit/legacyjit/CMakeLists.txt | 62 + src/jit/lir.cpp | 49 +- src/jit/liveness.cpp | 37 +- src/jit/loopcloning.cpp | 2 +- src/jit/lower.cpp | 742 +- src/jit/lower.h | 18 +- src/jit/lowerarm.cpp | 138 +- src/jit/lowerarm64.cpp | 149 +- src/jit/lowerxarch.cpp | 1104 +- src/jit/lsra.cpp | 1051 +- src/jit/lsra.h | 87 +- src/jit/morph.cpp | 1656 +- src/jit/nodeinfo.h | 47 +- src/jit/optcse.cpp | 88 +- src/jit/optimizer.cpp | 688 +- src/jit/protojit/CMakeLists.txt | 8 +- src/jit/rangecheck.cpp | 5 +- src/jit/rationalize.cpp | 250 +- src/jit/regalloc.cpp | 208 +- src/jit/regalloc.h | 24 +- src/jit/registerfp.cpp | 6 - src/jit/regset.cpp | 10 + src/jit/scopeinfo.cpp | 18 +- src/jit/sideeffects.h | 6 + src/jit/simd.cpp | 137 +- src/jit/simd.h | 15 +- src/jit/simdcodegenxarch.cpp | 698 +- src/jit/simdintrinsiclist.h | 9 +- src/jit/ssabuilder.cpp | 223 +- src/jit/stackfp.cpp | 23 +- src/jit/standalone/CMakeLists.txt | 21 +- src/jit/target.h | 47 +- src/jit/tinyarray.h | 2 +- src/jit/unwindamd64.cpp | 15 +- src/jit/utils.cpp | 24 +- src/jit/valuenum.cpp | 246 +- src/jit/valuenum.h | 59 +- src/jit/valuenumfuncs.h | 4 +- src/md/ceefilegen/cceegen.cpp | 24 +- src/md/winmd/adapter.cpp | 28 +- src/md/winmd/inc/adapter.h | 2 +- src/md/winmd/winmdimport.cpp | 30 +- src/mscorlib/Common/PinnableBufferCache.cs | 97 - src/mscorlib/System.Private.CoreLib.csproj | 4 + src/mscorlib/System.Private.CoreLib.sln | 5 + src/mscorlib/corefx/Debug.cs | 29 + src/mscorlib/corefx/Interop/Unix/Interop.Errors.cs | 207 + .../corefx/Interop/Unix/Interop.IOErrors.cs | 170 + .../corefx/Interop/Unix/Interop.Libraries.cs | 7 + .../Interop.Collation.cs | 5 +- .../System.Globalization.Native/Interop.Idna.cs | 21 + .../System.Globalization.Native/Interop.Locale.cs | 3 + .../Interop.Normalization.cs | 19 + .../Interop.ResultCode.cs | 1 + .../Interop/Unix/System.Native/Interop.Close.cs | 15 + .../Interop/Unix/System.Native/Interop.FLock.cs | 31 + .../Interop/Unix/System.Native/Interop.FSync.cs | 15 + .../Unix/System.Native/Interop.FTruncate.cs | 15 + .../Interop/Unix/System.Native/Interop.Fcntl.cs | 21 + .../Interop/Unix/System.Native/Interop.GetCwd.cs | 74 + .../Unix/System.Native/Interop.GetUnixName.cs | 21 + .../Interop/Unix/System.Native/Interop.LSeek.cs | 22 + .../Interop/Unix/System.Native/Interop.MksTemps.cs | 17 + .../Interop/Unix/System.Native/Interop.Open.cs | 15 + .../Unix/System.Native/Interop.OpenFlags.cs | 27 + .../Interop/Unix/System.Native/Interop.PathConf.cs | 73 + .../Unix/System.Native/Interop.Permissions.cs | 32 + .../Unix/System.Native/Interop.PosixFAdvise.cs | 36 + .../Interop/Unix/System.Native/Interop.Read.cs | 25 + .../Interop/Unix/System.Native/Interop.Stat.cs | 59 + .../Interop/Unix/System.Native/Interop.Unlink.cs | 15 + .../Interop/Unix/System.Native/Interop.Write.cs | 27 + .../Windows/BCrypt/Interop.BCryptGenRandom.cs | 26 + .../Interop/Windows/BCrypt/Interop.NTSTATUS.cs | 19 + .../Windows/Crypt32/Interop.CryptProtectMemory.cs | 22 + .../corefx/Interop/Windows/Interop.BOOL.cs | 21 + .../corefx/Interop/Windows/Interop.Libraries.cs | 82 + .../Interop/Windows/NtDll/Interop.ZeroMemory.cs | 19 + .../Interop/Windows/mincore/Interop.CancelIoEx.cs | 16 + .../Interop/Windows/mincore/Interop.CloseHandle.cs | 16 + .../Interop/Windows/mincore/Interop.CreateFile.cs | 40 + .../Interop/Windows/mincore/Interop.Errors.cs | 74 + .../Windows/mincore/Interop.FileOperations.cs | 35 + .../Interop/Windows/mincore/Interop.FileTypes.cs | 16 + .../Windows/mincore/Interop.FlushFileBuffers.cs | 17 + .../Windows/mincore/Interop.FormatMessage.cs | 112 + .../Interop.GetFileInformationByHandleEx.cs | 26 + .../mincore/Interop.GetFileType_SafeHandle.cs | 15 + .../Windows/mincore/Interop.GetFullPathNameW.cs | 18 + .../Windows/mincore/Interop.GetLongPathNameW.cs | 18 + .../Windows/mincore/Interop.GetTempFileNameW.cs | 16 + .../Windows/mincore/Interop.GetTempPathW.cs | 16 + .../corefx/Interop/Windows/mincore/Interop.Idna.cs | 37 + .../Interop/Windows/mincore/Interop.LockFile.cs | 20 + .../mincore/Interop.ReadFile_SafeHandle_IntPtr.cs | 21 + ...Interop.ReadFile_SafeHandle_NativeOverlapped.cs | 22 + .../Windows/mincore/Interop.SECURITY_ATTRIBUTES.cs | 21 + .../Windows/mincore/Interop.SafeCreateFile.cs | 45 + .../Windows/mincore/Interop.SecurityOptions.cs | 18 + .../Windows/mincore/Interop.SetEndOfFile.cs | 15 + .../Windows/mincore/Interop.SetErrorMode.cs | 14 + .../mincore/Interop.SetFileInformationByHandle.cs | 72 + .../Windows/mincore/Interop.SetFilePointerEx.cs | 15 + .../Windows/mincore/Interop.ThreadPoolIO.cs | 27 + .../Windows/mincore/Interop.UnsafeCreateFile.cs | 25 + .../Windows/mincore/Interop.WideCharToMultiByte.cs | 22 + .../mincore/Interop.WriteFile_SafeHandle_IntPtr.cs | 24 + ...nterop.WriteFile_SafeHandle_NativeOverlapped.cs | 22 + .../Windows/oleaut32/Interop.SysAllocStringLen.cs | 16 + .../Windows/oleaut32/Interop.SysStringLen.cs | 22 + .../Win32/SafeHandles/SafeFileHandle.Unix.cs | 122 + .../Win32/SafeHandles/SafeFileHandle.Windows.cs | 50 + .../Win32/SafeHandles/SafeThreadPoolIOHandle.cs | 28 + src/mscorlib/corefx/SR.cs | 823 +- src/mscorlib/corefx/System/Buffers/ArrayPool.cs | 113 + .../corefx/System/Buffers/ArrayPoolEventSource.cs | 78 + .../corefx/System/Buffers/ConfigurableArrayPool.cs | 265 + .../TlsOverPerCoreLockedStacksArrayPool.Unix.cs | 28 + .../TlsOverPerCoreLockedStacksArrayPool.Windows.cs | 20 + .../Buffers/TlsOverPerCoreLockedStacksArrayPool.cs | 328 + src/mscorlib/corefx/System/Buffers/Utilities.cs | 35 + .../corefx/System/Globalization/Calendar.cs | 42 +- .../System/Globalization/CalendarAlgorithmType.cs | 20 + .../System/Globalization/CalendarData.Unix.cs | 3 +- .../corefx/System/Globalization/CalendarData.cs | 8 +- .../Globalization/CalendricalCalculationsHelper.cs | 31 +- .../corefx/System/Globalization/CharUnicodeInfo.cs | 110 +- .../System/Globalization/CharUnicodeInfoData.cs | 25 + .../Globalization/ChineseLunisolarCalendar.cs | 4 +- .../System/Globalization/CompareInfo.Unix.cs | 140 +- .../System/Globalization/CompareInfo.Windows.cs | 78 +- .../corefx/System/Globalization/CompareInfo.cs | 283 +- .../System/Globalization/CultureData.Unix.cs | 164 +- .../System/Globalization/CultureData.Windows.cs | 132 +- .../corefx/System/Globalization/CultureData.cs | 392 +- .../System/Globalization/CultureInfo.Windows.cs | 6 +- .../corefx/System/Globalization/CultureInfo.cs | 528 +- .../Globalization/CultureNotFoundException.cs | 35 +- .../corefx/System/Globalization/CultureTypes.cs | 28 + .../System/Globalization/DateTimeFormatInfo.cs | 343 +- .../corefx/System/Globalization/DayLightTime.cs | 49 +- .../corefx/System/Globalization/DigitShapes.cs | 17 + .../Globalization/EastAsianLunisolarCalendar.cs | 41 +- .../System/Globalization/GregorianCalendar.cs | 57 +- .../Globalization/GregorianCalendarHelper.cs | 24 +- .../corefx/System/Globalization/HebrewCalendar.cs | 43 +- .../corefx/System/Globalization/HebrewNumber.cs | 11 +- .../System/Globalization/HijriCalendar.Win32.cs | 86 + .../System/Globalization/HijriCalendar.WinRT.cs | 16 + .../System/Globalization/HijriCalendar.Windows.cs | 16 - .../corefx/System/Globalization/HijriCalendar.cs | 31 +- .../corefx/System/Globalization/IdnMapping.Unix.cs | 134 + .../System/Globalization/IdnMapping.Windows.cs | 113 + .../corefx/System/Globalization/IdnMapping.cs | 152 + .../System/Globalization/JapaneseCalendar.Unix.cs | 3 - .../System/Globalization/JapaneseCalendar.Win32.cs | 209 + .../System/Globalization/JapaneseCalendar.WinRT.cs | 62 + .../Globalization/JapaneseCalendar.Windows.cs | 62 - .../System/Globalization/JapaneseCalendar.cs | 18 +- .../corefx/System/Globalization/JulianCalendar.cs | 37 +- .../corefx/System/Globalization/KoreanCalendar.cs | 11 +- .../Globalization/KoreanLunisolarCalendar.cs | 4 +- .../corefx/System/Globalization/LocaleData.Unix.cs | 4572 ++ .../System/Globalization/NumberFormatInfo.cs | 91 +- .../corefx/System/Globalization/PersianCalendar.cs | 54 +- .../corefx/System/Globalization/RegionInfo.cs | 117 +- src/mscorlib/corefx/System/Globalization/STUBS.cs | 180 - .../corefx/System/Globalization/SortKey.cs | 209 + .../corefx/System/Globalization/SortVersion.cs | 101 + .../corefx/System/Globalization/StringInfo.cs | 89 +- .../corefx/System/Globalization/TaiwanCalendar.cs | 13 +- .../System/Globalization/TextElementEnumerator.cs | 10 +- .../corefx/System/Globalization/TextInfo.Unix.cs | 5 +- .../System/Globalization/TextInfo.Windows.cs | 6 +- .../corefx/System/Globalization/TextInfo.cs | 324 +- .../System/Globalization/ThaiBuddhistCalendar.cs | 11 +- .../System/Globalization/UmAlQuraCalendar.cs | 40 +- src/mscorlib/corefx/System/HResults.cs | 236 + src/mscorlib/corefx/System/IO/Error.cs | 44 + .../corefx/System/IO/FileStream.NetStandard17.cs | 76 + src/mscorlib/corefx/System/IO/FileStream.Unix.cs | 934 + src/mscorlib/corefx/System/IO/FileStream.Win32.cs | 1770 + src/mscorlib/corefx/System/IO/FileStream.cs | 654 + .../System/IO/FileStreamCompletionSource.Win32.cs | 221 + src/mscorlib/corefx/System/IO/Path.Unix.cs | 256 + src/mscorlib/corefx/System/IO/Path.Win32.cs | 36 + src/mscorlib/corefx/System/IO/Path.Windows.cs | 153 + src/mscorlib/corefx/System/IO/Path.cs | 578 + .../corefx/System/IO/PathHelper.Windows.cs | 389 + .../System/IO/PathInternal.CaseSensitivity.cs | 75 + src/mscorlib/corefx/System/IO/PathInternal.Unix.cs | 122 + .../System/IO/PathInternal.Windows.StringBuffer.cs | 89 + .../corefx/System/IO/PathInternal.Windows.cs | 482 + src/mscorlib/corefx/System/IO/PathInternal.cs | 230 + src/mscorlib/corefx/System/IO/Win32Marshal.cs | 134 + .../System/Runtime/InteropServices/NativeBuffer.cs | 157 + .../Runtime/InteropServices/SafeHeapHandle.cs | 109 + .../Runtime/InteropServices/SafeHeapHandleCache.cs | 97 + .../System/Runtime/InteropServices/StringBuffer.cs | 354 + .../System/Security/CryptographicException.cs | 44 + .../corefx/System/Security/SafeBSTRHandle.cs | 81 + .../corefx/System/Security/SecureString.Unix.cs | 295 + .../corefx/System/Security/SecureString.Windows.cs | 310 + .../corefx/System/Security/SecureString.cs | 189 + .../System/Threading/ClrThreadPoolBoundHandle.cs | 319 + .../ClrThreadPoolBoundHandleOverlapped.cs | 52 + .../ClrThreadPoolPreAllocatedOverlapped.cs | 105 + .../System/Threading/DeferredDisposableLifetime.cs | 116 + src/mscorlib/facade/TypeForwards.cs | 37 - src/mscorlib/facade/mscorlib.csproj | 37 +- src/mscorlib/facade/project.json | 1 + src/mscorlib/model.xml | 1110 +- src/mscorlib/mscorlib.shared.sources.props | 220 +- src/mscorlib/ref/mscorlib.cs | 839 +- .../Runtime/Augments/EnvironmentAugments.cs | 7 + .../src/Internal/Runtime/Augments/RuntimeThread.cs | 198 + src/mscorlib/src/Microsoft/Win32/OAVariantLib.cs | 6 +- src/mscorlib/src/Microsoft/Win32/Registry.cs | 24 +- src/mscorlib/src/Microsoft/Win32/RegistryKey.cs | 296 +- .../Microsoft/Win32/SafeHandles/SafeFileHandle.cs | 43 - .../Win32/SafeHandles/SafeFileMappingHandle.cs | 4 - .../Microsoft/Win32/SafeHandles/SafeFindHandle.cs | 3 - .../Win32/SafeHandles/SafeLibraryHandle.cs | 12 - .../Win32/SafeHandles/SafeLocalAllocHandle.cs | 6 +- .../Win32/SafeHandles/SafeRegistryHandle.cs | 4 - .../Win32/SafeHandles/SafeViewOfFileHandle.cs | 4 - .../Microsoft/Win32/SafeHandles/SafeWaitHandle.cs | 2 - .../Win32/SafeHandles/Win32SafeHandles.cs | 25 - .../src/Microsoft/Win32/UnsafeNativeMethods.cs | 8 - src/mscorlib/src/Microsoft/Win32/Win32Native.cs | 115 +- src/mscorlib/src/System.Private.CoreLib.txt | 1251 +- src/mscorlib/src/System/Action.cs | 43 +- src/mscorlib/src/System/Activator.cs | 136 +- src/mscorlib/src/System/AggregateException.cs | 17 +- src/mscorlib/src/System/AppContext/AppContext.cs | 56 +- .../AppContext/AppContextDefaultValues.Defaults.cs | 12 +- .../System/AppContext/AppContextDefaultValues.cs | 6 - .../src/System/AppContext/AppContextSwitches.cs | 30 - src/mscorlib/src/System/AppDomain.cs | 2190 +- src/mscorlib/src/System/AppDomainManager.cs | 171 +- src/mscorlib/src/System/AppDomainSetup.cs | 469 +- src/mscorlib/src/System/ApplicationId.cs | 6 +- src/mscorlib/src/System/ArgIterator.cs | 11 - src/mscorlib/src/System/ArgumentException.cs | 3 +- src/mscorlib/src/System/ArgumentNullException.cs | 1 - .../src/System/ArgumentOutOfRangeException.cs | 3 +- src/mscorlib/src/System/Array.cs | 433 +- src/mscorlib/src/System/ArraySegment.cs | 96 +- src/mscorlib/src/System/Attribute.cs | 137 +- src/mscorlib/src/System/BCLDebug.cs | 32 - src/mscorlib/src/System/BadImageFormatException.cs | 3 - src/mscorlib/src/System/BitConverter.cs | 61 +- src/mscorlib/src/System/Boolean.cs | 2 +- src/mscorlib/src/System/Buffer.cs | 50 +- src/mscorlib/src/System/ByReference.cs | 31 + src/mscorlib/src/System/Byte.cs | 4 - src/mscorlib/src/System/CLRConfig.cs | 2 - src/mscorlib/src/System/CfgParser.cs | 14 +- src/mscorlib/src/System/Char.cs | 94 +- src/mscorlib/src/System/Collections/ArrayList.cs | 179 +- src/mscorlib/src/System/Collections/BitArray.cs | 524 - .../src/System/Collections/CollectionBase.cs | 10 +- src/mscorlib/src/System/Collections/Comparer.cs | 5 +- .../src/System/Collections/CompatibleComparer.cs | 2 +- .../Collections/Concurrent/ConcurrentDictionary.cs | 216 +- .../Collections/Concurrent/ConcurrentQueue.cs | 21 +- .../Collections/Concurrent/ConcurrentStack.cs | 91 +- .../Concurrent/IProducerConsumerCollection.cs | 2 +- .../Collections/Concurrent/OrderablePartitioner.cs | 1 - .../System/Collections/Concurrent/Partitioner.cs | 1 - .../Collections/Concurrent/PartitionerStatic.cs | 104 +- .../src/System/Collections/DictionaryEntry.cs | 7 + .../Collections/EmptyReadOnlyDictionaryInternal.cs | 20 +- .../System/Collections/Generic/ArraySortHelper.cs | 452 +- .../src/System/Collections/Generic/Comparer.cs | 18 +- .../src/System/Collections/Generic/DebugView.cs | 2 +- .../src/System/Collections/Generic/Dictionary.cs | 101 +- .../System/Collections/Generic/EqualityComparer.cs | 171 +- .../src/System/Collections/Generic/KeyValuePair.cs | 17 + .../src/System/Collections/Generic/List.cs | 116 +- src/mscorlib/src/System/Collections/Hashtable.cs | 187 +- .../System/Collections/ListDictionaryInternal.cs | 30 +- .../System/Collections/ObjectModel/Collection.cs | 8 +- .../Collections/ObjectModel/KeyedCollection.cs | 4 +- .../Collections/ObjectModel/ReadOnlyCollection.cs | 8 +- .../Collections/ObjectModel/ReadOnlyDictionary.cs | 14 +- src/mscorlib/src/System/Collections/SortedList.cs | 39 +- src/mscorlib/src/System/Collections/Stack.cs | 13 +- src/mscorlib/src/System/CompatibilitySwitches.cs | 72 - src/mscorlib/src/System/ContextBoundObject.cs | 24 - src/mscorlib/src/System/ContextStaticAttribute.cs | 32 - src/mscorlib/src/System/Convert.cs | 80 +- src/mscorlib/src/System/Currency.cs | 2 - src/mscorlib/src/System/CurrentTimeZone.cs | 276 +- src/mscorlib/src/System/DBNull.cs | 1 - src/mscorlib/src/System/DateTime.cs | 86 +- src/mscorlib/src/System/DateTimeOffset.cs | 34 +- src/mscorlib/src/System/Decimal.cs | 60 +- src/mscorlib/src/System/DefaultBinder.cs | 26 +- src/mscorlib/src/System/Delegate.cs | 107 +- .../src/System/DelegateSerializationHolder.cs | 29 +- src/mscorlib/src/System/Diagnostics/Assert.cs | 18 - .../src/System/Diagnostics/AssertFilter.cs | 1 - .../src/System/Diagnostics/Contracts/Contracts.cs | 19 +- .../System/Diagnostics/Contracts/ContractsBCL.cs | 62 +- src/mscorlib/src/System/Diagnostics/Debugger.cs | 9 - .../src/System/Diagnostics/DebuggerAttributes.cs | 20 +- .../System/Diagnostics/Eventing/ActivityTracker.cs | 13 +- .../System/Diagnostics/Eventing/EventProvider.cs | 66 +- .../src/System/Diagnostics/Eventing/EventSource.cs | 465 +- .../Diagnostics/Eventing/EventSource_CoreCLR.cs | 4 - .../Eventing/TraceLogging/DataCollector.cs | 1 - .../Eventing/TraceLogging/EventPayload.cs | 9 +- .../Eventing/TraceLogging/EventSourceActivity.cs | 2 +- .../Eventing/TraceLogging/FieldMetadata.cs | 2 +- .../Eventing/TraceLogging/PropertyValue.cs | 7 +- .../Eventing/TraceLogging/SimpleTypeInfos.cs | 3 +- .../Diagnostics/Eventing/TraceLogging/Statics.cs | 2 +- .../TraceLogging/TraceLoggingDataCollector.cs | 1 - .../TraceLogging/TraceLoggingEventSource.cs | 18 +- .../TraceLogging/TraceLoggingEventTypes.cs | 10 +- .../TraceLogging/TraceLoggingMetadataCollector.cs | 6 +- .../Eventing/TraceLogging/TraceLoggingTypeInfo.cs | 4 +- .../Diagnostics/Eventing/XplatEventLogger.cs | 28 +- src/mscorlib/src/System/Diagnostics/LogSwitch.cs | 7 +- src/mscorlib/src/System/Diagnostics/Stackframe.cs | 23 +- src/mscorlib/src/System/Diagnostics/Stacktrace.cs | 79 +- .../System/Diagnostics/SymbolStore/ISymWriter.cs | 30 - src/mscorlib/src/System/Diagnostics/log.cs | 5 +- src/mscorlib/src/System/Double.cs | 8 - src/mscorlib/src/System/Empty.cs | 3 +- src/mscorlib/src/System/Enum.cs | 174 +- src/mscorlib/src/System/Environment.cs | 1154 +- src/mscorlib/src/System/Exception.cs | 88 +- src/mscorlib/src/System/FormattableString.cs | 2 +- src/mscorlib/src/System/GC.cs | 172 +- src/mscorlib/src/System/Globalization/Calendar.cs | 18 +- .../src/System/Globalization/CalendarData.cs | 6 +- .../Globalization/CalendricalCalculationsHelper.cs | 17 +- .../src/System/Globalization/CharUnicodeInfo.cs | 66 +- .../Globalization/ChineseLunisolarCalendar.cs | 4 +- .../src/System/Globalization/CompareInfo.cs | 171 +- .../src/System/Globalization/CultureData.cs | 445 +- .../src/System/Globalization/CultureInfo.cs | 167 +- .../Globalization/CultureNotFoundException.cs | 3 +- .../src/System/Globalization/DateTimeFormat.cs | 134 +- .../src/System/Globalization/DateTimeFormatInfo.cs | 248 +- .../Globalization/DateTimeFormatInfoScanner.cs | 3 - .../src/System/Globalization/DateTimeParse.cs | 90 +- .../src/System/Globalization/DaylightTime.cs | 23 +- .../Globalization/EastAsianLunisolarCalendar.cs | 26 +- .../src/System/Globalization/EncodingDataItem.cs | 7 +- .../src/System/Globalization/EncodingTable.Unix.cs | 9 +- .../src/System/Globalization/EncodingTable.cs | 16 +- .../System/Globalization/GlobalizationAssembly.cs | 8 +- .../src/System/Globalization/GregorianCalendar.cs | 50 +- .../Globalization/GregorianCalendarHelper.cs | 24 +- .../src/System/Globalization/HebrewCalendar.cs | 31 +- .../src/System/Globalization/HebrewNumber.cs | 3 +- .../src/System/Globalization/HijriCalendar.cs | 24 +- .../src/System/Globalization/IdnMapping.cs | 156 +- .../src/System/Globalization/JapaneseCalendar.cs | 5 +- .../src/System/Globalization/JulianCalendar.cs | 18 +- .../src/System/Globalization/KoreanCalendar.cs | 2 +- .../Globalization/KoreanLunisolarCalendar.cs | 4 +- .../src/System/Globalization/NumberFormatInfo.cs | 66 +- .../src/System/Globalization/PersianCalendar.cs | 37 +- .../src/System/Globalization/RegionInfo.cs | 200 +- src/mscorlib/src/System/Globalization/SortKey.cs | 7 +- .../src/System/Globalization/StringInfo.cs | 29 +- .../src/System/Globalization/TaiwanCalendar.cs | 4 +- .../System/Globalization/TextElementEnumerator.cs | 7 +- src/mscorlib/src/System/Globalization/TextInfo.cs | 77 +- .../System/Globalization/ThaiBuddhistCalendar.cs | 2 +- .../src/System/Globalization/TimeSpanFormat.cs | 30 +- .../src/System/Globalization/TimeSpanParse.cs | 33 +- .../src/System/Globalization/UmAlQuraCalendar.cs | 31 +- src/mscorlib/src/System/Guid.cs | 37 +- src/mscorlib/src/System/IAppDomain.cs | 246 +- src/mscorlib/src/System/IAppDomainPauseManager.cs | 15 +- src/mscorlib/src/System/IO/BinaryReader.cs | 46 +- src/mscorlib/src/System/IO/BinaryWriter.cs | 37 +- src/mscorlib/src/System/IO/BufferedStream.cs | 1320 - src/mscorlib/src/System/IO/Directory.cs | 642 +- src/mscorlib/src/System/IO/DirectoryInfo.cs | 265 +- src/mscorlib/src/System/IO/DriveInfo.cs | 281 - src/mscorlib/src/System/IO/EncodingCache.cs | 13 + src/mscorlib/src/System/IO/File.cs | 658 +- src/mscorlib/src/System/IO/FileAttributes.cs | 20 +- src/mscorlib/src/System/IO/FileInfo.cs | 207 +- src/mscorlib/src/System/IO/FileLoadException.cs | 14 - .../src/System/IO/FileNotFoundException.cs | 11 - src/mscorlib/src/System/IO/FileSecurityState.cs | 133 - .../src/System/IO/FileSecurityStateAccess.cs | 32 - src/mscorlib/src/System/IO/FileStream.cs | 2695 - src/mscorlib/src/System/IO/FileSystemEnumerable.cs | 185 +- src/mscorlib/src/System/IO/FileSystemInfo.cs | 137 +- src/mscorlib/src/System/IO/LongPathHelper.cs | 521 - src/mscorlib/src/System/IO/MemoryStream.cs | 112 +- src/mscorlib/src/System/IO/Path.cs | 1435 - src/mscorlib/src/System/IO/PathHelper.cs | 448 - src/mscorlib/src/System/IO/PathInternal.cs | 806 - .../src/System/IO/PinnedBufferMemoryStream.cs | 6 +- src/mscorlib/src/System/IO/Stream.cs | 144 +- .../src/System/IO/StreamHelpers.CopyValidation.cs | 46 + src/mscorlib/src/System/IO/StreamReader.cs | 100 +- src/mscorlib/src/System/IO/StreamWriter.cs | 175 +- src/mscorlib/src/System/IO/StringReader.cs | 187 - src/mscorlib/src/System/IO/StringWriter.cs | 196 - src/mscorlib/src/System/IO/TextReader.cs | 36 +- src/mscorlib/src/System/IO/TextWriter.cs | 37 +- .../src/System/IO/UnmanagedMemoryAccessor.cs | 215 +- .../src/System/IO/UnmanagedMemoryStream.cs | 187 +- .../src/System/IO/UnmanagedMemoryStreamWrapper.cs | 9 +- .../src/System/IO/__DebugOutputTextWriter.cs | 76 - src/mscorlib/src/System/IO/__Error.cs | 12 +- src/mscorlib/src/System/Int16.cs | 3 - src/mscorlib/src/System/Int32.cs | 4 - src/mscorlib/src/System/Int64.cs | 4 - src/mscorlib/src/System/IntPtr.cs | 27 +- src/mscorlib/src/System/Internal.cs | 19 +- .../src/System/InvalidTimeZoneException.cs | 12 +- src/mscorlib/src/System/Lazy.cs | 23 +- src/mscorlib/src/System/LowLevelConsole.cs | 3 - src/mscorlib/src/System/MarshalByRefObject.cs | 245 +- src/mscorlib/src/System/Math.cs | 191 +- src/mscorlib/src/System/MathF.cs | 253 + src/mscorlib/src/System/MissingFieldException.cs | 1 - src/mscorlib/src/System/MissingMemberException.cs | 5 +- src/mscorlib/src/System/MissingMethodException.cs | 1 - src/mscorlib/src/System/MulticastDelegate.cs | 40 +- .../src/System/NotFiniteNumberException.cs | 3 +- src/mscorlib/src/System/Nullable.cs | 2 +- src/mscorlib/src/System/Number.cs | 191 +- .../src/System/Numerics/Hashing/HashHelpers.cs | 19 + src/mscorlib/src/System/Object.cs | 48 +- src/mscorlib/src/System/ObjectDisposedException.cs | 1 - src/mscorlib/src/System/OleAutBinder.cs | 21 - src/mscorlib/src/System/OperatingSystem.cs | 7 +- src/mscorlib/src/System/ParseNumbers.cs | 8 - src/mscorlib/src/System/Progress.cs | 4 +- src/mscorlib/src/System/Random.cs | 74 +- src/mscorlib/src/System/ReadOnlySpan.cs | 397 + src/mscorlib/src/System/Reflection/Assembly.cs | 1048 +- .../src/System/Reflection/AssemblyAttributes.cs | 2 +- src/mscorlib/src/System/Reflection/AssemblyName.cs | 274 +- src/mscorlib/src/System/Reflection/Associates.cs | 9 +- .../src/System/Reflection/ComInterfaces.cs | 572 +- .../src/System/Reflection/ConstructorInfo.cs | 145 +- .../src/System/Reflection/CustomAttribute.cs | 168 +- .../src/System/Reflection/Emit/AQNBuilder.cs | 30 - .../src/System/Reflection/Emit/AssemblyBuilder.cs | 1145 +- .../Reflection/Emit/AssemblyBuilderAccess.cs | 6 +- .../System/Reflection/Emit/AssemblyBuilderData.cs | 40 +- .../src/System/Reflection/Emit/ComInterfaces.cs | 173 +- .../System/Reflection/Emit/ConstructorBuilder.cs | 61 - .../Reflection/Emit/CustomAttributeBuilder.cs | 143 +- .../System/Reflection/Emit/DynamicILGenerator.cs | 69 +- .../src/System/Reflection/Emit/DynamicMethod.cs | 224 +- .../src/System/Reflection/Emit/EnumBuilder.cs | 30 +- .../src/System/Reflection/Emit/EventBuilder.cs | 47 +- .../src/System/Reflection/Emit/FieldBuilder.cs | 54 +- .../src/System/Reflection/Emit/FlowControl.cs | 3 - .../Reflection/Emit/GenericTypeParameterBuilder.cs | 3 - .../src/System/Reflection/Emit/ILGenerator.cs | 111 +- .../src/System/Reflection/Emit/ISymWrapperCore.cs | 136 - .../src/System/Reflection/Emit/LocalBuilder.cs | 22 - .../src/System/Reflection/Emit/MethodBuilder.cs | 165 +- .../src/System/Reflection/Emit/ModuleBuilder.cs | 489 +- .../System/Reflection/Emit/ModuleBuilderData.cs | 6 +- src/mscorlib/src/System/Reflection/Emit/Opcode.cs | 118 - .../src/System/Reflection/Emit/OpcodeType.cs | 3 - .../src/System/Reflection/Emit/OperandType.cs | 3 - .../src/System/Reflection/Emit/ParameterBuilder.cs | 35 +- .../src/System/Reflection/Emit/PropertyBuilder.cs | 49 +- .../src/System/Reflection/Emit/SignatureHelper.cs | 69 +- .../src/System/Reflection/Emit/SymbolMethod.cs | 1 - .../src/System/Reflection/Emit/SymbolType.cs | 2 +- .../src/System/Reflection/Emit/TypeBuilder.cs | 324 +- .../Reflection/Emit/TypeBuilderInstantiation.cs | 4 +- .../src/System/Reflection/Emit/UnmanagedMarshal.cs | 1 - .../Emit/XXXOnTypeBuilderInstantiation.cs | 13 +- src/mscorlib/src/System/Reflection/EventInfo.cs | 55 +- src/mscorlib/src/System/Reflection/FieldInfo.cs | 98 +- .../System/Reflection/IntrospectionExtensions.cs | 23 +- .../Reflection/InvalidFilterCriteriaException.cs | 4 - .../src/System/Reflection/LoaderAllocator.cs | 2 - src/mscorlib/src/System/Reflection/MdConstant.cs | 1 - src/mscorlib/src/System/Reflection/MdImport.cs | 55 - src/mscorlib/src/System/Reflection/MemberInfo.cs | 31 - .../Reflection/MemberInfoSerializationHolder.cs | 6 +- .../Reflection/Metadata/AssemblyExtensions.cs | 4 +- src/mscorlib/src/System/Reflection/MethodBase.cs | 50 +- src/mscorlib/src/System/Reflection/MethodBody.cs | 3 +- src/mscorlib/src/System/Reflection/MethodInfo.cs | 164 +- src/mscorlib/src/System/Reflection/Missing.cs | 3 +- src/mscorlib/src/System/Reflection/Module.cs | 158 +- .../src/System/Reflection/ParameterInfo.cs | 90 +- src/mscorlib/src/System/Reflection/Pointer.cs | 14 +- src/mscorlib/src/System/Reflection/PropertyInfo.cs | 51 +- .../src/System/Reflection/ReflectionContext.cs | 2 +- .../Reflection/ReflectionTypeLoadException.cs | 3 +- .../Reflection/RuntimeReflectionExtensions.cs | 4 +- .../src/System/Reflection/StrongNameKeyPair.cs | 115 +- .../src/System/Reflection/TargetException.cs | 4 - .../System/Reflection/TargetInvocationException.cs | 4 - .../Reflection/TargetParameterCountException.cs | 4 - .../src/System/Reflection/TypeDelegator.cs | 5 +- .../System/Resources/FileBasedResourceGroveler.cs | 31 +- .../src/System/Resources/IResourceGroveler.cs | 5 - .../Resources/LooselyLinkedResourceReference.cs | 10 +- .../Resources/ManifestBasedResourceGroveler.cs | 153 +- .../Resources/NeutralResourcesLanguageAttribute.cs | 4 +- .../System/Resources/ResourceFallbackManager.cs | 14 - .../src/System/Resources/ResourceManager.cs | 306 +- .../src/System/Resources/ResourceReader.cs | 71 +- src/mscorlib/src/System/Resources/ResourceSet.cs | 21 +- .../src/System/Resources/RuntimeResourceSet.cs | 9 +- .../Resources/SatelliteContractVersionAttribute.cs | 2 +- .../src/System/Resources/__FastResourceComparer.cs | 14 +- src/mscorlib/src/System/RtType.cs | 861 +- .../Runtime/CompilerServices/AsyncMethodBuilder.cs | 58 +- .../Runtime/CompilerServices/CallingConvention.cs | 30 - .../CompilerServices/ConditionalWeakTable.cs | 905 +- .../CompilerServices/DecimalConstantAttribute.cs | 7 +- .../CompilerServices/FormattableStringFactory.cs | 4 +- .../CompilerServices/HasCopySemanticsAttribute.cs | 14 - .../CompilerServices/IDispatchConstantAttribute.cs | 26 - .../Runtime/CompilerServices/INotifyCompletion.cs | 1 - .../CompilerServices/IUnknownConstantAttribute.cs | 27 - .../src/System/Runtime/CompilerServices/IsBoxed.cs | 11 - .../System/Runtime/CompilerServices/IsByValue.cs | 11 - .../src/System/Runtime/CompilerServices/IsConst.cs | 11 - .../Runtime/CompilerServices/IsCopyConstructed.cs | 11 - .../CompilerServices/IsExplicitlyDereferenced.cs | 22 - .../CompilerServices/IsImplicitlyDereferenced.cs | 22 - .../Runtime/CompilerServices/IsJitIntrinsic.cs | 12 - .../src/System/Runtime/CompilerServices/IsLong.cs | 18 - .../System/Runtime/CompilerServices/IsPinned.cs | 11 - .../CompilerServices/IsSignUnspecifiedByte.cs | 16 - .../System/Runtime/CompilerServices/IsUdtReturn.cs | 11 - .../CompilerServices/NativeCppClassAttribute.cs | 16 - .../CompilerServices/RequiredAttributeAttribute.cs | 26 - .../Runtime/CompilerServices/RuntimeHelpers.cs | 92 +- .../CompilerServices/RuntimeWrappedException.cs | 3 +- .../CompilerServices/ScopelessEnumAttribute.cs | 14 - .../System/Runtime/CompilerServices/TaskAwaiter.cs | 23 +- .../CompilerServices/TypeDependencyAttribute.cs | 2 +- .../CompilerServices/TypeForwardedFromAttribute.cs | 2 +- .../CompilerServices/TypeForwardedToAttribute.cs | 1 - .../src/System/Runtime/CompilerServices/Unsafe.cs | 80 + .../Runtime/CompilerServices/YieldAwaitable.cs | 6 +- .../System/Runtime/CompilerServices/jithelpers.cs | 52 +- .../ExceptionServices/ExceptionNotification.cs | 41 + .../ExceptionServices/ExceptionServicesCommon.cs | 2 +- src/mscorlib/src/System/Runtime/GcSettings.cs | 7 - .../Runtime/InteropServices/ArrayWithOffset.cs | 2 - .../System/Runtime/InteropServices/Attributes.cs | 12 +- .../System/Runtime/InteropServices/BStrWrapper.cs | 8 - .../System/Runtime/InteropServices/COMException.cs | 1 - .../Runtime/InteropServices/ComEventsHelper.cs | 16 +- .../Runtime/InteropServices/ComEventsInfo.cs | 5 - .../Runtime/InteropServices/ComEventsSink.cs | 9 - .../Runtime/InteropServices/CriticalHandle.cs | 11 - .../Runtime/InteropServices/CurrencyWrapper.cs | 2 +- .../Runtime/InteropServices/DispatchWrapper.cs | 4 - .../System/Runtime/InteropServices/ErrorWrapper.cs | 6 +- .../InteropServices/ExtensibleClassFactory.cs | 1 - .../Runtime/InteropServices/ExternalException.cs | 2 - .../src/System/Runtime/InteropServices/GcHandle.cs | 21 +- .../InteropServices/ICustomQueryInterface.cs | 1 - .../System/Runtime/InteropServices/IException.cs | 48 +- .../InteropServices/IRegistrationServices.cs | 6 - .../src/System/Runtime/InteropServices/Marshal.cs | 622 +- .../System/Runtime/InteropServices/NativeBuffer.cs | 175 - .../Runtime/InteropServices/NativeMethods.cs | 4 - .../System/Runtime/InteropServices/NonPortable.cs | 34 + .../InteropServices/RegistrationServices.cs | 52 +- .../Runtime/InteropServices/RuntimeEnvironment.cs | 57 +- .../System/Runtime/InteropServices/SafeBuffer.cs | 28 +- .../System/Runtime/InteropServices/SafeHandle.cs | 13 - .../Runtime/InteropServices/SafeHeapHandle.cs | 115 - .../System/Runtime/InteropServices/StringBuffer.cs | 402 - .../TCEAdapterGen/EventProviderWriter.cs | 67 +- .../TCEAdapterGen/EventSinkHelperWriter.cs | 9 +- .../Runtime/InteropServices/TypeLibConverter.cs | 595 - .../src/System/Runtime/InteropServices/Variant.cs | 1 - .../BindableVectorToCollectionAdapter.cs | 11 +- .../WindowsRuntime/BindableVectorToListAdapter.cs | 30 +- .../WindowsRuntime/CLRIPropertyValueImpl.cs | 8 - .../WindowsRuntime/CLRIReferenceImpl.cs | 11 +- .../WindowsRuntime/ConstantSplittableMap.cs | 4 +- .../WindowsRuntime/CustomPropertyImpl.cs | 6 +- .../WindowsRuntime/DictionaryKeyCollection.cs | 8 +- .../WindowsRuntime/DictionaryToMapAdapter.cs | 12 +- .../WindowsRuntime/DictionaryValueCollection.cs | 8 +- .../WindowsRuntime/EnumeratorToIteratorAdapter.cs | 7 +- .../InteropServices/WindowsRuntime/IClosable.cs | 8 +- .../WindowsRuntime/ICustomPropertyProvider.cs | 7 - .../IMapViewToIReadOnlyDictionaryAdapter.cs | 29 +- .../IReadOnlyDictionaryToIMapViewAdapter.cs | 6 +- .../IReadOnlyListToIVectorViewAdapter.cs | 8 +- .../WindowsRuntime/IRestrictedErrorInfo.cs | 2 - .../IVectorViewToIReadOnlyListAdapter.cs | 8 +- .../WindowsRuntime/IteratorToEnumeratorAdapter.cs | 19 +- .../WindowsRuntime/ListToBindableVectorAdapter.cs | 15 +- .../ListToBindableVectorViewAdapter.cs | 4 +- .../WindowsRuntime/ListToVectorAdapter.cs | 19 +- .../WindowsRuntime/ManagedActivationFactory.cs | 5 +- .../WindowsRuntime/MapToCollectionAdapter.cs | 14 +- .../WindowsRuntime/MapToDictionaryAdapter.cs | 23 +- .../MapViewToReadOnlyCollectionAdapter.cs | 4 +- .../WindowsRuntime/NativeMethods.cs | 7 - .../InteropServices/WindowsRuntime/RuntimeClass.cs | 9 - .../WindowsRuntime/VectorToCollectionAdapter.cs | 14 +- .../WindowsRuntime/VectorToListAdapter.cs | 24 +- .../VectorViewToReadOnlyCollectionAdapter.cs | 4 +- .../WindowsRuntime/WindowsRuntimeBufferHelper.cs | 2 - .../WindowsRuntime/WindowsRuntimeMarshal.cs | 52 +- .../WindowsRuntime/WindowsRuntimeMetadata.cs | 5 +- .../System/Runtime/Loader/AssemblyLoadContext.cs | 92 +- src/mscorlib/src/System/Runtime/MemoryFailPoint.cs | 16 +- .../src/System/Runtime/ProfileOptimization.cs | 4 - .../Runtime/Reliability/CriticalFinalizerObject.cs | 6 - .../src/System/Runtime/Remoting/ObjectHandle.cs | 42 +- .../Runtime/Serialization/FormatterConverter.cs | 34 +- .../Runtime/Serialization/FormatterServices.cs | 76 +- .../Runtime/Serialization/IObjectReference.cs | 1 - .../System/Runtime/Serialization/ISerializable.cs | 1 - .../Serialization/ISerializationSurrogate.cs | 2 - .../Runtime/Serialization/ISurrogateSelector.cs | 3 - .../Serialization/SafeSerializationManager.cs | 446 + .../Serialization/SerializationFieldInfo.cs | 36 +- .../Runtime/Serialization/SerializationInfo.cs | 98 +- .../Serialization/SerializationInfoEnumerator.cs | 15 +- .../Runtime/Versioning/BinaryCompatibility.cs | 485 - .../Runtime/Versioning/CompatibilitySwitch.cs | 5 - .../Versioning/ComponentGuaranteesAttribute.cs | 44 - .../Runtime/Versioning/ResourceAttributes.cs | 237 - .../Runtime/Versioning/TargetFrameworkAttribute.cs | 2 +- src/mscorlib/src/System/RuntimeHandles.cs | 273 +- src/mscorlib/src/System/SByte.cs | 3 - .../src/System/Security/AccessControl/Enums.cs | 6 - src/mscorlib/src/System/Security/Attributes.cs | 11 +- .../src/System/Security/BuiltInPermissionSets.cs | 103 +- .../src/System/Security/CodeAccessPermission.cs | 69 +- .../System/Security/CodeAccessSecurityEngine.cs | 468 +- .../src/System/Security/FrameSecurityDescriptor.cs | 31 +- .../src/System/Security/HostProtectionException.cs | 5 +- .../src/System/Security/HostSecurityManager.cs | 131 +- .../src/System/Security/IEvidenceFactory.cs | 15 +- .../src/System/Security/ISecurityEncodable.cs | 18 +- .../System/Security/ISecurityPolicyEncodable.cs | 17 +- .../src/System/Security/NamedPermissionSet.cs | 202 +- .../src/System/Security/PermissionListSet.cs | 29 +- src/mscorlib/src/System/Security/PermissionSet.cs | 1100 +- .../src/System/Security/PermissionSetEnumerator.cs | 14 - .../src/System/Security/PermissionSetTriple.cs | 20 +- .../src/System/Security/PermissionToken.cs | 202 +- .../Security/Permissions/EnvironmentPermission.cs | 60 +- .../Security/Permissions/FileDialogPermission.cs | 33 +- .../Security/Permissions/FileIOPermission.cs | 304 +- .../Security/Permissions/GACIdentityPermission.cs | 16 - .../Permissions/HostProtectionPermission.cs | 34 - .../Permissions/IsolatedStorageFilePermission.cs | 13 - .../Permissions/IsolatedStoragePermission.cs | 91 - .../Security/Permissions/PermissionAttributes.cs | 314 +- .../Security/Permissions/ReflectionPermission.cs | 39 - .../Security/Permissions/RegistryPermission.cs | 131 - .../Security/Permissions/SecurityPermission.cs | 96 +- .../Security/Permissions/SiteIdentityPermission.cs | 108 - .../Permissions/StrongNameIdentityPermission.cs | 90 +- .../Permissions/StrongNamePublicKeyBlob.cs | 2 +- .../System/Security/Permissions/UIPermission.cs | 44 - .../Security/Permissions/URLIdentityPermission.cs | 111 +- .../Security/Permissions/ZoneIdentityPermission.cs | 101 - .../Security/Permissions/keycontainerpermission.cs | 72 +- .../src/System/Security/Policy/ApplicationTrust.cs | 573 +- .../src/System/Security/Policy/Evidence.cs | 1865 - .../src/System/Security/Policy/EvidenceBase.cs | 31 +- .../Security/Policy/EvidenceTypeDescriptor.cs | 20 +- .../Security/Policy/IDelayEvaluatedEvidence.cs | 1 - .../src/System/Security/Policy/PolicyStatement.cs | 302 +- src/mscorlib/src/System/Security/Policy/Site.cs | 29 +- .../src/System/Security/Policy/StrongName.cs | 59 +- src/mscorlib/src/System/Security/Policy/URL.cs | 29 +- src/mscorlib/src/System/Security/Policy/Zone.cs | 66 +- .../Security/Principal/TokenImpersonationLevel.cs | 9 +- .../src/System/Security/SafeSecurityHandles.cs | 16 - .../src/System/Security/SecurityContext.cs | 238 +- .../src/System/Security/SecurityElement.cs | 100 +- .../src/System/Security/SecurityException.cs | 608 +- .../src/System/Security/SecurityManager.cs | 524 +- .../src/System/Security/SecurityRuntime.cs | 156 +- src/mscorlib/src/System/Security/SecurityState.cs | 10 +- src/mscorlib/src/System/Security/Util/Config.cs | 48 - src/mscorlib/src/System/Security/Util/Hex.cs | 2 +- .../System/Security/Util/StringExpressionSet.cs | 41 +- .../src/System/Security/Util/TokenBasedSet.cs | 32 +- src/mscorlib/src/System/Security/Util/URLString.cs | 17 +- src/mscorlib/src/System/Security/Util/XMLUtil.cs | 272 +- src/mscorlib/src/System/Security/securestring.cs | 31 +- src/mscorlib/src/System/SharedStatics.cs | 64 +- src/mscorlib/src/System/Single.cs | 16 +- src/mscorlib/src/System/Span.cs | 477 + src/mscorlib/src/System/String.Comparison.cs | 82 +- src/mscorlib/src/System/String.Manipulation.cs | 475 +- src/mscorlib/src/System/String.Searching.cs | 36 +- src/mscorlib/src/System/String.cs | 126 +- src/mscorlib/src/System/StringComparer.cs | 35 +- src/mscorlib/src/System/StubHelpers.cs | 161 +- src/mscorlib/src/System/Text/ASCIIEncoding.cs | 77 +- .../src/System/Text/BaseCodePageEncoding.cs | 30 +- src/mscorlib/src/System/Text/CodePageEncoding.cs | 13 +- .../src/System/Text/DBCSCodePageEncoding.cs | 102 +- src/mscorlib/src/System/Text/Decoder.cs | 32 +- .../src/System/Text/DecoderBestFitFallback.cs | 9 +- src/mscorlib/src/System/Text/DecoderFallback.cs | 13 +- src/mscorlib/src/System/Text/DecoderNLS.cs | 43 +- .../src/System/Text/DecoderReplacementFallback.cs | 9 +- src/mscorlib/src/System/Text/EUCJPEncoding.cs | 3 - src/mscorlib/src/System/Text/Encoder.cs | 32 +- .../src/System/Text/EncoderBestFitFallback.cs | 12 +- .../src/System/Text/EncoderExceptionFallback.cs | 6 +- src/mscorlib/src/System/Text/EncoderFallback.cs | 8 +- src/mscorlib/src/System/Text/EncoderNLS.cs | 43 +- .../src/System/Text/EncoderReplacementFallback.cs | 10 +- src/mscorlib/src/System/Text/Encoding.cs | 222 +- src/mscorlib/src/System/Text/EncodingForwarder.cs | 98 +- src/mscorlib/src/System/Text/EncodingNLS.cs | 4 - src/mscorlib/src/System/Text/EncodingProvider.cs | 2 +- src/mscorlib/src/System/Text/GB18030Encoding.cs | 60 +- src/mscorlib/src/System/Text/ISCIIEncoding.cs | 88 +- src/mscorlib/src/System/Text/ISO2022Encoding.cs | 74 +- src/mscorlib/src/System/Text/Latin1Encoding.cs | 66 +- .../src/System/Text/MLangCodePageEncoding.cs | 19 +- src/mscorlib/src/System/Text/Normalization.Unix.cs | 123 + .../src/System/Text/Normalization.Windows.cs | 286 + src/mscorlib/src/System/Text/Normalization.cs | 314 - .../src/System/Text/SBCSCodePageEncoding.cs | 93 +- src/mscorlib/src/System/Text/StringBuilder.cs | 309 +- src/mscorlib/src/System/Text/SurrogateEncoder.cs | 7 +- src/mscorlib/src/System/Text/UTF32Encoding.cs | 71 +- src/mscorlib/src/System/Text/UTF7Encoding.cs | 55 +- src/mscorlib/src/System/Text/UTF8Encoding.cs | 96 +- src/mscorlib/src/System/Text/UnicodeEncoding.cs | 92 +- src/mscorlib/src/System/Threading/AsyncLocal.cs | 387 +- .../src/System/Threading/AutoResetEvent.cs | 1 - .../src/System/Threading/CancellationToken.cs | 14 +- .../Threading/CancellationTokenRegistration.cs | 1 - .../System/Threading/CancellationTokenSource.cs | 37 +- .../src/System/Threading/CountdownEvent.cs | 23 +- .../src/System/Threading/EventWaitHandle.cs | 69 +- .../src/System/Threading/ExecutionContext.cs | 1222 +- src/mscorlib/src/System/Threading/Interlocked.cs | 17 - .../src/System/Threading/LazyInitializer.cs | 4 +- .../src/System/Threading/LockRecursionException.cs | 3 - .../src/System/Threading/ManualResetEvent.cs | 1 - .../src/System/Threading/ManualResetEventSlim.cs | 33 +- src/mscorlib/src/System/Threading/Monitor.cs | 26 +- src/mscorlib/src/System/Threading/Mutex.cs | 208 +- src/mscorlib/src/System/Threading/Overlapped.cs | 42 +- .../src/System/Threading/ReaderWriterLock.cs | 36 +- src/mscorlib/src/System/Threading/Semaphore.cs | 35 +- .../src/System/Threading/SemaphoreFullException.cs | 3 - src/mscorlib/src/System/Threading/SemaphoreSlim.cs | 50 +- src/mscorlib/src/System/Threading/SpinLock.cs | 110 +- src/mscorlib/src/System/Threading/SpinWait.cs | 18 +- .../src/System/Threading/SynchronizationContext.cs | 90 +- .../System/Threading/Tasks/AsyncCausalityTracer.cs | 4 +- .../Threading/Tasks/BeginEndAwaitableAdapter.cs | 16 +- .../Tasks/ConcurrentExclusiveSchedulerPair.cs | 42 +- .../src/System/Threading/Tasks/FutureFactory.cs | 148 +- .../src/System/Threading/Tasks/Parallel.cs | 229 +- .../System/Threading/Tasks/ParallelLoopState.cs | 7 +- .../System/Threading/Tasks/ParallelRangeManager.cs | 9 +- .../Threading/Tasks/ProducerConsumerQueues.cs | 12 +- .../src/System/Threading/Tasks/TPLETWProvider.cs | 12 - src/mscorlib/src/System/Threading/Tasks/Task.cs | 229 +- .../System/Threading/Tasks/TaskCompletionSource.cs | 6 +- .../src/System/Threading/Tasks/TaskContinuation.cs | 64 +- .../System/Threading/Tasks/TaskExceptionHolder.cs | 36 +- .../src/System/Threading/Tasks/TaskFactory.cs | 100 +- .../src/System/Threading/Tasks/TaskScheduler.cs | 21 +- .../src/System/Threading/Tasks/TaskToApm.cs | 5 +- .../Threading/Tasks/ThreadPoolTaskScheduler.cs | 7 +- src/mscorlib/src/System/Threading/Tasks/future.cs | 27 +- src/mscorlib/src/System/Threading/Thread.cs | 633 +- .../src/System/Threading/ThreadAbortException.cs | 1 - src/mscorlib/src/System/Threading/ThreadLocal.cs | 17 +- src/mscorlib/src/System/Threading/ThreadPool.cs | 230 +- src/mscorlib/src/System/Threading/Timer.cs | 79 +- src/mscorlib/src/System/Threading/Volatile.cs | 6 - src/mscorlib/src/System/Threading/WaitHandle.cs | 83 +- .../Threading/WaitHandleCannotBeOpenedException.cs | 4 - .../src/System/Threading/WaitHandleExtensions.cs | 46 - src/mscorlib/src/System/ThrowHelper.cs | 211 +- src/mscorlib/src/System/TimeSpan.cs | 28 +- src/mscorlib/src/System/TimeZone.cs | 4 +- src/mscorlib/src/System/TimeZoneInfo.cs | 641 +- .../src/System/TimeZoneNotFoundException.cs | 3 - src/mscorlib/src/System/Tuple.cs | 23 +- src/mscorlib/src/System/Type.cs | 144 +- .../src/System/TypeInitializationException.cs | 1 - src/mscorlib/src/System/TypeLoadException.cs | 9 +- src/mscorlib/src/System/TypeNameParser.cs | 30 +- src/mscorlib/src/System/TypedReference.cs | 10 +- src/mscorlib/src/System/UInt16.cs | 4 - src/mscorlib/src/System/UInt32.cs | 4 - src/mscorlib/src/System/UInt64.cs | 4 - src/mscorlib/src/System/UIntPtr.cs | 25 +- src/mscorlib/src/System/UnSafeCharBuffer.cs | 57 - .../src/System/UnhandledExceptionEventHandler.cs | 3 - .../src/System/UnitySerializationHolder.cs | 4 +- src/mscorlib/src/System/ValueType.cs | 4 - src/mscorlib/src/System/Variant.cs | 27 +- src/mscorlib/src/System/Version.cs | 164 +- src/mscorlib/src/System/WeakReference.cs | 23 +- src/mscorlib/src/System/WeakReferenceOfT.cs | 10 +- src/mscorlib/src/System/_LocalDataStore.cs | 6 +- src/mscorlib/src/System/_LocalDataStoreMgr.cs | 13 +- src/mscorlib/src/System/__ComObject.cs | 13 +- src/mscorlib/src/System/cominterfaces.cs | 34 +- src/mscorlib/src/System/mda.cs | 11 - src/mscorlib/src/mscorlib.Friends.cs | 2 - src/mscorlib/src/mscorlib.txt | 3494 -- src/nativeresources/resourcestring.cpp | 10 +- src/pal/inc/mbusafecrt.h | 16 +- src/pal/inc/pal.h | 196 +- src/pal/inc/pal_char16.h | 3 +- src/pal/inc/pal_mstypes.h | 11 +- src/pal/inc/rt/palrt.h | 180 +- src/pal/inc/rt/safecrt.h | 13 +- src/pal/inc/strsafe.h | 2222 +- src/pal/inc/unixasmmacros.inc | 4 +- src/pal/inc/unixasmmacrosamd64.inc | 2 +- src/pal/inc/unixasmmacrosarm.inc | 3 +- src/pal/inc/unixasmmacrosarm64.inc | 2 +- src/pal/inc/unixasmmacrosx86.inc | 87 + src/pal/prebuilt/idl/clrdata_i.c | 91 - src/pal/prebuilt/idl/clrdata_i.cpp | 91 + src/pal/prebuilt/idl/clrinternal_i.c | 79 - src/pal/prebuilt/idl/clrinternal_i.cpp | 79 + src/pal/prebuilt/idl/clrprivappxhosting_i.c | 76 - src/pal/prebuilt/idl/clrprivappxhosting_i.cpp | 76 + src/pal/prebuilt/idl/clrprivbinding_i.c | 100 - src/pal/prebuilt/idl/clrprivbinding_i.cpp | 100 + src/pal/prebuilt/idl/clrprivhosting_i.c | 79 - src/pal/prebuilt/idl/clrprivhosting_i.cpp | 79 + src/pal/prebuilt/idl/clrprivruntimebinders_i.c | 79 - src/pal/prebuilt/idl/clrprivruntimebinders_i.cpp | 79 + src/pal/prebuilt/idl/cordebug_i.c | 451 - src/pal/prebuilt/idl/cordebug_i.cpp | 463 + src/pal/prebuilt/idl/corprof_i.c | 134 - src/pal/prebuilt/idl/corprof_i.cpp | 140 + src/pal/prebuilt/idl/corpub_i.c | 94 - src/pal/prebuilt/idl/corpub_i.cpp | 94 + src/pal/prebuilt/idl/corsym_i.c | 175 - src/pal/prebuilt/idl/corsym_i.cpp | 175 + src/pal/prebuilt/idl/fusionpriv_i.c | 121 - src/pal/prebuilt/idl/fusionpriv_i.cpp | 121 + src/pal/prebuilt/idl/gchost_i.c | 73 - src/pal/prebuilt/idl/gchost_i.cpp | 73 + src/pal/prebuilt/idl/ivalidator_i.c | 76 - src/pal/prebuilt/idl/ivalidator_i.cpp | 76 + src/pal/prebuilt/idl/ivehandler_i.c | 79 - src/pal/prebuilt/idl/ivehandler_i.cpp | 79 + src/pal/prebuilt/idl/mscorsvc_i.c | 142 - src/pal/prebuilt/idl/mscorsvc_i.cpp | 142 + src/pal/prebuilt/idl/sospriv_i.c | 100 - src/pal/prebuilt/idl/sospriv_i.cpp | 98 + src/pal/prebuilt/idl/tlbimpexp_i.c | 82 - src/pal/prebuilt/idl/tlbimpexp_i.cpp | 82 + src/pal/prebuilt/idl/xclrdata_i.c | 142 - src/pal/prebuilt/idl/xclrdata_i.cpp | 142 + src/pal/prebuilt/idl/xcordebug_i.c | 75 - src/pal/prebuilt/idl/xcordebug_i.cpp | 75 + src/pal/prebuilt/inc/cordebug.h | 485 +- src/pal/prebuilt/inc/corprof.h | 6302 +- src/pal/prebuilt/inc/xclrdata.h | 12 +- src/pal/src/CMakeLists.txt | 108 +- src/pal/src/arch/amd64/activationhandlerwrapper.S | 30 + src/pal/src/arch/amd64/asmconstants.h | 106 + src/pal/src/arch/amd64/context.S | 21 + src/pal/src/arch/amd64/context2.S | 259 + src/pal/src/arch/amd64/debugbreak.S | 12 + src/pal/src/arch/amd64/dispatchexceptionwrapper.S | 51 + src/pal/src/arch/amd64/exceptionhelper.S | 42 + src/pal/src/arch/amd64/optimizedtls.cpp | 237 + src/pal/src/arch/amd64/processor.cpp | 64 + src/pal/src/arch/arm/exceptionhelper.S | 2 +- src/pal/src/arch/i386/activationhandlerwrapper.S | 30 - src/pal/src/arch/i386/asmconstants.h | 76 - src/pal/src/arch/i386/context.S | 21 - src/pal/src/arch/i386/context2.S | 354 +- src/pal/src/arch/i386/dispatchexceptionwrapper.S | 51 - src/pal/src/arch/i386/exceptionhelper.S | 47 +- src/pal/src/arch/i386/optimizedtls.cpp | 237 - src/pal/src/config.h.in | 1 - src/pal/src/configure.cmake | 11 +- src/pal/src/cruntime/lstr.cpp | 210 - src/pal/src/cruntime/math.cpp | 367 + src/pal/src/cruntime/mbstring.cpp | 54 - src/pal/src/cruntime/path.cpp | 482 - src/pal/src/cruntime/printf.cpp | 202 - src/pal/src/cruntime/string.cpp | 55 - src/pal/src/cruntime/wchar.cpp | 211 - src/pal/src/debug/debug.cpp | 1087 +- src/pal/src/examples/CMakeLists.txt | 2 +- src/pal/src/examples/example1.c | 49 - src/pal/src/examples/example1.cpp | 49 + src/pal/src/exception/machexception.cpp | 7 + src/pal/src/exception/machmessage.cpp | 2 +- src/pal/src/exception/machmessage.h | 4 +- src/pal/src/exception/seh-unwind.cpp | 76 +- src/pal/src/exception/seh.cpp | 8 +- src/pal/src/exception/signal.cpp | 6 + src/pal/src/file/find.cpp | 10 +- src/pal/src/include/pal/context.h | 24 + src/pal/src/include/pal/palinternal.h | 45 +- src/pal/src/init/pal.cpp | 3 +- src/pal/src/map/virtual.cpp | 5 +- src/pal/src/misc/sysinfo.cpp | 2 +- src/pal/src/safecrt/input.inl | 4 +- src/pal/src/safecrt/makepath_s.c | 31 - src/pal/src/safecrt/makepath_s.cpp | 31 + src/pal/src/safecrt/mbusafecrt.c | 254 - src/pal/src/safecrt/mbusafecrt.cpp | 249 + src/pal/src/safecrt/memcpy_s.c | 82 - src/pal/src/safecrt/memcpy_s.cpp | 82 + src/pal/src/safecrt/memmove_s.c | 69 - src/pal/src/safecrt/memmove_s.cpp | 69 + src/pal/src/safecrt/output.inl | 39 +- src/pal/src/safecrt/safecrt_input_s.c | 46 - src/pal/src/safecrt/safecrt_input_s.cpp | 46 + src/pal/src/safecrt/safecrt_output_l.c | 1467 - src/pal/src/safecrt/safecrt_output_l.cpp | 1467 + src/pal/src/safecrt/safecrt_output_s.c | 46 - src/pal/src/safecrt/safecrt_output_s.cpp | 46 + src/pal/src/safecrt/safecrt_winput_s.c | 55 - src/pal/src/safecrt/safecrt_winput_s.cpp | 55 + src/pal/src/safecrt/safecrt_woutput_s.c | 59 - src/pal/src/safecrt/safecrt_woutput_s.cpp | 59 + src/pal/src/safecrt/snprintf.c | 18 - src/pal/src/safecrt/snprintf.cpp | 18 + src/pal/src/safecrt/splitpath_s.c | 31 - src/pal/src/safecrt/splitpath_s.cpp | 31 + src/pal/src/safecrt/sprintf.c | 98 - src/pal/src/safecrt/sprintf_s.cpp | 98 + src/pal/src/safecrt/sscanf.c | 249 - src/pal/src/safecrt/sscanf_s.cpp | 249 + src/pal/src/safecrt/strcat_s.c | 33 - src/pal/src/safecrt/strcat_s.cpp | 33 + src/pal/src/safecrt/strcpy_s.c | 29 - src/pal/src/safecrt/strcpy_s.cpp | 29 + src/pal/src/safecrt/strlen_s.c | 58 - src/pal/src/safecrt/strlen_s.cpp | 58 + src/pal/src/safecrt/strncat_s.c | 31 - src/pal/src/safecrt/strncat_s.cpp | 31 + src/pal/src/safecrt/strncpy_s.c | 30 - src/pal/src/safecrt/strncpy_s.cpp | 30 + src/pal/src/safecrt/strtok_s.c | 27 - src/pal/src/safecrt/strtok_s.cpp | 27 + src/pal/src/safecrt/swprintf.c | 120 - src/pal/src/safecrt/swprintf.cpp | 120 + src/pal/src/safecrt/vsprintf.c | 268 - src/pal/src/safecrt/vsprintf.cpp | 268 + src/pal/src/safecrt/vswprint.c | 282 - src/pal/src/safecrt/vswprint.cpp | 211 + src/pal/src/safecrt/wcscat_s.c | 36 - src/pal/src/safecrt/wcscat_s.cpp | 36 + src/pal/src/safecrt/wcscpy_s.c | 33 - src/pal/src/safecrt/wcscpy_s.cpp | 33 + src/pal/src/safecrt/wcslen_s.c | 58 - src/pal/src/safecrt/wcslen_s.cpp | 58 + src/pal/src/safecrt/wcsncat_s.c | 35 - src/pal/src/safecrt/wcsncat_s.cpp | 35 + src/pal/src/safecrt/wcsncpy_s.c | 34 - src/pal/src/safecrt/wcsncpy_s.cpp | 34 + src/pal/src/safecrt/wcstok_s.c | 27 - src/pal/src/safecrt/wcstok_s.cpp | 27 + src/pal/src/safecrt/wmakepath_s.c | 30 - src/pal/src/safecrt/wmakepath_s.cpp | 30 + src/pal/src/safecrt/wsplitpath_s.c | 30 - src/pal/src/safecrt/wsplitpath_s.cpp | 30 + src/pal/src/safecrt/xtoa_s.c | 29 - src/pal/src/safecrt/xtoa_s.cpp | 29 + src/pal/src/safecrt/xtow_s.c | 28 - src/pal/src/safecrt/xtow_s.cpp | 28 + src/pal/src/safecrt/xtox_s.inl | 29 - src/pal/src/synchmgr/synchmanager.cpp | 2 +- src/pal/src/thread/context.cpp | 108 +- src/pal/src/thread/process.cpp | 12 +- src/pal/tests/CMakeLists.txt | 15 +- src/pal/tests/palsuite/c_runtime/CMakeLists.txt | 35 +- .../c_runtime/__iscsym/test1/CMakeLists.txt | 2 +- .../palsuite/c_runtime/__iscsym/test1/__iscsym.c | 93 - .../palsuite/c_runtime/__iscsym/test1/__iscsym.cpp | 93 + .../c_runtime/_alloca/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/_alloca/test1/test1.c | 62 - .../palsuite/c_runtime/_alloca/test1/test1.cpp | 62 + .../palsuite/c_runtime/_ecvt/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/_ecvt/test1/test1.c | 135 - .../tests/palsuite/c_runtime/_ecvt/test1/test1.cpp | 135 + .../c_runtime/_fdopen/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/_fdopen/test1/test1.c | 112 - .../palsuite/c_runtime/_fdopen/test1/test1.cpp | 112 + .../c_runtime/_finite/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/_finite/test1/test1.c | 119 - .../palsuite/c_runtime/_finite/test1/test1.cpp | 119 + .../palsuite/c_runtime/_finitef/CMakeLists.txt | 3 + .../c_runtime/_finitef/test1/CMakeLists.txt | 19 + .../palsuite/c_runtime/_finitef/test1/test1.c | 119 + .../palsuite/c_runtime/_finitef/test1/testinfo.dat | 13 + .../c_runtime/_fullpath/test1/CMakeLists.txt | 2 +- .../palsuite/c_runtime/_fullpath/test1/test1.c | 181 - .../palsuite/c_runtime/_fullpath/test1/test1.cpp | 181 + .../palsuite/c_runtime/_gcvt/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/_gcvt/test1/_gcvt.c | 58 - .../tests/palsuite/c_runtime/_gcvt/test1/_gcvt.cpp | 58 + .../palsuite/c_runtime/_gcvt/test2/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/_gcvt/test2/test2.c | 83 - .../tests/palsuite/c_runtime/_gcvt/test2/test2.cpp | 83 + .../palsuite/c_runtime/_getw/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/_getw/test1/test1.c | 96 - .../tests/palsuite/c_runtime/_getw/test1/test1.cpp | 96 + .../palsuite/c_runtime/_isnan/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/_isnan/test1/test1.c | 115 - .../palsuite/c_runtime/_isnan/test1/test1.cpp | 115 + .../palsuite/c_runtime/_isnanf/CMakeLists.txt | 3 + .../c_runtime/_isnanf/test1/CMakeLists.txt | 19 + .../tests/palsuite/c_runtime/_isnanf/test1/test1.c | 115 + .../palsuite/c_runtime/_isnanf/test1/testinfo.dat | 16 + .../palsuite/c_runtime/_itow/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/_itow/test1/test1.c | 102 - .../tests/palsuite/c_runtime/_itow/test1/test1.cpp | 101 + .../palsuite/c_runtime/_itow/test1/testinfo.dat | 6 +- .../palsuite/c_runtime/_makepath/CMakeLists.txt | 4 - .../c_runtime/_makepath/test1/CMakeLists.txt | 19 - .../palsuite/c_runtime/_makepath/test1/test1.c | 65 - .../c_runtime/_makepath/test1/testinfo.dat | 14 - .../c_runtime/_mbsdec/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/_mbsdec/test1/test1.c | 77 - .../palsuite/c_runtime/_mbsdec/test1/test1.cpp | 77 + .../c_runtime/_mbsinc/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/_mbsinc/test1/test1.c | 62 - .../palsuite/c_runtime/_mbsinc/test1/test1.cpp | 62 + .../palsuite/c_runtime/_mbslen/CMakeLists.txt | 4 - .../c_runtime/_mbslen/test1/CMakeLists.txt | 19 - .../tests/palsuite/c_runtime/_mbslen/test1/test1.c | 66 - .../palsuite/c_runtime/_mbslen/test1/testinfo.dat | 15 - .../c_runtime/_mbsninc/test1/CMakeLists.txt | 2 +- .../palsuite/c_runtime/_mbsninc/test1/test1.c | 65 - .../palsuite/c_runtime/_mbsninc/test1/test1.cpp | 65 + .../c_runtime/_open_osfhandle/test1/CMakeLists.txt | 2 +- .../c_runtime/_open_osfhandle/test1/test1.c | 132 - .../c_runtime/_open_osfhandle/test1/test1.cpp | 132 + .../c_runtime/_open_osfhandle/test2/CMakeLists.txt | 2 +- .../c_runtime/_open_osfhandle/test2/test2.c | 86 - .../c_runtime/_open_osfhandle/test2/test2.cpp | 86 + .../c_runtime/_putenv/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/_putenv/test1/test1.c | 99 - .../palsuite/c_runtime/_putenv/test1/test1.cpp | 99 + .../c_runtime/_putenv/test2/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/_putenv/test2/test2.c | 76 - .../palsuite/c_runtime/_putenv/test2/test2.cpp | 76 + .../c_runtime/_putenv/test3/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/_putenv/test3/test3.c | 102 - .../palsuite/c_runtime/_putenv/test3/test3.cpp | 102 + .../c_runtime/_putenv/test4/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/_putenv/test4/test4.c | 75 - .../palsuite/c_runtime/_putenv/test4/test4.cpp | 75 + .../palsuite/c_runtime/_putw/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/_putw/test1/test1.c | 112 - .../tests/palsuite/c_runtime/_putw/test1/test1.cpp | 112 + .../palsuite/c_runtime/_snprintf/CMakeLists.txt | 22 - .../tests/palsuite/c_runtime/_snprintf/_snprintf.h | 194 - .../c_runtime/_snprintf/test1/CMakeLists.txt | 19 - .../palsuite/c_runtime/_snprintf/test1/test1.c | 58 - .../c_runtime/_snprintf/test1/testinfo.dat | 12 - .../c_runtime/_snprintf/test10/CMakeLists.txt | 19 - .../palsuite/c_runtime/_snprintf/test10/test10.c | 55 - .../c_runtime/_snprintf/test10/testinfo.dat | 12 - .../c_runtime/_snprintf/test11/CMakeLists.txt | 19 - .../palsuite/c_runtime/_snprintf/test11/test11.c | 54 - .../c_runtime/_snprintf/test11/testinfo.dat | 12 - .../c_runtime/_snprintf/test12/CMakeLists.txt | 19 - .../palsuite/c_runtime/_snprintf/test12/test12.c | 55 - .../c_runtime/_snprintf/test12/testinfo.dat | 12 - .../c_runtime/_snprintf/test13/CMakeLists.txt | 19 - .../palsuite/c_runtime/_snprintf/test13/test13.c | 55 - .../c_runtime/_snprintf/test13/testinfo.dat | 12 - .../c_runtime/_snprintf/test14/CMakeLists.txt | 19 - .../palsuite/c_runtime/_snprintf/test14/test14.c | 57 - .../c_runtime/_snprintf/test14/testinfo.dat | 12 - .../c_runtime/_snprintf/test15/CMakeLists.txt | 19 - .../palsuite/c_runtime/_snprintf/test15/test15.c | 56 - .../c_runtime/_snprintf/test15/testinfo.dat | 12 - .../c_runtime/_snprintf/test16/CMakeLists.txt | 19 - .../palsuite/c_runtime/_snprintf/test16/test16.c | 52 - .../c_runtime/_snprintf/test16/testinfo.dat | 12 - .../c_runtime/_snprintf/test17/CMakeLists.txt | 19 - .../palsuite/c_runtime/_snprintf/test17/test17.c | 53 - .../c_runtime/_snprintf/test17/testinfo.dat | 12 - .../c_runtime/_snprintf/test18/CMakeLists.txt | 19 - .../palsuite/c_runtime/_snprintf/test18/test18.c | 53 - .../c_runtime/_snprintf/test18/testinfo.dat | 12 - .../c_runtime/_snprintf/test19/CMakeLists.txt | 19 - .../palsuite/c_runtime/_snprintf/test19/test19.c | 76 - .../c_runtime/_snprintf/test19/testinfo.dat | 12 - .../c_runtime/_snprintf/test2/CMakeLists.txt | 19 - .../palsuite/c_runtime/_snprintf/test2/test2.c | 44 - .../c_runtime/_snprintf/test2/testinfo.dat | 12 - .../c_runtime/_snprintf/test3/CMakeLists.txt | 19 - .../palsuite/c_runtime/_snprintf/test3/test3.c | 45 - .../c_runtime/_snprintf/test3/testinfo.dat | 12 - .../c_runtime/_snprintf/test4/CMakeLists.txt | 19 - .../palsuite/c_runtime/_snprintf/test4/test4.c | 69 - .../c_runtime/_snprintf/test4/testinfo.dat | 12 - .../c_runtime/_snprintf/test5/CMakeLists.txt | 19 - .../palsuite/c_runtime/_snprintf/test5/test5.c | 61 - .../c_runtime/_snprintf/test5/testinfo.dat | 12 - .../c_runtime/_snprintf/test6/CMakeLists.txt | 19 - .../palsuite/c_runtime/_snprintf/test6/test6.c | 47 - .../c_runtime/_snprintf/test6/testinfo.dat | 12 - .../c_runtime/_snprintf/test7/CMakeLists.txt | 19 - .../palsuite/c_runtime/_snprintf/test7/test7.c | 47 - .../c_runtime/_snprintf/test7/testinfo.dat | 12 - .../c_runtime/_snprintf/test8/CMakeLists.txt | 19 - .../palsuite/c_runtime/_snprintf/test8/test8.c | 56 - .../c_runtime/_snprintf/test8/testinfo.dat | 12 - .../c_runtime/_snprintf/test9/CMakeLists.txt | 19 - .../palsuite/c_runtime/_snprintf/test9/test9.c | 55 - .../c_runtime/_snprintf/test9/testinfo.dat | 12 - .../palsuite/c_runtime/_snprintf_s/CMakeLists.txt | 21 + .../palsuite/c_runtime/_snprintf_s/_snprintf_s.h | 194 + .../c_runtime/_snprintf_s/test1/CMakeLists.txt | 19 + .../palsuite/c_runtime/_snprintf_s/test1/test1.cpp | 58 + .../c_runtime/_snprintf_s/test1/testinfo.dat | 12 + .../c_runtime/_snprintf_s/test10/CMakeLists.txt | 19 + .../c_runtime/_snprintf_s/test10/test10.cpp | 55 + .../c_runtime/_snprintf_s/test10/testinfo.dat | 12 + .../c_runtime/_snprintf_s/test11/CMakeLists.txt | 19 + .../c_runtime/_snprintf_s/test11/test11.cpp | 54 + .../c_runtime/_snprintf_s/test11/testinfo.dat | 12 + .../c_runtime/_snprintf_s/test12/CMakeLists.txt | 19 + .../c_runtime/_snprintf_s/test12/test12.cpp | 55 + .../c_runtime/_snprintf_s/test12/testinfo.dat | 12 + .../c_runtime/_snprintf_s/test13/CMakeLists.txt | 19 + .../c_runtime/_snprintf_s/test13/test13.cpp | 55 + .../c_runtime/_snprintf_s/test13/testinfo.dat | 12 + .../c_runtime/_snprintf_s/test14/CMakeLists.txt | 19 + .../c_runtime/_snprintf_s/test14/test14.cpp | 57 + .../c_runtime/_snprintf_s/test14/testinfo.dat | 12 + .../c_runtime/_snprintf_s/test15/CMakeLists.txt | 19 + .../c_runtime/_snprintf_s/test15/test15.cpp | 56 + .../c_runtime/_snprintf_s/test15/testinfo.dat | 12 + .../c_runtime/_snprintf_s/test16/CMakeLists.txt | 19 + .../c_runtime/_snprintf_s/test16/test16.cpp | 52 + .../c_runtime/_snprintf_s/test16/testinfo.dat | 12 + .../c_runtime/_snprintf_s/test17/CMakeLists.txt | 19 + .../c_runtime/_snprintf_s/test17/test17.cpp | 53 + .../c_runtime/_snprintf_s/test17/testinfo.dat | 12 + .../c_runtime/_snprintf_s/test18/CMakeLists.txt | 19 + .../c_runtime/_snprintf_s/test18/test18.cpp | 53 + .../c_runtime/_snprintf_s/test18/testinfo.dat | 12 + .../c_runtime/_snprintf_s/test19/CMakeLists.txt | 19 + .../c_runtime/_snprintf_s/test19/test19.cpp | 70 + .../c_runtime/_snprintf_s/test19/testinfo.dat | 12 + .../c_runtime/_snprintf_s/test2/CMakeLists.txt | 19 + .../palsuite/c_runtime/_snprintf_s/test2/test2.cpp | 44 + .../c_runtime/_snprintf_s/test2/testinfo.dat | 12 + .../c_runtime/_snprintf_s/test3/CMakeLists.txt | 19 + .../palsuite/c_runtime/_snprintf_s/test3/test3.cpp | 45 + .../c_runtime/_snprintf_s/test3/testinfo.dat | 12 + .../c_runtime/_snprintf_s/test4/CMakeLists.txt | 19 + .../palsuite/c_runtime/_snprintf_s/test4/test4.cpp | 69 + .../c_runtime/_snprintf_s/test4/testinfo.dat | 12 + .../c_runtime/_snprintf_s/test6/CMakeLists.txt | 19 + .../palsuite/c_runtime/_snprintf_s/test6/test6.cpp | 47 + .../c_runtime/_snprintf_s/test6/testinfo.dat | 12 + .../c_runtime/_snprintf_s/test7/CMakeLists.txt | 19 + .../palsuite/c_runtime/_snprintf_s/test7/test7.cpp | 47 + .../c_runtime/_snprintf_s/test7/testinfo.dat | 12 + .../c_runtime/_snprintf_s/test8/CMakeLists.txt | 19 + .../palsuite/c_runtime/_snprintf_s/test8/test8.cpp | 56 + .../c_runtime/_snprintf_s/test8/testinfo.dat | 12 + .../c_runtime/_snprintf_s/test9/CMakeLists.txt | 19 + .../palsuite/c_runtime/_snprintf_s/test9/test9.cpp | 55 + .../c_runtime/_snprintf_s/test9/testinfo.dat | 12 + .../palsuite/c_runtime/_snwprintf/CMakeLists.txt | 22 - .../palsuite/c_runtime/_snwprintf/_snwprintf.h | 199 - .../c_runtime/_snwprintf/test1/CMakeLists.txt | 19 - .../palsuite/c_runtime/_snwprintf/test1/test1.c | 62 - .../c_runtime/_snwprintf/test1/testinfo.dat | 12 - .../c_runtime/_snwprintf/test10/CMakeLists.txt | 19 - .../palsuite/c_runtime/_snwprintf/test10/test10.c | 54 - .../c_runtime/_snwprintf/test10/testinfo.dat | 12 - .../c_runtime/_snwprintf/test11/CMakeLists.txt | 19 - .../palsuite/c_runtime/_snwprintf/test11/test11.c | 54 - .../c_runtime/_snwprintf/test11/testinfo.dat | 12 - .../c_runtime/_snwprintf/test12/CMakeLists.txt | 19 - .../palsuite/c_runtime/_snwprintf/test12/test12.c | 54 - .../c_runtime/_snwprintf/test12/testinfo.dat | 12 - .../c_runtime/_snwprintf/test13/CMakeLists.txt | 19 - .../palsuite/c_runtime/_snwprintf/test13/test13.c | 54 - .../c_runtime/_snwprintf/test13/testinfo.dat | 12 - .../c_runtime/_snwprintf/test14/CMakeLists.txt | 19 - .../palsuite/c_runtime/_snwprintf/test14/test14.c | 66 - .../c_runtime/_snwprintf/test14/testinfo.dat | 12 - .../c_runtime/_snwprintf/test15/CMakeLists.txt | 19 - .../palsuite/c_runtime/_snwprintf/test15/test15.c | 67 - .../c_runtime/_snwprintf/test15/testinfo.dat | 12 - .../c_runtime/_snwprintf/test16/CMakeLists.txt | 19 - .../palsuite/c_runtime/_snwprintf/test16/test16.c | 65 - .../c_runtime/_snwprintf/test16/testinfo.dat | 12 - .../c_runtime/_snwprintf/test17/CMakeLists.txt | 19 - .../palsuite/c_runtime/_snwprintf/test17/test17.c | 68 - .../c_runtime/_snwprintf/test17/testinfo.dat | 12 - .../c_runtime/_snwprintf/test18/CMakeLists.txt | 19 - .../palsuite/c_runtime/_snwprintf/test18/test18.c | 69 - .../c_runtime/_snwprintf/test18/testinfo.dat | 12 - .../c_runtime/_snwprintf/test19/CMakeLists.txt | 19 - .../palsuite/c_runtime/_snwprintf/test19/test19.c | 90 - .../c_runtime/_snwprintf/test19/testinfo.dat | 12 - .../c_runtime/_snwprintf/test2/CMakeLists.txt | 19 - .../palsuite/c_runtime/_snwprintf/test2/test2.c | 44 - .../c_runtime/_snwprintf/test2/testinfo.dat | 12 - .../c_runtime/_snwprintf/test3/CMakeLists.txt | 19 - .../palsuite/c_runtime/_snwprintf/test3/test3.c | 44 - .../c_runtime/_snwprintf/test3/testinfo.dat | 12 - .../c_runtime/_snwprintf/test4/CMakeLists.txt | 19 - .../palsuite/c_runtime/_snwprintf/test4/test4.c | 71 - .../c_runtime/_snwprintf/test4/testinfo.dat | 12 - .../c_runtime/_snwprintf/test5/CMakeLists.txt | 19 - .../palsuite/c_runtime/_snwprintf/test5/test5.c | 63 - .../c_runtime/_snwprintf/test5/testinfo.dat | 12 - .../c_runtime/_snwprintf/test6/CMakeLists.txt | 19 - .../palsuite/c_runtime/_snwprintf/test6/test6.c | 46 - .../c_runtime/_snwprintf/test6/testinfo.dat | 12 - .../c_runtime/_snwprintf/test7/CMakeLists.txt | 19 - .../palsuite/c_runtime/_snwprintf/test7/test7.c | 46 - .../c_runtime/_snwprintf/test7/testinfo.dat | 12 - .../c_runtime/_snwprintf/test8/CMakeLists.txt | 19 - .../palsuite/c_runtime/_snwprintf/test8/test8.c | 53 - .../c_runtime/_snwprintf/test8/testinfo.dat | 12 - .../c_runtime/_snwprintf/test9/CMakeLists.txt | 19 - .../palsuite/c_runtime/_snwprintf/test9/test9.c | 53 - .../c_runtime/_snwprintf/test9/testinfo.dat | 12 - .../palsuite/c_runtime/_snwprintf_s/CMakeLists.txt | 21 + .../palsuite/c_runtime/_snwprintf_s/_snwprintf_s.h | 199 + .../c_runtime/_snwprintf_s/test1/CMakeLists.txt | 19 + .../c_runtime/_snwprintf_s/test1/test1.cpp | 62 + .../c_runtime/_snwprintf_s/test1/testinfo.dat | 12 + .../c_runtime/_snwprintf_s/test10/CMakeLists.txt | 19 + .../c_runtime/_snwprintf_s/test10/test10.cpp | 54 + .../c_runtime/_snwprintf_s/test10/testinfo.dat | 12 + .../c_runtime/_snwprintf_s/test11/CMakeLists.txt | 19 + .../c_runtime/_snwprintf_s/test11/test11.cpp | 54 + .../c_runtime/_snwprintf_s/test11/testinfo.dat | 12 + .../c_runtime/_snwprintf_s/test12/CMakeLists.txt | 19 + .../c_runtime/_snwprintf_s/test12/test12.cpp | 54 + .../c_runtime/_snwprintf_s/test12/testinfo.dat | 12 + .../c_runtime/_snwprintf_s/test13/CMakeLists.txt | 19 + .../c_runtime/_snwprintf_s/test13/test13.cpp | 54 + .../c_runtime/_snwprintf_s/test13/testinfo.dat | 12 + .../c_runtime/_snwprintf_s/test14/CMakeLists.txt | 19 + .../c_runtime/_snwprintf_s/test14/test14.cpp | 66 + .../c_runtime/_snwprintf_s/test14/testinfo.dat | 12 + .../c_runtime/_snwprintf_s/test15/CMakeLists.txt | 19 + .../c_runtime/_snwprintf_s/test15/test15.cpp | 67 + .../c_runtime/_snwprintf_s/test15/testinfo.dat | 12 + .../c_runtime/_snwprintf_s/test16/CMakeLists.txt | 19 + .../c_runtime/_snwprintf_s/test16/test16.cpp | 65 + .../c_runtime/_snwprintf_s/test16/testinfo.dat | 12 + .../c_runtime/_snwprintf_s/test17/CMakeLists.txt | 19 + .../c_runtime/_snwprintf_s/test17/test17.cpp | 68 + .../c_runtime/_snwprintf_s/test17/testinfo.dat | 12 + .../c_runtime/_snwprintf_s/test18/CMakeLists.txt | 19 + .../c_runtime/_snwprintf_s/test18/test18.cpp | 69 + .../c_runtime/_snwprintf_s/test18/testinfo.dat | 12 + .../c_runtime/_snwprintf_s/test19/CMakeLists.txt | 19 + .../c_runtime/_snwprintf_s/test19/test19.cpp | 82 + .../c_runtime/_snwprintf_s/test19/testinfo.dat | 12 + .../c_runtime/_snwprintf_s/test2/CMakeLists.txt | 19 + .../c_runtime/_snwprintf_s/test2/test2.cpp | 44 + .../c_runtime/_snwprintf_s/test2/testinfo.dat | 12 + .../c_runtime/_snwprintf_s/test3/CMakeLists.txt | 19 + .../c_runtime/_snwprintf_s/test3/test3.cpp | 44 + .../c_runtime/_snwprintf_s/test3/testinfo.dat | 12 + .../c_runtime/_snwprintf_s/test4/CMakeLists.txt | 19 + .../c_runtime/_snwprintf_s/test4/test4.cpp | 71 + .../c_runtime/_snwprintf_s/test4/testinfo.dat | 12 + .../c_runtime/_snwprintf_s/test6/CMakeLists.txt | 19 + .../c_runtime/_snwprintf_s/test6/test6.cpp | 46 + .../c_runtime/_snwprintf_s/test6/testinfo.dat | 12 + .../c_runtime/_snwprintf_s/test7/CMakeLists.txt | 19 + .../c_runtime/_snwprintf_s/test7/test7.cpp | 46 + .../c_runtime/_snwprintf_s/test7/testinfo.dat | 12 + .../c_runtime/_snwprintf_s/test8/CMakeLists.txt | 19 + .../c_runtime/_snwprintf_s/test8/test8.cpp | 53 + .../c_runtime/_snwprintf_s/test8/testinfo.dat | 12 + .../c_runtime/_snwprintf_s/test9/CMakeLists.txt | 19 + .../c_runtime/_snwprintf_s/test9/test9.cpp | 53 + .../c_runtime/_snwprintf_s/test9/testinfo.dat | 12 + .../palsuite/c_runtime/_splitpath/CMakeLists.txt | 4 - .../c_runtime/_splitpath/test1/CMakeLists.txt | 19 - .../palsuite/c_runtime/_splitpath/test1/test1.c | 108 - .../c_runtime/_splitpath/test1/testinfo.dat | 15 - .../c_runtime/_stricmp/test1/CMakeLists.txt | 2 +- .../palsuite/c_runtime/_stricmp/test1/test1.c | 70 - .../palsuite/c_runtime/_stricmp/test1/test1.cpp | 70 + .../c_runtime/_strlwr/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/_strlwr/test1/test1.c | 42 - .../palsuite/c_runtime/_strlwr/test1/test1.cpp | 42 + .../c_runtime/_strnicmp/test1/CMakeLists.txt | 2 +- .../palsuite/c_runtime/_strnicmp/test1/test1.c | 85 - .../palsuite/c_runtime/_strnicmp/test1/test1.cpp | 85 + .../tests/palsuite/c_runtime/_swab/CMakeLists.txt | 4 - .../palsuite/c_runtime/_swab/test1/CMakeLists.txt | 19 - .../tests/palsuite/c_runtime/_swab/test1/test1.c | 45 - .../palsuite/c_runtime/_swab/test1/testinfo.dat | 14 - .../palsuite/c_runtime/_vsnprintf/_vsnprintf.h | 14 +- .../c_runtime/_vsnprintf/test1/CMakeLists.txt | 2 +- .../palsuite/c_runtime/_vsnprintf/test1/test1.c | 55 - .../palsuite/c_runtime/_vsnprintf/test1/test1.cpp | 55 + .../c_runtime/_vsnprintf/test1/testinfo.dat | 2 +- .../c_runtime/_vsnprintf/test10/CMakeLists.txt | 2 +- .../palsuite/c_runtime/_vsnprintf/test10/test10.c | 50 - .../c_runtime/_vsnprintf/test10/test10.cpp | 50 + .../c_runtime/_vsnprintf/test10/testinfo.dat | 2 +- .../c_runtime/_vsnprintf/test11/CMakeLists.txt | 2 +- .../palsuite/c_runtime/_vsnprintf/test11/test11.c | 50 - .../c_runtime/_vsnprintf/test11/test11.cpp | 50 + .../c_runtime/_vsnprintf/test11/testinfo.dat | 2 +- .../c_runtime/_vsnprintf/test12/CMakeLists.txt | 2 +- .../palsuite/c_runtime/_vsnprintf/test12/test12.c | 52 - .../c_runtime/_vsnprintf/test12/test12.cpp | 52 + .../c_runtime/_vsnprintf/test12/testinfo.dat | 2 +- .../c_runtime/_vsnprintf/test13/CMakeLists.txt | 2 +- .../palsuite/c_runtime/_vsnprintf/test13/test13.c | 52 - .../c_runtime/_vsnprintf/test13/test13.cpp | 52 + .../c_runtime/_vsnprintf/test13/testinfo.dat | 2 +- .../c_runtime/_vsnprintf/test14/CMakeLists.txt | 2 +- .../palsuite/c_runtime/_vsnprintf/test14/test14.c | 50 - .../c_runtime/_vsnprintf/test14/test14.cpp | 50 + .../c_runtime/_vsnprintf/test14/testinfo.dat | 2 +- .../c_runtime/_vsnprintf/test15/CMakeLists.txt | 2 +- .../palsuite/c_runtime/_vsnprintf/test15/test15.c | 49 - .../c_runtime/_vsnprintf/test15/test15.cpp | 49 + .../c_runtime/_vsnprintf/test15/testinfo.dat | 2 +- .../c_runtime/_vsnprintf/test16/CMakeLists.txt | 2 +- .../palsuite/c_runtime/_vsnprintf/test16/test16.c | 49 - .../c_runtime/_vsnprintf/test16/test16.cpp | 49 + .../c_runtime/_vsnprintf/test16/testinfo.dat | 2 +- .../c_runtime/_vsnprintf/test17/CMakeLists.txt | 2 +- .../palsuite/c_runtime/_vsnprintf/test17/test17.c | 50 - .../c_runtime/_vsnprintf/test17/test17.cpp | 50 + .../c_runtime/_vsnprintf/test17/testinfo.dat | 2 +- .../c_runtime/_vsnprintf/test18/CMakeLists.txt | 2 +- .../palsuite/c_runtime/_vsnprintf/test18/test18.c | 50 - .../c_runtime/_vsnprintf/test18/test18.cpp | 50 + .../c_runtime/_vsnprintf/test18/testinfo.dat | 2 +- .../c_runtime/_vsnprintf/test19/CMakeLists.txt | 2 +- .../palsuite/c_runtime/_vsnprintf/test19/test19.c | 103 - .../c_runtime/_vsnprintf/test19/test19.cpp | 103 + .../c_runtime/_vsnprintf/test19/testinfo.dat | 2 +- .../c_runtime/_vsnprintf/test2/CMakeLists.txt | 2 +- .../palsuite/c_runtime/_vsnprintf/test2/test2.c | 44 - .../palsuite/c_runtime/_vsnprintf/test2/test2.cpp | 44 + .../c_runtime/_vsnprintf/test2/testinfo.dat | 2 +- .../c_runtime/_vsnprintf/test3/CMakeLists.txt | 2 +- .../palsuite/c_runtime/_vsnprintf/test3/test3.c | 43 - .../palsuite/c_runtime/_vsnprintf/test3/test3.cpp | 43 + .../c_runtime/_vsnprintf/test3/testinfo.dat | 2 +- .../c_runtime/_vsnprintf/test4/CMakeLists.txt | 2 +- .../palsuite/c_runtime/_vsnprintf/test4/test4.c | 98 - .../palsuite/c_runtime/_vsnprintf/test4/test4.cpp | 98 + .../c_runtime/_vsnprintf/test4/testinfo.dat | 2 +- .../c_runtime/_vsnprintf/test5/CMakeLists.txt | 2 +- .../palsuite/c_runtime/_vsnprintf/test5/test5.c | 78 - .../palsuite/c_runtime/_vsnprintf/test5/test5.cpp | 78 + .../c_runtime/_vsnprintf/test5/testinfo.dat | 2 +- .../c_runtime/_vsnprintf/test6/CMakeLists.txt | 2 +- .../palsuite/c_runtime/_vsnprintf/test6/test6.c | 44 - .../palsuite/c_runtime/_vsnprintf/test6/test6.cpp | 44 + .../c_runtime/_vsnprintf/test6/testinfo.dat | 2 +- .../c_runtime/_vsnprintf/test7/CMakeLists.txt | 2 +- .../palsuite/c_runtime/_vsnprintf/test7/test7.c | 44 - .../palsuite/c_runtime/_vsnprintf/test7/test7.cpp | 44 + .../c_runtime/_vsnprintf/test7/testinfo.dat | 2 +- .../c_runtime/_vsnprintf/test8/CMakeLists.txt | 2 +- .../palsuite/c_runtime/_vsnprintf/test8/test8.c | 52 - .../palsuite/c_runtime/_vsnprintf/test8/test8.cpp | 52 + .../c_runtime/_vsnprintf/test8/testinfo.dat | 2 +- .../c_runtime/_vsnprintf/test9/CMakeLists.txt | 2 +- .../palsuite/c_runtime/_vsnprintf/test9/test9.c | 51 - .../palsuite/c_runtime/_vsnprintf/test9/test9.cpp | 51 + .../c_runtime/_vsnprintf/test9/testinfo.dat | 2 +- .../palsuite/c_runtime/_vsnwprintf/CMakeLists.txt | 22 - .../palsuite/c_runtime/_vsnwprintf/_vsnwprintf.h | 133 - .../c_runtime/_vsnwprintf/test1/CMakeLists.txt | 19 - .../palsuite/c_runtime/_vsnwprintf/test1/test1.c | 60 - .../c_runtime/_vsnwprintf/test1/testinfo.dat | 14 - .../c_runtime/_vsnwprintf/test10/CMakeLists.txt | 19 - .../palsuite/c_runtime/_vsnwprintf/test10/test10.c | 50 - .../c_runtime/_vsnwprintf/test10/testinfo.dat | 14 - .../c_runtime/_vsnwprintf/test11/CMakeLists.txt | 19 - .../palsuite/c_runtime/_vsnwprintf/test11/test11.c | 50 - .../c_runtime/_vsnwprintf/test11/testinfo.dat | 14 - .../c_runtime/_vsnwprintf/test12/CMakeLists.txt | 19 - .../palsuite/c_runtime/_vsnwprintf/test12/test12.c | 50 - .../c_runtime/_vsnwprintf/test12/testinfo.dat | 14 - .../c_runtime/_vsnwprintf/test13/CMakeLists.txt | 19 - .../palsuite/c_runtime/_vsnwprintf/test13/test13.c | 50 - .../c_runtime/_vsnwprintf/test13/testinfo.dat | 14 - .../c_runtime/_vsnwprintf/test14/CMakeLists.txt | 19 - .../palsuite/c_runtime/_vsnwprintf/test14/test14.c | 63 - .../c_runtime/_vsnwprintf/test14/testinfo.dat | 14 - .../c_runtime/_vsnwprintf/test15/CMakeLists.txt | 19 - .../palsuite/c_runtime/_vsnwprintf/test15/test15.c | 64 - .../c_runtime/_vsnwprintf/test15/testinfo.dat | 14 - .../c_runtime/_vsnwprintf/test16/CMakeLists.txt | 19 - .../palsuite/c_runtime/_vsnwprintf/test16/test16.c | 63 - .../c_runtime/_vsnwprintf/test16/testinfo.dat | 14 - .../c_runtime/_vsnwprintf/test17/CMakeLists.txt | 19 - .../palsuite/c_runtime/_vsnwprintf/test17/test17.c | 65 - .../c_runtime/_vsnwprintf/test17/testinfo.dat | 14 - .../c_runtime/_vsnwprintf/test18/CMakeLists.txt | 19 - .../palsuite/c_runtime/_vsnwprintf/test18/test18.c | 65 - .../c_runtime/_vsnwprintf/test18/testinfo.dat | 14 - .../c_runtime/_vsnwprintf/test19/CMakeLists.txt | 19 - .../palsuite/c_runtime/_vsnwprintf/test19/test19.c | 139 - .../c_runtime/_vsnwprintf/test19/testinfo.dat | 14 - .../c_runtime/_vsnwprintf/test2/CMakeLists.txt | 19 - .../palsuite/c_runtime/_vsnwprintf/test2/test2.c | 40 - .../c_runtime/_vsnwprintf/test2/testinfo.dat | 14 - .../c_runtime/_vsnwprintf/test3/CMakeLists.txt | 19 - .../palsuite/c_runtime/_vsnwprintf/test3/test3.c | 40 - .../c_runtime/_vsnwprintf/test3/testinfo.dat | 14 - .../c_runtime/_vsnwprintf/test4/CMakeLists.txt | 19 - .../palsuite/c_runtime/_vsnwprintf/test4/test4.c | 121 - .../c_runtime/_vsnwprintf/test4/testinfo.dat | 14 - .../c_runtime/_vsnwprintf/test5/CMakeLists.txt | 19 - .../palsuite/c_runtime/_vsnwprintf/test5/test5.c | 81 - .../c_runtime/_vsnwprintf/test5/testinfo.dat | 14 - .../c_runtime/_vsnwprintf/test6/CMakeLists.txt | 19 - .../palsuite/c_runtime/_vsnwprintf/test6/test6.c | 43 - .../c_runtime/_vsnwprintf/test6/testinfo.dat | 14 - .../c_runtime/_vsnwprintf/test7/CMakeLists.txt | 19 - .../palsuite/c_runtime/_vsnwprintf/test7/test7.c | 43 - .../c_runtime/_vsnwprintf/test7/testinfo.dat | 14 - .../c_runtime/_vsnwprintf/test8/CMakeLists.txt | 19 - .../palsuite/c_runtime/_vsnwprintf/test8/test8.c | 49 - .../c_runtime/_vsnwprintf/test8/testinfo.dat | 14 - .../c_runtime/_vsnwprintf/test9/CMakeLists.txt | 19 - .../palsuite/c_runtime/_vsnwprintf/test9/test9.c | 49 - .../c_runtime/_vsnwprintf/test9/testinfo.dat | 14 - .../c_runtime/_vsnwprintf_s/CMakeLists.txt | 21 + .../c_runtime/_vsnwprintf_s/_vsnwprintf_s.h | 133 + .../c_runtime/_vsnwprintf_s/test1/CMakeLists.txt | 19 + .../c_runtime/_vsnwprintf_s/test1/test1.cpp | 60 + .../c_runtime/_vsnwprintf_s/test1/testinfo.dat | 14 + .../c_runtime/_vsnwprintf_s/test10/CMakeLists.txt | 19 + .../c_runtime/_vsnwprintf_s/test10/test10.cpp | 50 + .../c_runtime/_vsnwprintf_s/test10/testinfo.dat | 14 + .../c_runtime/_vsnwprintf_s/test11/CMakeLists.txt | 19 + .../c_runtime/_vsnwprintf_s/test11/test11.cpp | 50 + .../c_runtime/_vsnwprintf_s/test11/testinfo.dat | 14 + .../c_runtime/_vsnwprintf_s/test12/CMakeLists.txt | 19 + .../c_runtime/_vsnwprintf_s/test12/test12.cpp | 50 + .../c_runtime/_vsnwprintf_s/test12/testinfo.dat | 14 + .../c_runtime/_vsnwprintf_s/test13/CMakeLists.txt | 19 + .../c_runtime/_vsnwprintf_s/test13/test13.cpp | 50 + .../c_runtime/_vsnwprintf_s/test13/testinfo.dat | 14 + .../c_runtime/_vsnwprintf_s/test14/CMakeLists.txt | 19 + .../c_runtime/_vsnwprintf_s/test14/test14.cpp | 63 + .../c_runtime/_vsnwprintf_s/test14/testinfo.dat | 14 + .../c_runtime/_vsnwprintf_s/test15/CMakeLists.txt | 19 + .../c_runtime/_vsnwprintf_s/test15/test15.cpp | 64 + .../c_runtime/_vsnwprintf_s/test15/testinfo.dat | 14 + .../c_runtime/_vsnwprintf_s/test16/CMakeLists.txt | 19 + .../c_runtime/_vsnwprintf_s/test16/test16.cpp | 63 + .../c_runtime/_vsnwprintf_s/test16/testinfo.dat | 14 + .../c_runtime/_vsnwprintf_s/test17/CMakeLists.txt | 19 + .../c_runtime/_vsnwprintf_s/test17/test17.cpp | 65 + .../c_runtime/_vsnwprintf_s/test17/testinfo.dat | 14 + .../c_runtime/_vsnwprintf_s/test18/CMakeLists.txt | 19 + .../c_runtime/_vsnwprintf_s/test18/test18.cpp | 65 + .../c_runtime/_vsnwprintf_s/test18/testinfo.dat | 14 + .../c_runtime/_vsnwprintf_s/test19/CMakeLists.txt | 19 + .../c_runtime/_vsnwprintf_s/test19/test19.cpp | 139 + .../c_runtime/_vsnwprintf_s/test19/testinfo.dat | 14 + .../c_runtime/_vsnwprintf_s/test2/CMakeLists.txt | 19 + .../c_runtime/_vsnwprintf_s/test2/test2.cpp | 40 + .../c_runtime/_vsnwprintf_s/test2/testinfo.dat | 14 + .../c_runtime/_vsnwprintf_s/test3/CMakeLists.txt | 19 + .../c_runtime/_vsnwprintf_s/test3/test3.cpp | 40 + .../c_runtime/_vsnwprintf_s/test3/testinfo.dat | 14 + .../c_runtime/_vsnwprintf_s/test4/CMakeLists.txt | 19 + .../c_runtime/_vsnwprintf_s/test4/test4.cpp | 121 + .../c_runtime/_vsnwprintf_s/test4/testinfo.dat | 14 + .../c_runtime/_vsnwprintf_s/test6/CMakeLists.txt | 19 + .../c_runtime/_vsnwprintf_s/test6/test6.cpp | 43 + .../c_runtime/_vsnwprintf_s/test6/testinfo.dat | 14 + .../c_runtime/_vsnwprintf_s/test7/CMakeLists.txt | 19 + .../c_runtime/_vsnwprintf_s/test7/test7.cpp | 43 + .../c_runtime/_vsnwprintf_s/test7/testinfo.dat | 14 + .../c_runtime/_vsnwprintf_s/test8/CMakeLists.txt | 19 + .../c_runtime/_vsnwprintf_s/test8/test8.cpp | 49 + .../c_runtime/_vsnwprintf_s/test8/testinfo.dat | 14 + .../c_runtime/_vsnwprintf_s/test9/CMakeLists.txt | 19 + .../c_runtime/_vsnwprintf_s/test9/test9.cpp | 49 + .../c_runtime/_vsnwprintf_s/test9/testinfo.dat | 14 + .../c_runtime/_wcsicmp/test1/CMakeLists.txt | 2 +- .../palsuite/c_runtime/_wcsicmp/test1/test1.c | 68 - .../palsuite/c_runtime/_wcsicmp/test1/test1.cpp | 68 + .../c_runtime/_wcslwr/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/_wcslwr/test1/test1.c | 50 - .../palsuite/c_runtime/_wcslwr/test1/test1.cpp | 50 + .../c_runtime/_wcsnicmp/test1/CMakeLists.txt | 2 +- .../palsuite/c_runtime/_wcsnicmp/test1/test1.c | 95 - .../palsuite/c_runtime/_wcsnicmp/test1/test1.cpp | 95 + .../c_runtime/_wfopen/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/_wfopen/test1/test1.c | 79 - .../palsuite/c_runtime/_wfopen/test1/test1.cpp | 79 + .../c_runtime/_wfopen/test2/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/_wfopen/test2/test2.c | 68 - .../palsuite/c_runtime/_wfopen/test2/test2.cpp | 68 + .../c_runtime/_wfopen/test3/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/_wfopen/test3/test3.c | 70 - .../palsuite/c_runtime/_wfopen/test3/test3.cpp | 70 + .../c_runtime/_wfopen/test4/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/_wfopen/test4/test4.c | 87 - .../palsuite/c_runtime/_wfopen/test4/test4.cpp | 87 + .../c_runtime/_wfopen/test5/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/_wfopen/test5/test5.c | 82 - .../palsuite/c_runtime/_wfopen/test5/test5.cpp | 82 + .../c_runtime/_wfopen/test6/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/_wfopen/test6/test6.c | 152 - .../palsuite/c_runtime/_wfopen/test6/test6.cpp | 152 + .../c_runtime/_wfopen/test7/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/_wfopen/test7/test7.c | 119 - .../palsuite/c_runtime/_wfopen/test7/test7.cpp | 119 + .../palsuite/c_runtime/_wmakepath/CMakeLists.txt | 4 - .../c_runtime/_wmakepath/test1/CMakeLists.txt | 19 - .../palsuite/c_runtime/_wmakepath/test1/test1.c | 76 - .../c_runtime/_wmakepath/test1/testinfo.dat | 13 - .../palsuite/c_runtime/_wsplitpath/CMakeLists.txt | 4 - .../c_runtime/_wsplitpath/test1/CMakeLists.txt | 19 - .../palsuite/c_runtime/_wsplitpath/test1/test1.c | 151 - .../c_runtime/_wsplitpath/test1/testinfo.dat | 15 - .../palsuite/c_runtime/_wtoi/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/_wtoi/test1/test1.c | 79 - .../tests/palsuite/c_runtime/_wtoi/test1/test1.cpp | 79 + .../palsuite/c_runtime/abs/test1/CMakeLists.txt | 2 +- src/pal/tests/palsuite/c_runtime/abs/test1/abs.c | 54 - src/pal/tests/palsuite/c_runtime/abs/test1/abs.cpp | 54 + .../palsuite/c_runtime/acos/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/acos/test1/test1.c | 130 - .../tests/palsuite/c_runtime/acos/test1/test1.cpp | 130 + .../tests/palsuite/c_runtime/acosf/CMakeLists.txt | 3 + .../palsuite/c_runtime/acosf/test1/CMakeLists.txt | 19 + .../tests/palsuite/c_runtime/acosf/test1/test1.c | 129 + .../palsuite/c_runtime/acosf/test1/testinfo.dat | 14 + .../palsuite/c_runtime/asin/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/asin/test1/test1.c | 146 - .../tests/palsuite/c_runtime/asin/test1/test1.cpp | 146 + .../tests/palsuite/c_runtime/asinf/CMakeLists.txt | 3 + .../palsuite/c_runtime/asinf/test1/CMakeLists.txt | 19 + .../tests/palsuite/c_runtime/asinf/test1/test1.c | 145 + .../palsuite/c_runtime/asinf/test1/testinfo.dat | 14 + .../palsuite/c_runtime/atan/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/atan/test1/test1.c | 128 - .../tests/palsuite/c_runtime/atan/test1/test1.cpp | 128 + .../palsuite/c_runtime/atan2/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/atan2/test1/test1.c | 148 - .../tests/palsuite/c_runtime/atan2/test1/test1.cpp | 148 + .../tests/palsuite/c_runtime/atan2f/CMakeLists.txt | 3 + .../palsuite/c_runtime/atan2f/test1/CMakeLists.txt | 19 + .../tests/palsuite/c_runtime/atan2f/test1/test1.c | 147 + .../palsuite/c_runtime/atan2f/test1/testinfo.dat | 14 + .../tests/palsuite/c_runtime/atanf/CMakeLists.txt | 3 + .../palsuite/c_runtime/atanf/test1/CMakeLists.txt | 19 + .../tests/palsuite/c_runtime/atanf/test1/test1.c | 127 + .../palsuite/c_runtime/atanf/test1/testinfo.dat | 13 + .../palsuite/c_runtime/atof/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/atof/test1/test1.c | 75 - .../tests/palsuite/c_runtime/atof/test1/test1.cpp | 75 + .../palsuite/c_runtime/atoi/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/atoi/test1/test1.c | 86 - .../tests/palsuite/c_runtime/atoi/test1/test1.cpp | 86 + .../palsuite/c_runtime/atol/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/atol/test1/test1.c | 88 - .../tests/palsuite/c_runtime/atol/test1/test1.cpp | 88 + .../c_runtime/bsearch/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/bsearch/test1/test1.c | 48 - .../palsuite/c_runtime/bsearch/test1/test1.cpp | 48 + .../c_runtime/bsearch/test2/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/bsearch/test2/test2.c | 57 - .../palsuite/c_runtime/bsearch/test2/test2.cpp | 57 + .../palsuite/c_runtime/ceil/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/ceil/test1/test1.c | 132 - .../tests/palsuite/c_runtime/ceil/test1/test1.cpp | 132 + .../tests/palsuite/c_runtime/ceilf/CMakeLists.txt | 3 + .../palsuite/c_runtime/ceilf/test1/CMakeLists.txt | 19 + .../tests/palsuite/c_runtime/ceilf/test1/test1.c | 131 + .../palsuite/c_runtime/ceilf/test1/testinfo.dat | 14 + .../palsuite/c_runtime/cos/test1/CMakeLists.txt | 2 +- src/pal/tests/palsuite/c_runtime/cos/test1/test1.c | 131 - .../tests/palsuite/c_runtime/cos/test1/test1.cpp | 131 + .../tests/palsuite/c_runtime/cosf/CMakeLists.txt | 3 + .../palsuite/c_runtime/cosf/test1/CMakeLists.txt | 19 + .../tests/palsuite/c_runtime/cosf/test1/test1.c | 130 + .../palsuite/c_runtime/cosf/test1/testinfo.dat | 13 + .../palsuite/c_runtime/cosh/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/cosh/test1/test1.c | 130 - .../tests/palsuite/c_runtime/cosh/test1/test1.cpp | 130 + .../tests/palsuite/c_runtime/coshf/CMakeLists.txt | 3 + .../palsuite/c_runtime/coshf/test1/CMakeLists.txt | 19 + .../tests/palsuite/c_runtime/coshf/test1/test1.c | 129 + .../palsuite/c_runtime/coshf/test1/testinfo.dat | 13 + .../palsuite/c_runtime/ctime/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/ctime/test1/test1.c | 154 - .../tests/palsuite/c_runtime/ctime/test1/test1.cpp | 154 + .../palsuite/c_runtime/errno/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/errno/test1/test1.c | 43 - .../tests/palsuite/c_runtime/errno/test1/test1.cpp | 43 + .../palsuite/c_runtime/errno/test2/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/errno/test2/test2.c | 76 - .../tests/palsuite/c_runtime/errno/test2/test2.cpp | 76 + .../palsuite/c_runtime/exit/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/exit/test1/test1.c | 37 - .../tests/palsuite/c_runtime/exit/test1/test1.cpp | 37 + .../palsuite/c_runtime/exit/test2/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/exit/test2/test2.c | 38 - .../tests/palsuite/c_runtime/exit/test2/test2.cpp | 38 + .../palsuite/c_runtime/exp/test1/CMakeLists.txt | 2 +- src/pal/tests/palsuite/c_runtime/exp/test1/test1.c | 138 - .../tests/palsuite/c_runtime/exp/test1/test1.cpp | 138 + .../tests/palsuite/c_runtime/expf/CMakeLists.txt | 3 + .../palsuite/c_runtime/expf/test1/CMakeLists.txt | 19 + .../tests/palsuite/c_runtime/expf/test1/test1.c | 137 + .../palsuite/c_runtime/expf/test1/testinfo.dat | 12 + .../palsuite/c_runtime/fabs/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/fabs/test1/test1.c | 130 - .../tests/palsuite/c_runtime/fabs/test1/test1.cpp | 130 + .../palsuite/c_runtime/fabsf/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/fabsf/test1/test1.c | 130 - .../tests/palsuite/c_runtime/fabsf/test1/test1.cpp | 130 + .../palsuite/c_runtime/fclose/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/fclose/test1/test1.c | 79 - .../palsuite/c_runtime/fclose/test1/test1.cpp | 79 + .../palsuite/c_runtime/fclose/test2/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/fclose/test2/test2.c | 77 - .../palsuite/c_runtime/fclose/test2/test2.cpp | 77 + .../palsuite/c_runtime/feof/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/feof/test1/test1.c | 88 - .../tests/palsuite/c_runtime/feof/test1/test1.cpp | 88 + .../palsuite/c_runtime/ferror/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/ferror/test1/test1.c | 74 - .../palsuite/c_runtime/ferror/test1/test1.cpp | 74 + .../palsuite/c_runtime/ferror/test2/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/ferror/test2/test2.c | 69 - .../palsuite/c_runtime/ferror/test2/test2.cpp | 69 + .../palsuite/c_runtime/fflush/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/fflush/test1/test1.c | 80 - .../palsuite/c_runtime/fflush/test1/test1.cpp | 80 + .../palsuite/c_runtime/fgets/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/fgets/test1/test1.c | 102 - .../tests/palsuite/c_runtime/fgets/test1/test1.cpp | 102 + .../palsuite/c_runtime/fgets/test2/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/fgets/test2/test2.c | 97 - .../tests/palsuite/c_runtime/fgets/test2/test2.cpp | 97 + .../palsuite/c_runtime/fgets/test3/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/fgets/test3/test3.c | 73 - .../tests/palsuite/c_runtime/fgets/test3/test3.cpp | 73 + .../palsuite/c_runtime/floor/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/floor/test1/test1.c | 132 - .../tests/palsuite/c_runtime/floor/test1/test1.cpp | 132 + .../tests/palsuite/c_runtime/floorf/CMakeLists.txt | 3 + .../palsuite/c_runtime/floorf/test1/CMakeLists.txt | 19 + .../tests/palsuite/c_runtime/floorf/test1/test1.c | 131 + .../palsuite/c_runtime/floorf/test1/testinfo.dat | 13 + .../palsuite/c_runtime/fmod/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/fmod/test1/test1.c | 157 - .../tests/palsuite/c_runtime/fmod/test1/test1.cpp | 157 + .../palsuite/c_runtime/fmodf/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/fmodf/test1/test1.c | 156 - .../tests/palsuite/c_runtime/fmodf/test1/test1.cpp | 156 + .../palsuite/c_runtime/fopen/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/fopen/test1/test1.c | 82 - .../tests/palsuite/c_runtime/fopen/test1/test1.cpp | 82 + .../palsuite/c_runtime/fopen/test2/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/fopen/test2/test2.c | 65 - .../tests/palsuite/c_runtime/fopen/test2/test2.cpp | 65 + .../palsuite/c_runtime/fopen/test3/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/fopen/test3/test3.c | 66 - .../tests/palsuite/c_runtime/fopen/test3/test3.cpp | 66 + .../palsuite/c_runtime/fopen/test4/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/fopen/test4/test4.c | 82 - .../tests/palsuite/c_runtime/fopen/test4/test4.cpp | 82 + .../palsuite/c_runtime/fopen/test5/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/fopen/test5/test5.c | 78 - .../tests/palsuite/c_runtime/fopen/test5/test5.cpp | 78 + .../palsuite/c_runtime/fopen/test6/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/fopen/test6/test6.c | 131 - .../tests/palsuite/c_runtime/fopen/test6/test6.cpp | 131 + .../palsuite/c_runtime/fopen/test7/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/fopen/test7/test7.c | 117 - .../tests/palsuite/c_runtime/fopen/test7/test7.cpp | 117 + src/pal/tests/palsuite/c_runtime/fprintf/fprintf.h | 14 +- .../c_runtime/fprintf/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/fprintf/test1/test1.c | 80 - .../palsuite/c_runtime/fprintf/test1/test1.cpp | 80 + .../c_runtime/fprintf/test10/CMakeLists.txt | 2 +- .../palsuite/c_runtime/fprintf/test10/test10.c | 49 - .../palsuite/c_runtime/fprintf/test10/test10.cpp | 49 + .../c_runtime/fprintf/test11/CMakeLists.txt | 2 +- .../palsuite/c_runtime/fprintf/test11/test11.c | 49 - .../palsuite/c_runtime/fprintf/test11/test11.cpp | 49 + .../c_runtime/fprintf/test12/CMakeLists.txt | 2 +- .../palsuite/c_runtime/fprintf/test12/test12.c | 50 - .../palsuite/c_runtime/fprintf/test12/test12.cpp | 50 + .../c_runtime/fprintf/test13/CMakeLists.txt | 2 +- .../palsuite/c_runtime/fprintf/test13/test13.c | 50 - .../palsuite/c_runtime/fprintf/test13/test13.cpp | 50 + .../c_runtime/fprintf/test14/CMakeLists.txt | 2 +- .../palsuite/c_runtime/fprintf/test14/test14.c | 49 - .../palsuite/c_runtime/fprintf/test14/test14.cpp | 49 + .../c_runtime/fprintf/test15/CMakeLists.txt | 2 +- .../palsuite/c_runtime/fprintf/test15/test15.c | 49 - .../palsuite/c_runtime/fprintf/test15/test15.cpp | 49 + .../c_runtime/fprintf/test16/CMakeLists.txt | 2 +- .../palsuite/c_runtime/fprintf/test16/test16.c | 48 - .../palsuite/c_runtime/fprintf/test16/test16.cpp | 48 + .../c_runtime/fprintf/test17/CMakeLists.txt | 2 +- .../palsuite/c_runtime/fprintf/test17/test17.c | 49 - .../palsuite/c_runtime/fprintf/test17/test17.cpp | 49 + .../c_runtime/fprintf/test18/CMakeLists.txt | 2 +- .../palsuite/c_runtime/fprintf/test18/test18.c | 49 - .../palsuite/c_runtime/fprintf/test18/test18.cpp | 49 + .../c_runtime/fprintf/test19/CMakeLists.txt | 2 +- .../palsuite/c_runtime/fprintf/test19/test19.c | 153 - .../palsuite/c_runtime/fprintf/test19/test19.cpp | 153 + .../c_runtime/fprintf/test2/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/fprintf/test2/test2.c | 43 - .../palsuite/c_runtime/fprintf/test2/test2.cpp | 43 + .../c_runtime/fprintf/test3/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/fprintf/test3/test3.c | 43 - .../palsuite/c_runtime/fprintf/test3/test3.cpp | 43 + .../c_runtime/fprintf/test4/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/fprintf/test4/test4.c | 110 - .../palsuite/c_runtime/fprintf/test4/test4.cpp | 110 + .../c_runtime/fprintf/test5/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/fprintf/test5/test5.c | 131 - .../palsuite/c_runtime/fprintf/test5/test5.cpp | 131 + .../c_runtime/fprintf/test6/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/fprintf/test6/test6.c | 46 - .../palsuite/c_runtime/fprintf/test6/test6.cpp | 46 + .../c_runtime/fprintf/test7/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/fprintf/test7/test7.c | 44 - .../palsuite/c_runtime/fprintf/test7/test7.cpp | 44 + .../c_runtime/fprintf/test8/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/fprintf/test8/test8.c | 49 - .../palsuite/c_runtime/fprintf/test8/test8.cpp | 49 + .../c_runtime/fprintf/test9/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/fprintf/test9/test9.c | 49 - .../palsuite/c_runtime/fprintf/test9/test9.cpp | 49 + .../palsuite/c_runtime/fputs/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/fputs/test1/test1.c | 100 - .../tests/palsuite/c_runtime/fputs/test1/test1.cpp | 100 + .../palsuite/c_runtime/fputs/test2/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/fputs/test2/test2.c | 88 - .../tests/palsuite/c_runtime/fputs/test2/test2.cpp | 88 + .../palsuite/c_runtime/fread/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/fread/test1/test1.c | 135 - .../tests/palsuite/c_runtime/fread/test1/test1.cpp | 135 + .../palsuite/c_runtime/fread/test2/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/fread/test2/test2.c | 143 - .../tests/palsuite/c_runtime/fread/test2/test2.cpp | 143 + .../palsuite/c_runtime/fread/test3/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/fread/test3/test3.c | 131 - .../tests/palsuite/c_runtime/fread/test3/test3.cpp | 131 + .../palsuite/c_runtime/free/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/free/test1/test1.c | 62 - .../tests/palsuite/c_runtime/free/test1/test1.cpp | 62 + .../palsuite/c_runtime/fseek/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/fseek/test1/test1.c | 193 - .../tests/palsuite/c_runtime/fseek/test1/test1.cpp | 193 + .../palsuite/c_runtime/ftell/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/ftell/test1/ftell.c | 145 - .../tests/palsuite/c_runtime/ftell/test1/ftell.cpp | 145 + .../tests/palsuite/c_runtime/fwprintf/fwprintf.h | 34 +- .../c_runtime/fwprintf/test1/CMakeLists.txt | 2 +- .../palsuite/c_runtime/fwprintf/test1/test1.c | 71 - .../palsuite/c_runtime/fwprintf/test1/test1.cpp | 71 + .../c_runtime/fwprintf/test10/CMakeLists.txt | 2 +- .../palsuite/c_runtime/fwprintf/test10/test10.c | 51 - .../palsuite/c_runtime/fwprintf/test10/test10.cpp | 51 + .../c_runtime/fwprintf/test11/CMakeLists.txt | 2 +- .../palsuite/c_runtime/fwprintf/test11/test11.c | 51 - .../palsuite/c_runtime/fwprintf/test11/test11.cpp | 51 + .../c_runtime/fwprintf/test12/CMakeLists.txt | 2 +- .../palsuite/c_runtime/fwprintf/test12/test12.c | 52 - .../palsuite/c_runtime/fwprintf/test12/test12.cpp | 52 + .../c_runtime/fwprintf/test13/CMakeLists.txt | 2 +- .../palsuite/c_runtime/fwprintf/test13/test13.c | 52 - .../palsuite/c_runtime/fwprintf/test13/test13.cpp | 52 + .../c_runtime/fwprintf/test14/CMakeLists.txt | 2 +- .../palsuite/c_runtime/fwprintf/test14/test14.c | 66 - .../palsuite/c_runtime/fwprintf/test14/test14.cpp | 66 + .../c_runtime/fwprintf/test15/CMakeLists.txt | 2 +- .../palsuite/c_runtime/fwprintf/test15/test15.c | 66 - .../palsuite/c_runtime/fwprintf/test15/test15.cpp | 66 + .../c_runtime/fwprintf/test16/CMakeLists.txt | 2 +- .../palsuite/c_runtime/fwprintf/test16/test16.c | 65 - .../palsuite/c_runtime/fwprintf/test16/test16.cpp | 65 + .../c_runtime/fwprintf/test17/CMakeLists.txt | 2 +- .../palsuite/c_runtime/fwprintf/test17/test17.c | 51 - .../palsuite/c_runtime/fwprintf/test17/test17.cpp | 51 + .../c_runtime/fwprintf/test18/CMakeLists.txt | 2 +- .../palsuite/c_runtime/fwprintf/test18/test18.c | 51 - .../palsuite/c_runtime/fwprintf/test18/test18.cpp | 51 + .../c_runtime/fwprintf/test19/CMakeLists.txt | 2 +- .../palsuite/c_runtime/fwprintf/test19/test19.c | 81 - .../palsuite/c_runtime/fwprintf/test19/test19.cpp | 81 + .../c_runtime/fwprintf/test2/CMakeLists.txt | 2 +- .../palsuite/c_runtime/fwprintf/test2/test2.c | 45 - .../palsuite/c_runtime/fwprintf/test2/test2.cpp | 45 + .../c_runtime/fwprintf/test3/CMakeLists.txt | 2 +- .../palsuite/c_runtime/fwprintf/test3/test3.c | 45 - .../palsuite/c_runtime/fwprintf/test3/test3.cpp | 45 + .../c_runtime/fwprintf/test4/CMakeLists.txt | 2 +- .../palsuite/c_runtime/fwprintf/test4/test4.c | 85 - .../palsuite/c_runtime/fwprintf/test4/test4.cpp | 85 + .../c_runtime/fwprintf/test5/CMakeLists.txt | 2 +- .../palsuite/c_runtime/fwprintf/test5/test5.c | 63 - .../palsuite/c_runtime/fwprintf/test5/test5.cpp | 63 + .../c_runtime/fwprintf/test6/CMakeLists.txt | 2 +- .../palsuite/c_runtime/fwprintf/test6/test6.c | 48 - .../palsuite/c_runtime/fwprintf/test6/test6.cpp | 48 + .../c_runtime/fwprintf/test7/CMakeLists.txt | 2 +- .../palsuite/c_runtime/fwprintf/test7/test7.c | 47 - .../palsuite/c_runtime/fwprintf/test7/test7.cpp | 47 + .../c_runtime/fwprintf/test8/CMakeLists.txt | 2 +- .../palsuite/c_runtime/fwprintf/test8/test8.c | 51 - .../palsuite/c_runtime/fwprintf/test8/test8.cpp | 51 + .../c_runtime/fwprintf/test9/CMakeLists.txt | 2 +- .../palsuite/c_runtime/fwprintf/test9/test9.c | 51 - .../palsuite/c_runtime/fwprintf/test9/test9.cpp | 51 + .../palsuite/c_runtime/fwrite/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/fwrite/test1/test1.c | 104 - .../palsuite/c_runtime/fwrite/test1/test1.cpp | 104 + .../palsuite/c_runtime/getc/test1/CMakeLists.txt | 2 +- src/pal/tests/palsuite/c_runtime/getc/test1/getc.c | 152 - .../tests/palsuite/c_runtime/getc/test1/getc.cpp | 152 + .../palsuite/c_runtime/getenv/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/getenv/test1/test1.c | 78 - .../palsuite/c_runtime/getenv/test1/test1.cpp | 78 + .../palsuite/c_runtime/getenv/test2/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/getenv/test2/test2.c | 101 - .../palsuite/c_runtime/getenv/test2/test2.cpp | 101 + .../palsuite/c_runtime/getenv/test3/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/getenv/test3/test3.c | 75 - .../palsuite/c_runtime/getenv/test3/test3.cpp | 75 + .../c_runtime/isalnum/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/isalnum/test1/test1.c | 88 - .../palsuite/c_runtime/isalnum/test1/test1.cpp | 88 + .../c_runtime/isalpha/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/isalpha/test1/test1.c | 86 - .../palsuite/c_runtime/isalpha/test1/test1.cpp | 86 + .../c_runtime/isdigit/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/isdigit/test1/test1.c | 47 - .../palsuite/c_runtime/isdigit/test1/test1.cpp | 47 + .../c_runtime/islower/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/islower/test1/test1.c | 85 - .../palsuite/c_runtime/islower/test1/test1.cpp | 85 + .../c_runtime/isprint/test1/CMakeLists.txt | 2 +- .../palsuite/c_runtime/isprint/test1/isprint.c | 42 - .../palsuite/c_runtime/isprint/test1/isprint.cpp | 42 + .../c_runtime/isprint/test2/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/isprint/test2/test2.c | 59 - .../palsuite/c_runtime/isprint/test2/test2.cpp | 59 + .../c_runtime/isspace/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/isspace/test1/test1.c | 82 - .../palsuite/c_runtime/isspace/test1/test1.cpp | 82 + .../c_runtime/isupper/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/isupper/test1/test1.c | 88 - .../palsuite/c_runtime/isupper/test1/test1.cpp | 88 + .../c_runtime/iswdigit/test1/CMakeLists.txt | 2 +- .../palsuite/c_runtime/iswdigit/test1/test1.c | 69 - .../palsuite/c_runtime/iswdigit/test1/test1.cpp | 69 + .../c_runtime/iswprint/test1/CMakeLists.txt | 2 +- .../palsuite/c_runtime/iswprint/test1/test1.c | 59 - .../palsuite/c_runtime/iswprint/test1/test1.cpp | 59 + .../c_runtime/iswspace/test1/CMakeLists.txt | 2 +- .../palsuite/c_runtime/iswspace/test1/test1.c | 78 - .../palsuite/c_runtime/iswspace/test1/test1.cpp | 78 + .../c_runtime/iswupper/test1/CMakeLists.txt | 2 +- .../palsuite/c_runtime/iswupper/test1/test1.c | 91 - .../palsuite/c_runtime/iswupper/test1/test1.cpp | 91 + .../c_runtime/iswxdigit/test1/CMakeLists.txt | 2 +- .../palsuite/c_runtime/iswxdigit/test1/test1.c | 61 - .../palsuite/c_runtime/iswxdigit/test1/test1.cpp | 61 + .../c_runtime/isxdigit/test1/CMakeLists.txt | 2 +- .../palsuite/c_runtime/isxdigit/test1/test1.c | 58 - .../palsuite/c_runtime/isxdigit/test1/test1.cpp | 58 + .../palsuite/c_runtime/labs/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/labs/test1/test1.c | 65 - .../tests/palsuite/c_runtime/labs/test1/test1.cpp | 65 + .../palsuite/c_runtime/llabs/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/llabs/test1/test1.c | 65 - .../tests/palsuite/c_runtime/llabs/test1/test1.cpp | 65 + .../c_runtime/localtime/test1/CMakeLists.txt | 2 +- .../palsuite/c_runtime/localtime/test1/test1.c | 69 - .../palsuite/c_runtime/localtime/test1/test1.cpp | 69 + .../palsuite/c_runtime/log/test1/CMakeLists.txt | 2 +- src/pal/tests/palsuite/c_runtime/log/test1/test1.c | 140 - .../tests/palsuite/c_runtime/log/test1/test1.cpp | 140 + .../palsuite/c_runtime/log10/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/log10/test1/test1.c | 146 - .../tests/palsuite/c_runtime/log10/test1/test1.cpp | 146 + .../tests/palsuite/c_runtime/log10f/CMakeLists.txt | 3 + .../palsuite/c_runtime/log10f/test1/CMakeLists.txt | 19 + .../tests/palsuite/c_runtime/log10f/test1/test1.c | 144 + .../palsuite/c_runtime/log10f/test1/testinfo.dat | 17 + .../tests/palsuite/c_runtime/logf/CMakeLists.txt | 3 + .../palsuite/c_runtime/logf/test1/CMakeLists.txt | 19 + .../tests/palsuite/c_runtime/logf/test1/test1.c | 139 + .../palsuite/c_runtime/logf/test1/testinfo.dat | 14 + .../palsuite/c_runtime/malloc/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/malloc/test1/test1.c | 52 - .../palsuite/c_runtime/malloc/test1/test1.cpp | 52 + .../palsuite/c_runtime/malloc/test2/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/malloc/test2/test2.c | 41 - .../palsuite/c_runtime/malloc/test2/test2.cpp | 41 + .../palsuite/c_runtime/memchr/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/memchr/test1/test1.c | 122 - .../palsuite/c_runtime/memchr/test1/test1.cpp | 122 + .../palsuite/c_runtime/memcmp/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/memcmp/test1/test1.c | 57 - .../palsuite/c_runtime/memcmp/test1/test1.cpp | 57 + .../palsuite/c_runtime/memcpy/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/memcpy/test1/test1.c | 87 - .../palsuite/c_runtime/memcpy/test1/test1.cpp | 87 + .../c_runtime/memmove/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/memmove/test1/test1.c | 116 - .../palsuite/c_runtime/memmove/test1/test1.cpp | 116 + .../palsuite/c_runtime/memset/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/memset/test1/test1.c | 60 - .../palsuite/c_runtime/memset/test1/test1.cpp | 60 + .../palsuite/c_runtime/modf/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/modf/test1/test1.c | 136 - .../tests/palsuite/c_runtime/modf/test1/test1.cpp | 136 + .../palsuite/c_runtime/modff/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/modff/test1/test1.c | 135 - .../tests/palsuite/c_runtime/modff/test1/test1.cpp | 135 + .../palsuite/c_runtime/pow/test1/CMakeLists.txt | 2 +- src/pal/tests/palsuite/c_runtime/pow/test1/test1.c | 230 - .../tests/palsuite/c_runtime/pow/test1/test1.cpp | 230 + .../tests/palsuite/c_runtime/powf/CMakeLists.txt | 3 + .../palsuite/c_runtime/powf/test1/CMakeLists.txt | 19 + .../tests/palsuite/c_runtime/powf/test1/test1.c | 229 + .../palsuite/c_runtime/powf/test1/testinfo.dat | 17 + src/pal/tests/palsuite/c_runtime/printf/printf.h | 34 +- .../palsuite/c_runtime/printf/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/printf/test1/test1.c | 43 - .../palsuite/c_runtime/printf/test1/test1.cpp | 43 + .../c_runtime/printf/test10/CMakeLists.txt | 2 +- .../palsuite/c_runtime/printf/test10/test10.c | 52 - .../palsuite/c_runtime/printf/test10/test10.cpp | 52 + .../c_runtime/printf/test11/CMakeLists.txt | 2 +- .../palsuite/c_runtime/printf/test11/test11.c | 51 - .../palsuite/c_runtime/printf/test11/test11.cpp | 51 + .../c_runtime/printf/test12/CMakeLists.txt | 2 +- .../palsuite/c_runtime/printf/test12/test12.c | 53 - .../palsuite/c_runtime/printf/test12/test12.cpp | 53 + .../c_runtime/printf/test13/CMakeLists.txt | 2 +- .../palsuite/c_runtime/printf/test13/test13.c | 54 - .../palsuite/c_runtime/printf/test13/test13.cpp | 54 + .../c_runtime/printf/test14/CMakeLists.txt | 2 +- .../palsuite/c_runtime/printf/test14/test14.c | 54 - .../palsuite/c_runtime/printf/test14/test14.cpp | 54 + .../c_runtime/printf/test15/CMakeLists.txt | 2 +- .../palsuite/c_runtime/printf/test15/test15.c | 54 - .../palsuite/c_runtime/printf/test15/test15.cpp | 54 + .../c_runtime/printf/test16/CMakeLists.txt | 2 +- .../palsuite/c_runtime/printf/test16/test16.c | 50 - .../palsuite/c_runtime/printf/test16/test16.cpp | 50 + .../c_runtime/printf/test17/CMakeLists.txt | 2 +- .../palsuite/c_runtime/printf/test17/test17.c | 52 - .../palsuite/c_runtime/printf/test17/test17.cpp | 52 + .../c_runtime/printf/test18/CMakeLists.txt | 2 +- .../palsuite/c_runtime/printf/test18/test18.c | 51 - .../palsuite/c_runtime/printf/test18/test18.cpp | 51 + .../c_runtime/printf/test19/CMakeLists.txt | 2 +- .../palsuite/c_runtime/printf/test19/test19.c | 76 - .../palsuite/c_runtime/printf/test19/test19.cpp | 76 + .../palsuite/c_runtime/printf/test2/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/printf/test2/test2.c | 45 - .../palsuite/c_runtime/printf/test2/test2.cpp | 45 + .../palsuite/c_runtime/printf/test3/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/printf/test3/test3.c | 45 - .../palsuite/c_runtime/printf/test3/test3.cpp | 45 + .../palsuite/c_runtime/printf/test4/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/printf/test4/test4.c | 66 - .../palsuite/c_runtime/printf/test4/test4.cpp | 66 + .../palsuite/c_runtime/printf/test5/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/printf/test5/test5.c | 60 - .../palsuite/c_runtime/printf/test5/test5.cpp | 60 + .../palsuite/c_runtime/printf/test6/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/printf/test6/test6.c | 48 - .../palsuite/c_runtime/printf/test6/test6.cpp | 48 + .../palsuite/c_runtime/printf/test7/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/printf/test7/test7.c | 47 - .../palsuite/c_runtime/printf/test7/test7.cpp | 47 + .../palsuite/c_runtime/printf/test8/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/printf/test8/test8.c | 53 - .../palsuite/c_runtime/printf/test8/test8.cpp | 53 + .../palsuite/c_runtime/printf/test9/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/printf/test9/test9.c | 53 - .../palsuite/c_runtime/printf/test9/test9.cpp | 53 + .../palsuite/c_runtime/qsort/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/qsort/test1/test1.c | 48 - .../tests/palsuite/c_runtime/qsort/test1/test1.cpp | 48 + .../palsuite/c_runtime/qsort/test2/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/qsort/test2/test2.c | 49 - .../tests/palsuite/c_runtime/qsort/test2/test2.cpp | 49 + .../c_runtime/rand_srand/test1/CMakeLists.txt | 2 +- .../palsuite/c_runtime/rand_srand/test1/test1.c | 100 - .../palsuite/c_runtime/rand_srand/test1/test1.cpp | 100 + .../c_runtime/realloc/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/realloc/test1/test1.c | 66 - .../palsuite/c_runtime/realloc/test1/test1.cpp | 66 + .../palsuite/c_runtime/sin/test1/CMakeLists.txt | 2 +- src/pal/tests/palsuite/c_runtime/sin/test1/test1.c | 131 - .../tests/palsuite/c_runtime/sin/test1/test1.cpp | 131 + .../tests/palsuite/c_runtime/sinf/CMakeLists.txt | 3 + .../palsuite/c_runtime/sinf/test1/CMakeLists.txt | 19 + .../tests/palsuite/c_runtime/sinf/test1/test1.c | 130 + .../palsuite/c_runtime/sinf/test1/testinfo.dat | 13 + .../palsuite/c_runtime/sinh/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/sinh/test1/test1.c | 130 - .../tests/palsuite/c_runtime/sinh/test1/test1.cpp | 130 + .../tests/palsuite/c_runtime/sinhf/CMakeLists.txt | 3 + .../palsuite/c_runtime/sinhf/test1/CMakeLists.txt | 19 + .../tests/palsuite/c_runtime/sinhf/test1/test1.c | 129 + .../palsuite/c_runtime/sinhf/test1/testinfo.dat | 13 + .../palsuite/c_runtime/sprintf/CMakeLists.txt | 22 - src/pal/tests/palsuite/c_runtime/sprintf/sprintf.h | 195 - .../c_runtime/sprintf/test1/CMakeLists.txt | 19 - .../tests/palsuite/c_runtime/sprintf/test1/test1.c | 45 - .../palsuite/c_runtime/sprintf/test1/testinfo.dat | 12 - .../c_runtime/sprintf/test10/CMakeLists.txt | 19 - .../palsuite/c_runtime/sprintf/test10/test10.c | 55 - .../palsuite/c_runtime/sprintf/test10/testinfo.dat | 12 - .../c_runtime/sprintf/test11/CMakeLists.txt | 19 - .../palsuite/c_runtime/sprintf/test11/test11.c | 55 - .../palsuite/c_runtime/sprintf/test11/testinfo.dat | 12 - .../c_runtime/sprintf/test12/CMakeLists.txt | 19 - .../palsuite/c_runtime/sprintf/test12/test12.c | 56 - .../palsuite/c_runtime/sprintf/test12/testinfo.dat | 12 - .../c_runtime/sprintf/test13/CMakeLists.txt | 19 - .../palsuite/c_runtime/sprintf/test13/test13.c | 56 - .../palsuite/c_runtime/sprintf/test13/testinfo.dat | 12 - .../c_runtime/sprintf/test14/CMakeLists.txt | 19 - .../palsuite/c_runtime/sprintf/test14/test14.c | 53 - .../palsuite/c_runtime/sprintf/test14/testinfo.dat | 12 - .../c_runtime/sprintf/test15/CMakeLists.txt | 19 - .../palsuite/c_runtime/sprintf/test15/test15.c | 53 - .../palsuite/c_runtime/sprintf/test15/testinfo.dat | 12 - .../c_runtime/sprintf/test16/CMakeLists.txt | 19 - .../palsuite/c_runtime/sprintf/test16/test16.c | 52 - .../palsuite/c_runtime/sprintf/test16/testinfo.dat | 12 - .../c_runtime/sprintf/test17/CMakeLists.txt | 19 - .../palsuite/c_runtime/sprintf/test17/test17.c | 54 - .../palsuite/c_runtime/sprintf/test17/testinfo.dat | 12 - .../c_runtime/sprintf/test18/CMakeLists.txt | 19 - .../palsuite/c_runtime/sprintf/test18/test18.c | 53 - .../palsuite/c_runtime/sprintf/test18/testinfo.dat | 12 - .../c_runtime/sprintf/test19/CMakeLists.txt | 19 - .../palsuite/c_runtime/sprintf/test19/test19.c | 78 - .../palsuite/c_runtime/sprintf/test19/testinfo.dat | 12 - .../c_runtime/sprintf/test2/CMakeLists.txt | 19 - .../tests/palsuite/c_runtime/sprintf/test2/test2.c | 47 - .../palsuite/c_runtime/sprintf/test2/testinfo.dat | 12 - .../c_runtime/sprintf/test3/CMakeLists.txt | 19 - .../tests/palsuite/c_runtime/sprintf/test3/test3.c | 47 - .../palsuite/c_runtime/sprintf/test3/testinfo.dat | 12 - .../c_runtime/sprintf/test4/CMakeLists.txt | 19 - .../tests/palsuite/c_runtime/sprintf/test4/test4.c | 69 - .../palsuite/c_runtime/sprintf/test4/testinfo.dat | 12 - .../c_runtime/sprintf/test5/CMakeLists.txt | 19 - .../tests/palsuite/c_runtime/sprintf/test5/test5.c | 62 - .../palsuite/c_runtime/sprintf/test5/testinfo.dat | 12 - .../c_runtime/sprintf/test6/CMakeLists.txt | 19 - .../tests/palsuite/c_runtime/sprintf/test6/test6.c | 50 - .../palsuite/c_runtime/sprintf/test6/testinfo.dat | 12 - .../c_runtime/sprintf/test7/CMakeLists.txt | 19 - .../tests/palsuite/c_runtime/sprintf/test7/test7.c | 49 - .../palsuite/c_runtime/sprintf/test7/testinfo.dat | 12 - .../c_runtime/sprintf/test8/CMakeLists.txt | 19 - .../tests/palsuite/c_runtime/sprintf/test8/test8.c | 55 - .../palsuite/c_runtime/sprintf/test8/testinfo.dat | 12 - .../c_runtime/sprintf/test9/CMakeLists.txt | 19 - .../tests/palsuite/c_runtime/sprintf/test9/test9.c | 55 - .../palsuite/c_runtime/sprintf/test9/testinfo.dat | 12 - .../palsuite/c_runtime/sprintf_s/CMakeLists.txt | 21 + .../tests/palsuite/c_runtime/sprintf_s/sprintf_s.h | 195 + .../c_runtime/sprintf_s/test1/CMakeLists.txt | 19 + .../palsuite/c_runtime/sprintf_s/test1/test1.cpp | 45 + .../c_runtime/sprintf_s/test1/testinfo.dat | 12 + .../c_runtime/sprintf_s/test10/CMakeLists.txt | 19 + .../palsuite/c_runtime/sprintf_s/test10/test10.cpp | 55 + .../c_runtime/sprintf_s/test10/testinfo.dat | 12 + .../c_runtime/sprintf_s/test11/CMakeLists.txt | 19 + .../palsuite/c_runtime/sprintf_s/test11/test11.cpp | 55 + .../c_runtime/sprintf_s/test11/testinfo.dat | 12 + .../c_runtime/sprintf_s/test12/CMakeLists.txt | 19 + .../palsuite/c_runtime/sprintf_s/test12/test12.cpp | 56 + .../c_runtime/sprintf_s/test12/testinfo.dat | 12 + .../c_runtime/sprintf_s/test13/CMakeLists.txt | 19 + .../palsuite/c_runtime/sprintf_s/test13/test13.cpp | 56 + .../c_runtime/sprintf_s/test13/testinfo.dat | 12 + .../c_runtime/sprintf_s/test14/CMakeLists.txt | 19 + .../palsuite/c_runtime/sprintf_s/test14/test14.cpp | 53 + .../c_runtime/sprintf_s/test14/testinfo.dat | 12 + .../c_runtime/sprintf_s/test15/CMakeLists.txt | 19 + .../palsuite/c_runtime/sprintf_s/test15/test15.cpp | 53 + .../c_runtime/sprintf_s/test15/testinfo.dat | 12 + .../c_runtime/sprintf_s/test16/CMakeLists.txt | 19 + .../palsuite/c_runtime/sprintf_s/test16/test16.cpp | 52 + .../c_runtime/sprintf_s/test16/testinfo.dat | 12 + .../c_runtime/sprintf_s/test17/CMakeLists.txt | 19 + .../palsuite/c_runtime/sprintf_s/test17/test17.cpp | 54 + .../c_runtime/sprintf_s/test17/testinfo.dat | 12 + .../c_runtime/sprintf_s/test18/CMakeLists.txt | 19 + .../palsuite/c_runtime/sprintf_s/test18/test18.cpp | 53 + .../c_runtime/sprintf_s/test18/testinfo.dat | 12 + .../c_runtime/sprintf_s/test19/CMakeLists.txt | 19 + .../palsuite/c_runtime/sprintf_s/test19/test19.cpp | 71 + .../c_runtime/sprintf_s/test19/testinfo.dat | 12 + .../c_runtime/sprintf_s/test2/CMakeLists.txt | 19 + .../palsuite/c_runtime/sprintf_s/test2/test2.cpp | 47 + .../c_runtime/sprintf_s/test2/testinfo.dat | 12 + .../c_runtime/sprintf_s/test3/CMakeLists.txt | 19 + .../palsuite/c_runtime/sprintf_s/test3/test3.cpp | 47 + .../c_runtime/sprintf_s/test3/testinfo.dat | 12 + .../c_runtime/sprintf_s/test4/CMakeLists.txt | 19 + .../palsuite/c_runtime/sprintf_s/test4/test4.cpp | 69 + .../c_runtime/sprintf_s/test4/testinfo.dat | 12 + .../c_runtime/sprintf_s/test6/CMakeLists.txt | 19 + .../palsuite/c_runtime/sprintf_s/test6/test6.cpp | 50 + .../c_runtime/sprintf_s/test6/testinfo.dat | 12 + .../c_runtime/sprintf_s/test7/CMakeLists.txt | 19 + .../palsuite/c_runtime/sprintf_s/test7/test7.cpp | 49 + .../c_runtime/sprintf_s/test7/testinfo.dat | 12 + .../c_runtime/sprintf_s/test8/CMakeLists.txt | 19 + .../palsuite/c_runtime/sprintf_s/test8/test8.cpp | 55 + .../c_runtime/sprintf_s/test8/testinfo.dat | 12 + .../c_runtime/sprintf_s/test9/CMakeLists.txt | 19 + .../palsuite/c_runtime/sprintf_s/test9/test9.cpp | 55 + .../c_runtime/sprintf_s/test9/testinfo.dat | 12 + .../palsuite/c_runtime/sqrt/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/sqrt/test1/test1.c | 123 - .../tests/palsuite/c_runtime/sqrt/test1/test1.cpp | 123 + .../tests/palsuite/c_runtime/sqrtf/CMakeLists.txt | 4 + .../palsuite/c_runtime/sqrtf/test1/CMakeLists.txt | 19 + .../tests/palsuite/c_runtime/sqrtf/test1/test1.c | 122 + .../palsuite/c_runtime/sqrtf/test1/testinfo.dat | 17 + .../tests/palsuite/c_runtime/sscanf/CMakeLists.txt | 20 - src/pal/tests/palsuite/c_runtime/sscanf/sscanf.h | 246 - .../palsuite/c_runtime/sscanf/test1/CMakeLists.txt | 19 - .../tests/palsuite/c_runtime/sscanf/test1/test1.c | 53 - .../palsuite/c_runtime/sscanf/test1/testinfo.dat | 12 - .../c_runtime/sscanf/test10/CMakeLists.txt | 19 - .../palsuite/c_runtime/sscanf/test10/test10.c | 37 - .../palsuite/c_runtime/sscanf/test10/testinfo.dat | 12 - .../c_runtime/sscanf/test11/CMakeLists.txt | 19 - .../palsuite/c_runtime/sscanf/test11/test11.c | 36 - .../palsuite/c_runtime/sscanf/test11/testinfo.dat | 12 - .../c_runtime/sscanf/test12/CMakeLists.txt | 19 - .../palsuite/c_runtime/sscanf/test12/test12.c | 35 - .../palsuite/c_runtime/sscanf/test12/testinfo.dat | 12 - .../c_runtime/sscanf/test13/CMakeLists.txt | 19 - .../palsuite/c_runtime/sscanf/test13/test13.c | 37 - .../palsuite/c_runtime/sscanf/test13/testinfo.dat | 12 - .../c_runtime/sscanf/test14/CMakeLists.txt | 19 - .../palsuite/c_runtime/sscanf/test14/test14.c | 36 - .../palsuite/c_runtime/sscanf/test14/testinfo.dat | 12 - .../c_runtime/sscanf/test15/CMakeLists.txt | 19 - .../palsuite/c_runtime/sscanf/test15/test15.c | 36 - .../palsuite/c_runtime/sscanf/test15/testinfo.dat | 12 - .../c_runtime/sscanf/test16/CMakeLists.txt | 19 - .../palsuite/c_runtime/sscanf/test16/test16.c | 37 - .../palsuite/c_runtime/sscanf/test16/testinfo.dat | 12 - .../c_runtime/sscanf/test17/CMakeLists.txt | 19 - .../palsuite/c_runtime/sscanf/test17/test17.c | 37 - .../palsuite/c_runtime/sscanf/test17/testinfo.dat | 12 - .../palsuite/c_runtime/sscanf/test2/CMakeLists.txt | 19 - .../tests/palsuite/c_runtime/sscanf/test2/test2.c | 44 - .../palsuite/c_runtime/sscanf/test2/testinfo.dat | 12 - .../palsuite/c_runtime/sscanf/test3/CMakeLists.txt | 19 - .../tests/palsuite/c_runtime/sscanf/test3/test3.c | 35 - .../palsuite/c_runtime/sscanf/test3/testinfo.dat | 12 - .../palsuite/c_runtime/sscanf/test4/CMakeLists.txt | 19 - .../tests/palsuite/c_runtime/sscanf/test4/test4.c | 44 - .../palsuite/c_runtime/sscanf/test4/testinfo.dat | 12 - .../palsuite/c_runtime/sscanf/test5/CMakeLists.txt | 19 - .../tests/palsuite/c_runtime/sscanf/test5/test5.c | 43 - .../palsuite/c_runtime/sscanf/test5/testinfo.dat | 12 - .../palsuite/c_runtime/sscanf/test6/CMakeLists.txt | 19 - .../tests/palsuite/c_runtime/sscanf/test6/test6.c | 43 - .../palsuite/c_runtime/sscanf/test6/testinfo.dat | 12 - .../palsuite/c_runtime/sscanf/test7/CMakeLists.txt | 19 - .../tests/palsuite/c_runtime/sscanf/test7/test7.c | 43 - .../palsuite/c_runtime/sscanf/test7/testinfo.dat | 12 - .../palsuite/c_runtime/sscanf/test8/CMakeLists.txt | 19 - .../tests/palsuite/c_runtime/sscanf/test8/test8.c | 43 - .../palsuite/c_runtime/sscanf/test8/testinfo.dat | 12 - .../palsuite/c_runtime/sscanf/test9/CMakeLists.txt | 19 - .../tests/palsuite/c_runtime/sscanf/test9/test9.c | 38 - .../palsuite/c_runtime/sscanf/test9/testinfo.dat | 12 - .../palsuite/c_runtime/sscanf_s/CMakeLists.txt | 20 + .../tests/palsuite/c_runtime/sscanf_s/sscanf_s.h | 246 + .../c_runtime/sscanf_s/test1/CMakeLists.txt | 19 + .../palsuite/c_runtime/sscanf_s/test1/test1.cpp | 53 + .../palsuite/c_runtime/sscanf_s/test1/testinfo.dat | 12 + .../c_runtime/sscanf_s/test10/CMakeLists.txt | 19 + .../palsuite/c_runtime/sscanf_s/test10/test10.cpp | 37 + .../c_runtime/sscanf_s/test10/testinfo.dat | 12 + .../c_runtime/sscanf_s/test11/CMakeLists.txt | 19 + .../palsuite/c_runtime/sscanf_s/test11/test11.cpp | 36 + .../c_runtime/sscanf_s/test11/testinfo.dat | 12 + .../c_runtime/sscanf_s/test12/CMakeLists.txt | 19 + .../palsuite/c_runtime/sscanf_s/test12/test12.cpp | 35 + .../c_runtime/sscanf_s/test12/testinfo.dat | 12 + .../c_runtime/sscanf_s/test13/CMakeLists.txt | 19 + .../palsuite/c_runtime/sscanf_s/test13/test13.cpp | 37 + .../c_runtime/sscanf_s/test13/testinfo.dat | 12 + .../c_runtime/sscanf_s/test14/CMakeLists.txt | 19 + .../palsuite/c_runtime/sscanf_s/test14/test14.cpp | 36 + .../c_runtime/sscanf_s/test14/testinfo.dat | 12 + .../c_runtime/sscanf_s/test15/CMakeLists.txt | 19 + .../palsuite/c_runtime/sscanf_s/test15/test15.cpp | 36 + .../c_runtime/sscanf_s/test15/testinfo.dat | 12 + .../c_runtime/sscanf_s/test16/CMakeLists.txt | 19 + .../palsuite/c_runtime/sscanf_s/test16/test16.cpp | 37 + .../c_runtime/sscanf_s/test16/testinfo.dat | 12 + .../c_runtime/sscanf_s/test17/CMakeLists.txt | 19 + .../palsuite/c_runtime/sscanf_s/test17/test17.cpp | 37 + .../c_runtime/sscanf_s/test17/testinfo.dat | 12 + .../c_runtime/sscanf_s/test2/CMakeLists.txt | 19 + .../palsuite/c_runtime/sscanf_s/test2/test2.cpp | 44 + .../palsuite/c_runtime/sscanf_s/test2/testinfo.dat | 12 + .../c_runtime/sscanf_s/test3/CMakeLists.txt | 19 + .../palsuite/c_runtime/sscanf_s/test3/test3.cpp | 35 + .../palsuite/c_runtime/sscanf_s/test3/testinfo.dat | 12 + .../c_runtime/sscanf_s/test4/CMakeLists.txt | 19 + .../palsuite/c_runtime/sscanf_s/test4/test4.cpp | 44 + .../palsuite/c_runtime/sscanf_s/test4/testinfo.dat | 12 + .../c_runtime/sscanf_s/test5/CMakeLists.txt | 19 + .../palsuite/c_runtime/sscanf_s/test5/test5.cpp | 43 + .../palsuite/c_runtime/sscanf_s/test5/testinfo.dat | 12 + .../c_runtime/sscanf_s/test6/CMakeLists.txt | 19 + .../palsuite/c_runtime/sscanf_s/test6/test6.cpp | 43 + .../palsuite/c_runtime/sscanf_s/test6/testinfo.dat | 12 + .../c_runtime/sscanf_s/test7/CMakeLists.txt | 19 + .../palsuite/c_runtime/sscanf_s/test7/test7.cpp | 43 + .../palsuite/c_runtime/sscanf_s/test7/testinfo.dat | 12 + .../c_runtime/sscanf_s/test8/CMakeLists.txt | 19 + .../palsuite/c_runtime/sscanf_s/test8/test8.cpp | 43 + .../palsuite/c_runtime/sscanf_s/test8/testinfo.dat | 12 + .../c_runtime/sscanf_s/test9/CMakeLists.txt | 19 + .../palsuite/c_runtime/sscanf_s/test9/test9.cpp | 38 + .../palsuite/c_runtime/sscanf_s/test9/testinfo.dat | 12 + .../palsuite/c_runtime/strcat/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/strcat/test1/test1.c | 66 - .../palsuite/c_runtime/strcat/test1/test1.cpp | 66 + .../palsuite/c_runtime/strchr/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/strchr/test1/test1.c | 86 - .../palsuite/c_runtime/strchr/test1/test1.cpp | 86 + .../palsuite/c_runtime/strcmp/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/strcmp/test1/test1.c | 73 - .../palsuite/c_runtime/strcmp/test1/test1.cpp | 73 + .../palsuite/c_runtime/strcpy/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/strcpy/test1/test1.c | 51 - .../palsuite/c_runtime/strcpy/test1/test1.cpp | 51 + .../c_runtime/strcspn/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/strcspn/test1/test1.c | 59 - .../palsuite/c_runtime/strcspn/test1/test1.cpp | 59 + .../palsuite/c_runtime/strlen/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/strlen/test1/test1.c | 33 - .../palsuite/c_runtime/strlen/test1/test1.cpp | 33 + .../c_runtime/strncat/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/strncat/test1/test1.c | 77 - .../palsuite/c_runtime/strncat/test1/test1.cpp | 77 + .../c_runtime/strncmp/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/strncmp/test1/test1.c | 80 - .../palsuite/c_runtime/strncmp/test1/test1.cpp | 80 + .../c_runtime/strncpy/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/strncpy/test1/test1.c | 85 - .../palsuite/c_runtime/strncpy/test1/test1.cpp | 85 + .../c_runtime/strpbrk/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/strpbrk/test1/test1.c | 85 - .../palsuite/c_runtime/strpbrk/test1/test1.cpp | 85 + .../c_runtime/strrchr/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/strrchr/test1/test1.c | 55 - .../palsuite/c_runtime/strrchr/test1/test1.cpp | 55 + .../palsuite/c_runtime/strspn/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/strspn/test1/test1.c | 60 - .../palsuite/c_runtime/strspn/test1/test1.cpp | 60 + .../palsuite/c_runtime/strstr/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/strstr/test1/test1.c | 83 - .../palsuite/c_runtime/strstr/test1/test1.cpp | 83 + .../palsuite/c_runtime/strtod/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/strtod/test1/test1.c | 93 - .../palsuite/c_runtime/strtod/test1/test1.cpp | 93 + .../palsuite/c_runtime/strtod/test2/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/strtod/test2/test2.c | 65 - .../palsuite/c_runtime/strtod/test2/test2.cpp | 65 + .../palsuite/c_runtime/strtok/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/strtok/test1/test1.c | 78 - .../palsuite/c_runtime/strtok/test1/test1.cpp | 78 + .../c_runtime/strtoul/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/strtoul/test1/test1.c | 73 - .../palsuite/c_runtime/strtoul/test1/test1.cpp | 73 + .../tests/palsuite/c_runtime/swprintf/swprintf.h | 32 +- .../c_runtime/swprintf/test1/CMakeLists.txt | 2 +- .../palsuite/c_runtime/swprintf/test1/test1.c | 44 - .../palsuite/c_runtime/swprintf/test1/test1.cpp | 44 + .../c_runtime/swprintf/test10/CMakeLists.txt | 2 +- .../palsuite/c_runtime/swprintf/test10/test10.c | 55 - .../palsuite/c_runtime/swprintf/test10/test10.cpp | 55 + .../c_runtime/swprintf/test11/CMakeLists.txt | 2 +- .../palsuite/c_runtime/swprintf/test11/test11.c | 55 - .../palsuite/c_runtime/swprintf/test11/test11.cpp | 55 + .../c_runtime/swprintf/test12/CMakeLists.txt | 2 +- .../palsuite/c_runtime/swprintf/test12/test12.c | 56 - .../palsuite/c_runtime/swprintf/test12/test12.cpp | 56 + .../c_runtime/swprintf/test13/CMakeLists.txt | 2 +- .../palsuite/c_runtime/swprintf/test13/test13.c | 55 - .../palsuite/c_runtime/swprintf/test13/test13.cpp | 55 + .../c_runtime/swprintf/test14/CMakeLists.txt | 2 +- .../palsuite/c_runtime/swprintf/test14/test14.c | 67 - .../palsuite/c_runtime/swprintf/test14/test14.cpp | 67 + .../c_runtime/swprintf/test15/CMakeLists.txt | 2 +- .../palsuite/c_runtime/swprintf/test15/test15.c | 67 - .../palsuite/c_runtime/swprintf/test15/test15.cpp | 67 + .../c_runtime/swprintf/test16/CMakeLists.txt | 2 +- .../palsuite/c_runtime/swprintf/test16/test16.c | 67 - .../palsuite/c_runtime/swprintf/test16/test16.cpp | 67 + .../c_runtime/swprintf/test17/CMakeLists.txt | 2 +- .../palsuite/c_runtime/swprintf/test17/test17.c | 69 - .../palsuite/c_runtime/swprintf/test17/test17.cpp | 69 + .../c_runtime/swprintf/test18/CMakeLists.txt | 2 +- .../palsuite/c_runtime/swprintf/test18/test18.c | 69 - .../palsuite/c_runtime/swprintf/test18/test18.cpp | 69 + .../c_runtime/swprintf/test19/CMakeLists.txt | 2 +- .../palsuite/c_runtime/swprintf/test19/test19.c | 109 - .../palsuite/c_runtime/swprintf/test19/test19.cpp | 109 + .../c_runtime/swprintf/test2/CMakeLists.txt | 2 +- .../palsuite/c_runtime/swprintf/test2/test2.c | 46 - .../palsuite/c_runtime/swprintf/test2/test2.cpp | 46 + .../c_runtime/swprintf/test3/CMakeLists.txt | 2 +- .../palsuite/c_runtime/swprintf/test3/test3.c | 43 - .../palsuite/c_runtime/swprintf/test3/test3.cpp | 43 + .../c_runtime/swprintf/test4/CMakeLists.txt | 2 +- .../palsuite/c_runtime/swprintf/test4/test4.c | 71 - .../palsuite/c_runtime/swprintf/test4/test4.cpp | 71 + .../c_runtime/swprintf/test5/CMakeLists.txt | 2 +- .../palsuite/c_runtime/swprintf/test5/test5.c | 67 - .../palsuite/c_runtime/swprintf/test5/test5.cpp | 67 + .../c_runtime/swprintf/test6/CMakeLists.txt | 2 +- .../palsuite/c_runtime/swprintf/test6/test6.c | 47 - .../palsuite/c_runtime/swprintf/test6/test6.cpp | 47 + .../c_runtime/swprintf/test7/CMakeLists.txt | 2 +- .../palsuite/c_runtime/swprintf/test7/test7.c | 48 - .../palsuite/c_runtime/swprintf/test7/test7.cpp | 48 + .../c_runtime/swprintf/test8/CMakeLists.txt | 2 +- .../palsuite/c_runtime/swprintf/test8/test8.c | 55 - .../palsuite/c_runtime/swprintf/test8/test8.cpp | 55 + .../c_runtime/swprintf/test9/CMakeLists.txt | 2 +- .../palsuite/c_runtime/swprintf/test9/test9.c | 55 - .../palsuite/c_runtime/swprintf/test9/test9.cpp | 55 + src/pal/tests/palsuite/c_runtime/swscanf/swscanf.h | 22 +- .../c_runtime/swscanf/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/swscanf/test1/test1.c | 53 - .../palsuite/c_runtime/swscanf/test1/test1.cpp | 53 + .../c_runtime/swscanf/test10/CMakeLists.txt | 2 +- .../palsuite/c_runtime/swscanf/test10/test10.c | 36 - .../palsuite/c_runtime/swscanf/test10/test10.cpp | 36 + .../c_runtime/swscanf/test11/CMakeLists.txt | 2 +- .../palsuite/c_runtime/swscanf/test11/test11.c | 35 - .../palsuite/c_runtime/swscanf/test11/test11.cpp | 35 + .../c_runtime/swscanf/test12/CMakeLists.txt | 2 +- .../palsuite/c_runtime/swscanf/test12/test12.c | 35 - .../palsuite/c_runtime/swscanf/test12/test12.cpp | 35 + .../c_runtime/swscanf/test13/CMakeLists.txt | 2 +- .../palsuite/c_runtime/swscanf/test13/test13.c | 37 - .../palsuite/c_runtime/swscanf/test13/test13.cpp | 37 + .../c_runtime/swscanf/test14/CMakeLists.txt | 2 +- .../palsuite/c_runtime/swscanf/test14/test14.c | 38 - .../palsuite/c_runtime/swscanf/test14/test14.cpp | 38 + .../c_runtime/swscanf/test15/CMakeLists.txt | 2 +- .../palsuite/c_runtime/swscanf/test15/test15.c | 37 - .../palsuite/c_runtime/swscanf/test15/test15.cpp | 37 + .../c_runtime/swscanf/test16/CMakeLists.txt | 2 +- .../palsuite/c_runtime/swscanf/test16/test16.c | 37 - .../palsuite/c_runtime/swscanf/test16/test16.cpp | 37 + .../c_runtime/swscanf/test17/CMakeLists.txt | 2 +- .../palsuite/c_runtime/swscanf/test17/test17.c | 37 - .../palsuite/c_runtime/swscanf/test17/test17.cpp | 37 + .../c_runtime/swscanf/test2/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/swscanf/test2/test2.c | 43 - .../palsuite/c_runtime/swscanf/test2/test2.cpp | 43 + .../c_runtime/swscanf/test3/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/swscanf/test3/test3.c | 36 - .../palsuite/c_runtime/swscanf/test3/test3.cpp | 36 + .../c_runtime/swscanf/test4/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/swscanf/test4/test4.c | 44 - .../palsuite/c_runtime/swscanf/test4/test4.cpp | 44 + .../c_runtime/swscanf/test5/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/swscanf/test5/test5.c | 44 - .../palsuite/c_runtime/swscanf/test5/test5.cpp | 44 + .../c_runtime/swscanf/test6/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/swscanf/test6/test6.c | 44 - .../palsuite/c_runtime/swscanf/test6/test6.cpp | 44 + .../c_runtime/swscanf/test7/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/swscanf/test7/test7.c | 44 - .../palsuite/c_runtime/swscanf/test7/test7.cpp | 44 + .../c_runtime/swscanf/test8/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/swscanf/test8/test8.c | 44 - .../palsuite/c_runtime/swscanf/test8/test8.cpp | 44 + .../c_runtime/swscanf/test9/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/swscanf/test9/test9.c | 37 - .../palsuite/c_runtime/swscanf/test9/test9.cpp | 37 + .../palsuite/c_runtime/tan/test1/CMakeLists.txt | 2 +- src/pal/tests/palsuite/c_runtime/tan/test1/test1.c | 137 - .../tests/palsuite/c_runtime/tan/test1/test1.cpp | 137 + .../tests/palsuite/c_runtime/tanf/CMakeLists.txt | 3 + .../palsuite/c_runtime/tanf/test1/CMakeLists.txt | 19 + .../tests/palsuite/c_runtime/tanf/test1/test1.c | 136 + .../palsuite/c_runtime/tanf/test1/testinfo.dat | 13 + .../palsuite/c_runtime/tanh/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/tanh/test1/test1.c | 130 - .../tests/palsuite/c_runtime/tanh/test1/test1.cpp | 130 + .../tests/palsuite/c_runtime/tanhf/CMakeLists.txt | 3 + .../palsuite/c_runtime/tanhf/test1/CMakeLists.txt | 19 + .../tests/palsuite/c_runtime/tanhf/test1/test1.c | 129 + .../palsuite/c_runtime/tanhf/test1/testinfo.dat | 13 + .../palsuite/c_runtime/time/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/time/test1/test1.c | 51 - .../tests/palsuite/c_runtime/time/test1/test1.cpp | 51 + .../c_runtime/tolower/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/tolower/test1/test1.c | 79 - .../palsuite/c_runtime/tolower/test1/test1.cpp | 79 + .../c_runtime/toupper/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/toupper/test1/test1.c | 64 - .../palsuite/c_runtime/toupper/test1/test1.cpp | 64 + .../c_runtime/towlower/test1/CMakeLists.txt | 2 +- .../palsuite/c_runtime/towlower/test1/test1.c | 79 - .../palsuite/c_runtime/towlower/test1/test1.cpp | 79 + .../c_runtime/towupper/test1/CMakeLists.txt | 2 +- .../palsuite/c_runtime/towupper/test1/test1.c | 65 - .../palsuite/c_runtime/towupper/test1/test1.cpp | 65 + .../palsuite/c_runtime/ungetc/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/ungetc/test1/ungetc.c | 130 - .../palsuite/c_runtime/ungetc/test1/ungetc.cpp | 130 + .../palsuite/c_runtime/ungetc/test2/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/ungetc/test2/ungetc.c | 188 - .../palsuite/c_runtime/ungetc/test2/ungetc.cpp | 188 + .../c_runtime/vfprintf/test1/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vfprintf/test1/test1.c | 68 - .../palsuite/c_runtime/vfprintf/test1/test1.cpp | 68 + .../c_runtime/vfprintf/test10/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vfprintf/test10/test10.c | 52 - .../palsuite/c_runtime/vfprintf/test10/test10.cpp | 52 + .../c_runtime/vfprintf/test11/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vfprintf/test11/test11.c | 51 - .../palsuite/c_runtime/vfprintf/test11/test11.cpp | 51 + .../c_runtime/vfprintf/test12/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vfprintf/test12/test12.c | 53 - .../palsuite/c_runtime/vfprintf/test12/test12.cpp | 53 + .../c_runtime/vfprintf/test13/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vfprintf/test13/test13.c | 54 - .../palsuite/c_runtime/vfprintf/test13/test13.cpp | 54 + .../c_runtime/vfprintf/test14/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vfprintf/test14/test14.c | 54 - .../palsuite/c_runtime/vfprintf/test14/test14.cpp | 54 + .../c_runtime/vfprintf/test15/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vfprintf/test15/test15.c | 54 - .../palsuite/c_runtime/vfprintf/test15/test15.cpp | 54 + .../c_runtime/vfprintf/test16/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vfprintf/test16/test16.c | 50 - .../palsuite/c_runtime/vfprintf/test16/test16.cpp | 50 + .../c_runtime/vfprintf/test17/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vfprintf/test17/test17.c | 52 - .../palsuite/c_runtime/vfprintf/test17/test17.cpp | 52 + .../c_runtime/vfprintf/test18/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vfprintf/test18/test18.c | 51 - .../palsuite/c_runtime/vfprintf/test18/test18.cpp | 51 + .../c_runtime/vfprintf/test19/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vfprintf/test19/test19.c | 76 - .../palsuite/c_runtime/vfprintf/test19/test19.cpp | 76 + .../c_runtime/vfprintf/test2/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vfprintf/test2/test2.c | 45 - .../palsuite/c_runtime/vfprintf/test2/test2.cpp | 45 + .../c_runtime/vfprintf/test3/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vfprintf/test3/test3.c | 45 - .../palsuite/c_runtime/vfprintf/test3/test3.cpp | 45 + .../c_runtime/vfprintf/test4/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vfprintf/test4/test4.c | 70 - .../palsuite/c_runtime/vfprintf/test4/test4.cpp | 70 + .../c_runtime/vfprintf/test5/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vfprintf/test5/test5.c | 60 - .../palsuite/c_runtime/vfprintf/test5/test5.cpp | 60 + .../c_runtime/vfprintf/test6/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vfprintf/test6/test6.c | 48 - .../palsuite/c_runtime/vfprintf/test6/test6.cpp | 48 + .../c_runtime/vfprintf/test7/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vfprintf/test7/test7.c | 47 - .../palsuite/c_runtime/vfprintf/test7/test7.cpp | 47 + .../c_runtime/vfprintf/test8/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vfprintf/test8/test8.c | 53 - .../palsuite/c_runtime/vfprintf/test8/test8.cpp | 53 + .../c_runtime/vfprintf/test9/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vfprintf/test9/test9.c | 53 - .../palsuite/c_runtime/vfprintf/test9/test9.cpp | 53 + .../tests/palsuite/c_runtime/vfprintf/vfprintf.h | 34 +- .../c_runtime/vprintf/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/vprintf/test1/test1.c | 43 - .../palsuite/c_runtime/vprintf/test1/test1.cpp | 43 + .../c_runtime/vprintf/test10/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vprintf/test10/test10.c | 52 - .../palsuite/c_runtime/vprintf/test10/test10.cpp | 52 + .../c_runtime/vprintf/test11/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vprintf/test11/test11.c | 51 - .../palsuite/c_runtime/vprintf/test11/test11.cpp | 51 + .../c_runtime/vprintf/test12/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vprintf/test12/test12.c | 53 - .../palsuite/c_runtime/vprintf/test12/test12.cpp | 53 + .../c_runtime/vprintf/test13/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vprintf/test13/test13.c | 54 - .../palsuite/c_runtime/vprintf/test13/test13.cpp | 54 + .../c_runtime/vprintf/test14/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vprintf/test14/test14.c | 54 - .../palsuite/c_runtime/vprintf/test14/test14.cpp | 54 + .../c_runtime/vprintf/test15/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vprintf/test15/test15.c | 54 - .../palsuite/c_runtime/vprintf/test15/test15.cpp | 54 + .../c_runtime/vprintf/test16/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vprintf/test16/test16.c | 50 - .../palsuite/c_runtime/vprintf/test16/test16.cpp | 50 + .../c_runtime/vprintf/test17/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vprintf/test17/test17.c | 52 - .../palsuite/c_runtime/vprintf/test17/test17.cpp | 52 + .../c_runtime/vprintf/test18/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vprintf/test18/test18.c | 51 - .../palsuite/c_runtime/vprintf/test18/test18.cpp | 51 + .../c_runtime/vprintf/test19/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vprintf/test19/test19.c | 76 - .../palsuite/c_runtime/vprintf/test19/test19.cpp | 76 + .../c_runtime/vprintf/test2/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/vprintf/test2/test2.c | 45 - .../palsuite/c_runtime/vprintf/test2/test2.cpp | 45 + .../c_runtime/vprintf/test3/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/vprintf/test3/test3.c | 45 - .../palsuite/c_runtime/vprintf/test3/test3.cpp | 45 + .../c_runtime/vprintf/test4/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/vprintf/test4/test4.c | 70 - .../palsuite/c_runtime/vprintf/test4/test4.cpp | 70 + .../c_runtime/vprintf/test5/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/vprintf/test5/test5.c | 60 - .../palsuite/c_runtime/vprintf/test5/test5.cpp | 60 + .../c_runtime/vprintf/test6/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/vprintf/test6/test6.c | 48 - .../palsuite/c_runtime/vprintf/test6/test6.cpp | 48 + .../c_runtime/vprintf/test7/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/vprintf/test7/test7.c | 47 - .../palsuite/c_runtime/vprintf/test7/test7.cpp | 47 + .../c_runtime/vprintf/test8/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/vprintf/test8/test8.c | 53 - .../palsuite/c_runtime/vprintf/test8/test8.cpp | 53 + .../c_runtime/vprintf/test9/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/vprintf/test9/test9.c | 53 - .../palsuite/c_runtime/vprintf/test9/test9.cpp | 53 + src/pal/tests/palsuite/c_runtime/vprintf/vprintf.h | 34 +- .../c_runtime/vsprintf/test1/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vsprintf/test1/test1.c | 55 - .../palsuite/c_runtime/vsprintf/test1/test1.cpp | 55 + .../c_runtime/vsprintf/test10/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vsprintf/test10/test10.c | 50 - .../palsuite/c_runtime/vsprintf/test10/test10.cpp | 50 + .../c_runtime/vsprintf/test11/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vsprintf/test11/test11.c | 50 - .../palsuite/c_runtime/vsprintf/test11/test11.cpp | 50 + .../c_runtime/vsprintf/test12/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vsprintf/test12/test12.c | 52 - .../palsuite/c_runtime/vsprintf/test12/test12.cpp | 52 + .../c_runtime/vsprintf/test13/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vsprintf/test13/test13.c | 52 - .../palsuite/c_runtime/vsprintf/test13/test13.cpp | 52 + .../c_runtime/vsprintf/test14/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vsprintf/test14/test14.c | 50 - .../palsuite/c_runtime/vsprintf/test14/test14.cpp | 50 + .../c_runtime/vsprintf/test15/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vsprintf/test15/test15.c | 64 - .../palsuite/c_runtime/vsprintf/test15/test15.cpp | 64 + .../c_runtime/vsprintf/test16/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vsprintf/test16/test16.c | 49 - .../palsuite/c_runtime/vsprintf/test16/test16.cpp | 49 + .../c_runtime/vsprintf/test17/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vsprintf/test17/test17.c | 50 - .../palsuite/c_runtime/vsprintf/test17/test17.cpp | 50 + .../c_runtime/vsprintf/test18/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vsprintf/test18/test18.c | 50 - .../palsuite/c_runtime/vsprintf/test18/test18.cpp | 50 + .../c_runtime/vsprintf/test19/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vsprintf/test19/test19.c | 67 - .../palsuite/c_runtime/vsprintf/test19/test19.cpp | 67 + .../c_runtime/vsprintf/test2/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vsprintf/test2/test2.c | 42 - .../palsuite/c_runtime/vsprintf/test2/test2.cpp | 42 + .../c_runtime/vsprintf/test3/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vsprintf/test3/test3.c | 43 - .../palsuite/c_runtime/vsprintf/test3/test3.cpp | 43 + .../c_runtime/vsprintf/test4/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vsprintf/test4/test4.c | 72 - .../palsuite/c_runtime/vsprintf/test4/test4.cpp | 72 + .../c_runtime/vsprintf/test5/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vsprintf/test5/test5.c | 43 - .../palsuite/c_runtime/vsprintf/test5/test5.cpp | 43 + .../c_runtime/vsprintf/test6/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vsprintf/test6/test6.c | 44 - .../palsuite/c_runtime/vsprintf/test6/test6.cpp | 44 + .../c_runtime/vsprintf/test7/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vsprintf/test7/test7.c | 44 - .../palsuite/c_runtime/vsprintf/test7/test7.cpp | 44 + .../c_runtime/vsprintf/test8/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vsprintf/test8/test8.c | 52 - .../palsuite/c_runtime/vsprintf/test8/test8.cpp | 52 + .../c_runtime/vsprintf/test9/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vsprintf/test9/test9.c | 51 - .../palsuite/c_runtime/vsprintf/test9/test9.cpp | 51 + .../tests/palsuite/c_runtime/vsprintf/vsprintf.h | 34 +- .../c_runtime/vswprintf/test1/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vswprintf/test1/test1.c | 41 - .../palsuite/c_runtime/vswprintf/test1/test1.cpp | 41 + .../c_runtime/vswprintf/test10/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vswprintf/test10/test10.c | 48 - .../palsuite/c_runtime/vswprintf/test10/test10.cpp | 48 + .../c_runtime/vswprintf/test11/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vswprintf/test11/test11.c | 48 - .../palsuite/c_runtime/vswprintf/test11/test11.cpp | 48 + .../c_runtime/vswprintf/test12/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vswprintf/test12/test12.c | 48 - .../palsuite/c_runtime/vswprintf/test12/test12.cpp | 48 + .../c_runtime/vswprintf/test13/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vswprintf/test13/test13.c | 48 - .../palsuite/c_runtime/vswprintf/test13/test13.cpp | 48 + .../c_runtime/vswprintf/test14/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vswprintf/test14/test14.c | 61 - .../palsuite/c_runtime/vswprintf/test14/test14.cpp | 61 + .../c_runtime/vswprintf/test15/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vswprintf/test15/test15.c | 62 - .../palsuite/c_runtime/vswprintf/test15/test15.cpp | 62 + .../c_runtime/vswprintf/test16/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vswprintf/test16/test16.c | 61 - .../palsuite/c_runtime/vswprintf/test16/test16.cpp | 61 + .../c_runtime/vswprintf/test17/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vswprintf/test17/test17.c | 63 - .../palsuite/c_runtime/vswprintf/test17/test17.cpp | 63 + .../c_runtime/vswprintf/test18/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vswprintf/test18/test18.c | 63 - .../palsuite/c_runtime/vswprintf/test18/test18.cpp | 63 + .../c_runtime/vswprintf/test19/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vswprintf/test19/test19.c | 137 - .../palsuite/c_runtime/vswprintf/test19/test19.cpp | 137 + .../c_runtime/vswprintf/test2/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vswprintf/test2/test2.c | 40 - .../palsuite/c_runtime/vswprintf/test2/test2.cpp | 40 + .../c_runtime/vswprintf/test3/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vswprintf/test3/test3.c | 40 - .../palsuite/c_runtime/vswprintf/test3/test3.cpp | 40 + .../c_runtime/vswprintf/test4/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vswprintf/test4/test4.c | 118 - .../palsuite/c_runtime/vswprintf/test4/test4.cpp | 118 + .../c_runtime/vswprintf/test5/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vswprintf/test5/test5.c | 79 - .../palsuite/c_runtime/vswprintf/test5/test5.cpp | 79 + .../c_runtime/vswprintf/test6/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vswprintf/test6/test6.c | 41 - .../palsuite/c_runtime/vswprintf/test6/test6.cpp | 41 + .../c_runtime/vswprintf/test7/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vswprintf/test7/test7.c | 41 - .../palsuite/c_runtime/vswprintf/test7/test7.cpp | 41 + .../c_runtime/vswprintf/test8/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vswprintf/test8/test8.c | 47 - .../palsuite/c_runtime/vswprintf/test8/test8.cpp | 47 + .../c_runtime/vswprintf/test9/CMakeLists.txt | 2 +- .../palsuite/c_runtime/vswprintf/test9/test9.c | 47 - .../palsuite/c_runtime/vswprintf/test9/test9.cpp | 47 + .../tests/palsuite/c_runtime/vswprintf/vswprintf.h | 14 +- .../palsuite/c_runtime/wcscat/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/wcscat/test1/test1.c | 71 - .../palsuite/c_runtime/wcscat/test1/test1.cpp | 71 + .../palsuite/c_runtime/wcschr/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/wcschr/test1/test1.c | 51 - .../palsuite/c_runtime/wcschr/test1/test1.cpp | 51 + .../palsuite/c_runtime/wcscmp/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/wcscmp/test1/test1.c | 57 - .../palsuite/c_runtime/wcscmp/test1/test1.cpp | 57 + .../palsuite/c_runtime/wcscpy/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/wcscpy/test1/test1.c | 47 - .../palsuite/c_runtime/wcscpy/test1/test1.cpp | 47 + .../palsuite/c_runtime/wcslen/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/wcslen/test1/test1.c | 49 - .../palsuite/c_runtime/wcslen/test1/test1.cpp | 49 + .../c_runtime/wcsncat/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/wcsncat/test1/test1.c | 77 - .../palsuite/c_runtime/wcsncat/test1/test1.cpp | 77 + .../c_runtime/wcsncmp/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/wcsncmp/test1/test1.c | 73 - .../palsuite/c_runtime/wcsncmp/test1/test1.cpp | 73 + .../c_runtime/wcsncpy/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/wcsncpy/test1/test1.c | 84 - .../palsuite/c_runtime/wcsncpy/test1/test1.cpp | 84 + .../c_runtime/wcspbrk/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/wcspbrk/test1/test1.c | 61 - .../palsuite/c_runtime/wcspbrk/test1/test1.cpp | 61 + .../c_runtime/wcsrchr/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/wcsrchr/test1/test1.c | 50 - .../palsuite/c_runtime/wcsrchr/test1/test1.cpp | 50 + .../palsuite/c_runtime/wcsstr/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/wcsstr/test1/test1.c | 62 - .../palsuite/c_runtime/wcsstr/test1/test1.cpp | 62 + .../palsuite/c_runtime/wcstod/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/wcstod/test1/test1.c | 79 - .../palsuite/c_runtime/wcstod/test1/test1.cpp | 79 + .../palsuite/c_runtime/wcstod/test2/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/wcstod/test2/test2.c | 59 - .../palsuite/c_runtime/wcstod/test2/test2.cpp | 59 + .../palsuite/c_runtime/wcstok/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/wcstok/test1/test1.c | 114 - .../palsuite/c_runtime/wcstok/test1/test1.cpp | 114 + .../palsuite/c_runtime/wcstol/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/wcstol/test1/test1.c | 53 - .../palsuite/c_runtime/wcstol/test1/test1.cpp | 53 + .../palsuite/c_runtime/wcstol/test2/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/wcstol/test2/test2.c | 53 - .../palsuite/c_runtime/wcstol/test2/test2.cpp | 53 + .../palsuite/c_runtime/wcstol/test3/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/wcstol/test3/test3.c | 52 - .../palsuite/c_runtime/wcstol/test3/test3.cpp | 52 + .../palsuite/c_runtime/wcstol/test4/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/wcstol/test4/test4.c | 77 - .../palsuite/c_runtime/wcstol/test4/test4.cpp | 77 + .../palsuite/c_runtime/wcstol/test5/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/wcstol/test5/test5.c | 76 - .../palsuite/c_runtime/wcstol/test5/test5.cpp | 76 + .../palsuite/c_runtime/wcstol/test6/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/wcstol/test6/test6.c | 86 - .../palsuite/c_runtime/wcstol/test6/test6.cpp | 86 + .../c_runtime/wcstoul/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/wcstoul/test1/test1.c | 49 - .../palsuite/c_runtime/wcstoul/test1/test1.cpp | 49 + .../c_runtime/wcstoul/test2/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/wcstoul/test2/test2.c | 49 - .../palsuite/c_runtime/wcstoul/test2/test2.cpp | 49 + .../c_runtime/wcstoul/test3/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/wcstoul/test3/test3.c | 49 - .../palsuite/c_runtime/wcstoul/test3/test3.cpp | 49 + .../c_runtime/wcstoul/test4/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/wcstoul/test4/test4.c | 52 - .../palsuite/c_runtime/wcstoul/test4/test4.cpp | 52 + .../c_runtime/wcstoul/test5/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/wcstoul/test5/test5.c | 69 - .../palsuite/c_runtime/wcstoul/test5/test5.cpp | 69 + .../c_runtime/wcstoul/test6/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/wcstoul/test6/test6.c | 83 - .../palsuite/c_runtime/wcstoul/test6/test6.cpp | 83 + .../c_runtime/wprintf/test1/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/wprintf/test1/test1.c | 47 - .../palsuite/c_runtime/wprintf/test1/test1.cpp | 47 + .../c_runtime/wprintf/test2/CMakeLists.txt | 2 +- .../tests/palsuite/c_runtime/wprintf/test2/test2.c | 45 - .../palsuite/c_runtime/wprintf/test2/test2.cpp | 45 + src/pal/tests/palsuite/c_runtime/wprintf/wprintf.h | 32 +- src/pal/tests/palsuite/common/palsuite.h | 6 +- .../event/nonshared/CMakeLists.txt | 4 +- .../object_management/event/nonshared/event.c | 358 - .../object_management/event/nonshared/event.cpp | 358 + .../object_management/event/nonshared/main.c | 228 - .../object_management/event/nonshared/main.cpp | 228 + .../object_management/event/shared/CMakeLists.txt | 4 +- .../object_management/event/shared/event.c | 373 - .../object_management/event/shared/event.cpp | 373 + .../object_management/event/shared/main.c | 265 - .../object_management/event/shared/main.cpp | 265 + .../mutex/nonshared/CMakeLists.txt | 4 +- .../object_management/mutex/nonshared/main.c | 230 - .../object_management/mutex/nonshared/main.cpp | 230 + .../object_management/mutex/nonshared/mutex.c | 340 - .../object_management/mutex/nonshared/mutex.cpp | 340 + .../object_management/mutex/shared/CMakeLists.txt | 4 +- .../object_management/mutex/shared/main.c | 265 - .../object_management/mutex/shared/main.cpp | 265 + .../object_management/mutex/shared/mutex.c | 354 - .../object_management/mutex/shared/mutex.cpp | 354 + .../semaphore/nonshared/CMakeLists.txt | 4 +- .../object_management/semaphore/nonshared/main.c | 228 - .../object_management/semaphore/nonshared/main.cpp | 228 + .../semaphore/nonshared/semaphore.c | 342 - .../semaphore/nonshared/semaphore.cpp | 342 + .../semaphore/shared/CMakeLists.txt | 4 +- .../object_management/semaphore/shared/main.c | 278 - .../object_management/semaphore/shared/main.cpp | 278 + .../object_management/semaphore/shared/semaphore.c | 351 - .../semaphore/shared/semaphore.cpp | 351 + .../synchronization/criticalsection/CMakeLists.txt | 4 +- .../criticalsection/criticalsection.c | 418 - .../criticalsection/criticalsection.cpp | 418 + .../synchronization/criticalsection/mainWrapper.c | 255 - .../criticalsection/mainWrapper.cpp | 255 + .../nativecriticalsection/CMakeLists.txt | 2 +- .../pal_composite_native_cs.c | 471 - .../pal_composite_native_cs.cpp | 471 + .../nativecs_interlocked/CMakeLists.txt | 2 +- .../nativecs_interlocked/pal_composite_native_cs.c | 475 - .../pal_composite_native_cs.cpp | 475 + .../threading/threadsuspension/CMakeLists.txt | 4 +- .../threading/threadsuspension/mainWrapper.c | 274 - .../threading/threadsuspension/mainWrapper.cpp | 274 + .../threading/threadsuspension/threadsuspension.c | 907 - .../threadsuspension/threadsuspension.cpp | 907 + .../threadsuspension_switchthread/CMakeLists.txt | 4 +- .../threadsuspension_switchthread/mainWrapper.c | 274 - .../threadsuspension_switchthread/mainWrapper.cpp | 274 + .../threadsuspension.c | 914 - .../threadsuspension.cpp | 914 + .../tests/palsuite/composite/wfmo/CMakeLists.txt | 4 +- src/pal/tests/palsuite/composite/wfmo/main.c | 239 - src/pal/tests/palsuite/composite/wfmo/main.cpp | 239 + src/pal/tests/palsuite/composite/wfmo/mutex.c | 365 - src/pal/tests/palsuite/composite/wfmo/mutex.cpp | 365 + .../debug_api/DebugBreak/test1/CMakeLists.txt | 2 +- .../palsuite/debug_api/DebugBreak/test1/test1.c | 47 - .../palsuite/debug_api/DebugBreak/test1/test1.cpp | 47 + .../OutputDebugStringA/test1/CMakeLists.txt | 4 +- .../debug_api/OutputDebugStringA/test1/helper.c | 35 - .../debug_api/OutputDebugStringA/test1/helper.cpp | 35 + .../debug_api/OutputDebugStringA/test1/test1.c | 94 - .../debug_api/OutputDebugStringA/test1/test1.cpp | 94 + .../OutputDebugStringW/test1/CMakeLists.txt | 2 +- .../debug_api/OutputDebugStringW/test1/test1.c | 41 - .../debug_api/OutputDebugStringW/test1/test1.cpp | 41 + .../WriteProcessMemory/test1/CMakeLists.txt | 4 +- .../debug_api/WriteProcessMemory/test1/helper.c | 243 - .../debug_api/WriteProcessMemory/test1/helper.cpp | 243 + .../debug_api/WriteProcessMemory/test1/test1.c | 189 - .../debug_api/WriteProcessMemory/test1/test1.cpp | 189 + .../WriteProcessMemory/test3/CMakeLists.txt | 4 +- .../debug_api/WriteProcessMemory/test3/helper.c | 256 - .../debug_api/WriteProcessMemory/test3/helper.cpp | 256 + .../debug_api/WriteProcessMemory/test3/test3.c | 205 - .../debug_api/WriteProcessMemory/test3/test3.cpp | 205 + .../WriteProcessMemory/test4/CMakeLists.txt | 4 +- .../debug_api/WriteProcessMemory/test4/helper.c | 67 - .../debug_api/WriteProcessMemory/test4/helper.cpp | 67 + .../debug_api/WriteProcessMemory/test4/test4.c | 124 - .../debug_api/WriteProcessMemory/test4/test4.cpp | 124 + .../PAL_EXCEPT_FILTER/test1/CMakeLists.txt | 2 +- .../PAL_EXCEPT_FILTER/test1/PAL_EXCEPT_FILTER.c | 118 - .../PAL_EXCEPT_FILTER/test1/PAL_EXCEPT_FILTER.cpp | 118 + .../PAL_EXCEPT_FILTER/test2/CMakeLists.txt | 2 +- .../PAL_EXCEPT_FILTER/test2/pal_except_filter.c | 154 - .../PAL_EXCEPT_FILTER/test2/pal_except_filter.cpp | 154 + .../PAL_EXCEPT_FILTER/test3/CMakeLists.txt | 2 +- .../PAL_EXCEPT_FILTER/test3/pal_except_filter.c | 206 - .../PAL_EXCEPT_FILTER/test3/pal_except_filter.cpp | 206 + .../PAL_EXCEPT_FILTER_EX/test1/CMakeLists.txt | 2 +- .../test1/PAL_EXCEPT_FILTER_EX.c | 197 - .../test1/PAL_EXCEPT_FILTER_EX.cpp | 197 + .../PAL_EXCEPT_FILTER_EX/test2/CMakeLists.txt | 2 +- .../test2/pal_except_filter_ex.c | 142 - .../test2/pal_except_filter_ex.cpp | 142 + .../PAL_EXCEPT_FILTER_EX/test3/CMakeLists.txt | 2 +- .../PAL_EXCEPT_FILTER_EX/test3/pal_except_filter.c | 208 - .../test3/pal_except_filter.cpp | 208 + .../PAL_TRY_EXCEPT/test1/CMakeLists.txt | 2 +- .../PAL_TRY_EXCEPT/test1/PAL_TRY_EXCEPT.c | 82 - .../PAL_TRY_EXCEPT/test1/PAL_TRY_EXCEPT.cpp | 82 + .../PAL_TRY_EXCEPT/test2/CMakeLists.txt | 2 +- .../PAL_TRY_EXCEPT/test2/PAL_TRY_EXCEPT.c | 68 - .../PAL_TRY_EXCEPT/test2/PAL_TRY_EXCEPT.cpp | 68 + .../PAL_TRY_EXCEPT_EX/test1/CMakeLists.txt | 2 +- .../PAL_TRY_EXCEPT_EX/test1/PAL_TRY_EXCEPT_EX.c | 133 - .../PAL_TRY_EXCEPT_EX/test1/PAL_TRY_EXCEPT_EX.cpp | 133 + .../PAL_TRY_EXCEPT_EX/test2/CMakeLists.txt | 2 +- .../PAL_TRY_EXCEPT_EX/test2/PAL_TRY_EXCEPT_EX.c | 123 - .../PAL_TRY_EXCEPT_EX/test2/PAL_TRY_EXCEPT_EX.cpp | 123 + .../PAL_TRY_EXCEPT_EX/test3/CMakeLists.txt | 2 +- .../PAL_TRY_EXCEPT_EX/test3/PAL_TRY_EXCEPT_EX.c | 130 - .../PAL_TRY_EXCEPT_EX/test3/PAL_TRY_EXCEPT_EX.cpp | 130 + .../PAL_TRY_LEAVE_FINALLY/test1/CMakeLists.txt | 2 +- .../test1/PAL_TRY_LEAVE_FINALLY.c | 77 - .../test1/PAL_TRY_LEAVE_FINALLY.cpp | 77 + .../test1/CMakeLists.txt | 2 +- .../SetUnhandledExceptionFilter/test1/test1.c | 82 - .../SetUnhandledExceptionFilter/test1/test1.cpp | 82 + .../pal_except/test1/CMakeLists.txt | 2 +- .../exception_handling/pal_except/test1/test1.c | 67 - .../exception_handling/pal_except/test1/test1.cpp | 67 + .../pal_except/test2/CMakeLists.txt | 2 +- .../exception_handling/pal_except/test2/test2.c | 111 - .../exception_handling/pal_except/test2/test2.cpp | 111 + .../pal_except/test3/CMakeLists.txt | 2 +- .../exception_handling/pal_except/test3/test3.c | 120 - .../exception_handling/pal_except/test3/test3.cpp | 120 + .../pal_except/test4/CMakeLists.txt | 2 +- .../exception_handling/pal_except/test4/test4.c | 105 - .../exception_handling/pal_except/test4/test4.cpp | 105 + .../pal_except/test5/CMakeLists.txt | 2 +- .../exception_handling/pal_except/test5/test5.c | 112 - .../exception_handling/pal_except/test5/test5.cpp | 112 + .../pal_except/test6/CMakeLists.txt | 2 +- .../exception_handling/pal_except/test6/test6.c | 160 - .../exception_handling/pal_except/test6/test6.cpp | 160 + .../pal_except/test7/CMakeLists.txt | 2 +- .../exception_handling/pal_except/test7/test7.c | 67 - .../exception_handling/pal_except/test7/test7.cpp | 67 + .../pal_finally/test1/CMakeLists.txt | 2 +- .../pal_finally/test1/pal_finally.c | 302 - .../pal_finally/test1/pal_finally.cpp | 302 + .../exception_handling/pal_sxs/test1/dlltest1.cpp | 14 +- .../exception_handling/pal_sxs/test1/dlltest2.cpp | 14 +- .../AreFileApisANSI/test1/AreFileApisANSI.c | 40 - .../AreFileApisANSI/test1/AreFileApisANSI.cpp | 40 + .../file_io/AreFileApisANSI/test1/CMakeLists.txt | 2 +- .../file_io/CompareFileTime/test1/CMakeLists.txt | 2 +- .../CompareFileTime/test1/CompareFileTime.c | 68 - .../CompareFileTime/test1/CompareFileTime.cpp | 68 + .../file_io/CopyFileA/test1/CMakeLists.txt | 2 +- .../palsuite/file_io/CopyFileA/test1/CopyFileA.c | 159 - .../palsuite/file_io/CopyFileA/test1/CopyFileA.cpp | 159 + .../file_io/CopyFileA/test2/CMakeLists.txt | 2 +- .../tests/palsuite/file_io/CopyFileA/test2/test2.c | 120 - .../palsuite/file_io/CopyFileA/test2/test2.cpp | 120 + .../file_io/CopyFileA/test3/CMakeLists.txt | 2 +- .../tests/palsuite/file_io/CopyFileA/test3/test3.c | 141 - .../palsuite/file_io/CopyFileA/test3/test3.cpp | 141 + .../file_io/CopyFileA/test4/CMakeLists.txt | 2 +- .../tests/palsuite/file_io/CopyFileA/test4/test4.c | 180 - .../palsuite/file_io/CopyFileA/test4/test4.cpp | 180 + .../file_io/CopyFileW/test1/CMakeLists.txt | 2 +- .../palsuite/file_io/CopyFileW/test1/CopyFileW.c | 155 - .../palsuite/file_io/CopyFileW/test1/CopyFileW.cpp | 155 + .../file_io/CopyFileW/test2/CMakeLists.txt | 2 +- .../tests/palsuite/file_io/CopyFileW/test2/test2.c | 124 - .../palsuite/file_io/CopyFileW/test2/test2.cpp | 124 + .../file_io/CopyFileW/test3/CMakeLists.txt | 2 +- .../tests/palsuite/file_io/CopyFileW/test3/test3.c | 196 - .../palsuite/file_io/CopyFileW/test3/test3.cpp | 196 + .../file_io/CreateDirectoryA/test1/CMakeLists.txt | 2 +- .../CreateDirectoryA/test1/CreateDirectoryA.c | 296 - .../CreateDirectoryA/test1/CreateDirectoryA.cpp | 296 + .../file_io/CreateDirectoryA/test2/CMakeLists.txt | 2 +- .../CreateDirectoryA/test2/createdirectorya.c | 335 - .../CreateDirectoryA/test2/createdirectorya.cpp | 335 + .../file_io/CreateDirectoryW/test1/CMakeLists.txt | 2 +- .../CreateDirectoryW/test1/CreateDirectoryW.c | 347 - .../CreateDirectoryW/test1/CreateDirectoryW.cpp | 347 + .../file_io/CreateDirectoryW/test2/CMakeLists.txt | 2 +- .../CreateDirectoryW/test2/createdirectoryw.c | 345 - .../CreateDirectoryW/test2/createdirectoryw.cpp | 345 + .../file_io/CreateFileA/test1/CMakeLists.txt | 2 +- .../file_io/CreateFileA/test1/CreateFileA.c | 145 - .../file_io/CreateFileA/test1/CreateFileA.cpp | 145 + .../file_io/CreateFileW/test1/CMakeLists.txt | 2 +- .../file_io/CreateFileW/test1/CreateFileW.c | 152 - .../file_io/CreateFileW/test1/CreateFileW.cpp | 152 + .../file_io/DeleteFileW/test1/CMakeLists.txt | 2 +- .../file_io/DeleteFileW/test1/DeleteFileW.c | 164 - .../file_io/DeleteFileW/test1/DeleteFileW.cpp | 164 + .../file_io/FILECanonicalizePath/CMakeLists.txt | 2 +- .../FILECanonicalizePath/FILECanonicalizePath.c | 83 - .../FILECanonicalizePath/FILECanonicalizePath.cpp | 83 + .../FileTimeToDosDateTime/test1/CMakeLists.txt | 2 +- .../file_io/FileTimeToDosDateTime/test1/test1.c | 116 - .../file_io/FileTimeToDosDateTime/test1/test1.cpp | 116 + .../file_io/FindClose/test1/CMakeLists.txt | 2 +- .../palsuite/file_io/FindClose/test1/FindClose.c | 275 - .../palsuite/file_io/FindClose/test1/FindClose.cpp | 275 + .../file_io/FindFirstFileA/test1/CMakeLists.txt | 2 +- .../file_io/FindFirstFileA/test1/FindFirstFileA.c | 206 - .../FindFirstFileA/test1/FindFirstFileA.cpp | 206 + .../file_io/FindFirstFileW/test1/CMakeLists.txt | 2 +- .../file_io/FindFirstFileW/test1/FindFirstFileW.c | 212 - .../FindFirstFileW/test1/FindFirstFileW.cpp | 212 + .../file_io/FindNextFileA/test1/CMakeLists.txt | 2 +- .../file_io/FindNextFileA/test1/FindNextFileA.c | 243 - .../file_io/FindNextFileA/test1/FindNextFileA.cpp | 243 + .../file_io/FindNextFileA/test2/CMakeLists.txt | 2 +- .../file_io/FindNextFileA/test2/findnextfilea.c | 107 - .../file_io/FindNextFileA/test2/findnextfilea.cpp | 107 + .../file_io/FindNextFileW/test1/CMakeLists.txt | 2 +- .../file_io/FindNextFileW/test1/FindNextFileW.c | 249 - .../file_io/FindNextFileW/test1/FindNextFileW.cpp | 249 + .../file_io/FindNextFileW/test2/CMakeLists.txt | 2 +- .../file_io/FindNextFileW/test2/findnextfilew.c | 107 - .../file_io/FindNextFileW/test2/findnextfilew.cpp | 107 + .../file_io/FlushFileBuffers/test1/CMakeLists.txt | 2 +- .../FlushFileBuffers/test1/FlushFileBuffers.c | 130 - .../FlushFileBuffers/test1/FlushFileBuffers.cpp | 130 + .../file_io/GetConsoleCP/test1/CMakeLists.txt | 2 +- .../file_io/GetConsoleCP/test1/GetConsoleCP.c | 35 - .../file_io/GetConsoleCP/test1/GetConsoleCP.cpp | 35 + .../GetConsoleOutputCP/test1/CMakeLists.txt | 2 +- .../GetConsoleOutputCP/test1/GetConsoleOutputCP.c | 35 - .../test1/GetConsoleOutputCP.cpp | 35 + .../GetCurrentDirectoryA/test1/CMakeLists.txt | 2 +- .../test1/GetCurrentDirectoryA.c | 97 - .../test1/GetCurrentDirectoryA.cpp | 97 + .../GetCurrentDirectoryW/test1/CMakeLists.txt | 2 +- .../test1/GetCurrentDirectoryW.c | 106 - .../test1/GetCurrentDirectoryW.cpp | 106 + .../file_io/GetDiskFreeSpaceW/test1/CMakeLists.txt | 2 +- .../GetDiskFreeSpaceW/test1/GetDiskFreeSpaceW.c | 94 - .../GetDiskFreeSpaceW/test1/GetDiskFreeSpaceW.cpp | 94 + .../file_io/GetDiskFreeSpaceW/test2/CMakeLists.txt | 2 +- .../GetDiskFreeSpaceW/test2/getdiskfreespacew.c | 65 - .../GetDiskFreeSpaceW/test2/getdiskfreespacew.cpp | 65 + .../GetFileAttributesA/test1/CMakeLists.txt | 2 +- .../GetFileAttributesA/test1/GetFileAttributesA.c | 340 - .../test1/GetFileAttributesA.cpp | 340 + .../GetFileAttributesExW/test1/CMakeLists.txt | 2 +- .../file_io/GetFileAttributesExW/test1/test1.c | 227 - .../file_io/GetFileAttributesExW/test1/test1.cpp | 227 + .../GetFileAttributesExW/test2/CMakeLists.txt | 2 +- .../file_io/GetFileAttributesExW/test2/test2.c | 170 - .../file_io/GetFileAttributesExW/test2/test2.cpp | 170 + .../GetFileAttributesW/test1/CMakeLists.txt | 2 +- .../GetFileAttributesW/test1/GetFileAttributesW.c | 345 - .../test1/GetFileAttributesW.cpp | 345 + .../file_io/GetFileSize/test1/CMakeLists.txt | 2 +- .../file_io/GetFileSize/test1/GetFileSize.c | 173 - .../file_io/GetFileSize/test1/GetFileSize.cpp | 173 + .../file_io/GetFileSizeEx/test1/CMakeLists.txt | 2 +- .../file_io/GetFileSizeEx/test1/GetFileSizeEx.c | 173 - .../file_io/GetFileSizeEx/test1/GetFileSizeEx.cpp | 173 + .../file_io/GetFileTime/test1/CMakeLists.txt | 2 +- .../file_io/GetFileTime/test1/GetFileTime.c | 180 - .../file_io/GetFileTime/test1/GetFileTime.cpp | 180 + .../file_io/GetFileTime/test2/CMakeLists.txt | 2 +- .../file_io/GetFileTime/test2/GetFileTime.c | 195 - .../file_io/GetFileTime/test2/GetFileTime.cpp | 195 + .../file_io/GetFileTime/test3/CMakeLists.txt | 2 +- .../file_io/GetFileTime/test3/GetFileTime.c | 142 - .../file_io/GetFileTime/test3/GetFileTime.cpp | 142 + .../file_io/GetFileTime/test4/CMakeLists.txt | 2 +- .../file_io/GetFileTime/test4/GetFileTime.c | 98 - .../file_io/GetFileTime/test4/GetFileTime.cpp | 98 + .../file_io/GetFileTime/test5/CMakeLists.txt | 2 +- .../file_io/GetFileTime/test5/getfiletime.c | 224 - .../file_io/GetFileTime/test5/getfiletime.cpp | 224 + .../file_io/GetFileTime/test6/CMakeLists.txt | 2 +- .../file_io/GetFileTime/test6/getfiletime.c | 281 - .../file_io/GetFileTime/test6/getfiletime.cpp | 281 + .../file_io/GetFileTime/test7/CMakeLists.txt | 2 +- .../file_io/GetFileTime/test7/getfiletime.c | 279 - .../file_io/GetFileTime/test7/getfiletime.cpp | 279 + .../file_io/GetFileType/test1/CMakeLists.txt | 2 +- .../file_io/GetFileType/test1/GetFileType.c | 76 - .../file_io/GetFileType/test1/GetFileType.cpp | 76 + .../file_io/GetFileType/test2/CMakeLists.txt | 2 +- .../file_io/GetFileType/test2/getfiletype.c | 95 - .../file_io/GetFileType/test2/getfiletype.cpp | 95 + .../file_io/GetFileType/test3/CMakeLists.txt | 2 +- .../file_io/GetFileType/test3/getfiletype.c | 72 - .../file_io/GetFileType/test3/getfiletype.cpp | 72 + .../file_io/GetFullPathNameA/test1/CMakeLists.txt | 2 +- .../GetFullPathNameA/test1/GetFullPathNameA.c | 122 - .../GetFullPathNameA/test1/GetFullPathNameA.cpp | 122 + .../file_io/GetFullPathNameA/test2/CMakeLists.txt | 2 +- .../file_io/GetFullPathNameA/test2/test2.c | 143 - .../file_io/GetFullPathNameA/test2/test2.cpp | 143 + .../file_io/GetFullPathNameA/test3/CMakeLists.txt | 2 +- .../file_io/GetFullPathNameA/test3/test3.c | 241 - .../file_io/GetFullPathNameA/test3/test3.cpp | 241 + .../file_io/GetFullPathNameA/test4/CMakeLists.txt | 2 +- .../file_io/GetFullPathNameA/test4/test4.c | 203 - .../file_io/GetFullPathNameA/test4/test4.cpp | 203 + .../file_io/GetFullPathNameW/test1/CMakeLists.txt | 2 +- .../GetFullPathNameW/test1/GetFullPathNameW.c | 157 - .../GetFullPathNameW/test1/GetFullPathNameW.cpp | 157 + .../file_io/GetFullPathNameW/test2/CMakeLists.txt | 2 +- .../file_io/GetFullPathNameW/test2/test2.c | 159 - .../file_io/GetFullPathNameW/test2/test2.cpp | 159 + .../file_io/GetFullPathNameW/test3/CMakeLists.txt | 2 +- .../file_io/GetFullPathNameW/test3/test3.c | 240 - .../file_io/GetFullPathNameW/test3/test3.cpp | 240 + .../file_io/GetFullPathNameW/test4/CMakeLists.txt | 2 +- .../file_io/GetFullPathNameW/test4/test4.c | 201 - .../file_io/GetFullPathNameW/test4/test4.cpp | 201 + .../file_io/GetLongPathNameW/test1/CMakeLists.txt | 2 +- .../GetLongPathNameW/test1/GetLongPathNameW.c | 280 - .../GetLongPathNameW/test1/GetLongPathNameW.cpp | 280 + .../file_io/GetLongPathNameW/test2/CMakeLists.txt | 2 +- .../GetLongPathNameW/test2/getlongpathnamew.c | 266 - .../GetLongPathNameW/test2/getlongpathnamew.cpp | 266 + .../file_io/GetStdHandle/test1/CMakeLists.txt | 2 +- .../file_io/GetStdHandle/test1/GetStdHandle.c | 132 - .../file_io/GetStdHandle/test1/GetStdHandle.cpp | 132 + .../file_io/GetStdHandle/test2/CMakeLists.txt | 2 +- .../file_io/GetStdHandle/test2/GetStdHandle.c | 79 - .../file_io/GetStdHandle/test2/GetStdHandle.cpp | 79 + .../file_io/GetSystemTime/test1/CMakeLists.txt | 2 +- .../palsuite/file_io/GetSystemTime/test1/test.c | 124 - .../palsuite/file_io/GetSystemTime/test1/test.cpp | 124 + .../GetSystemTimeAsFileTime/test1/CMakeLists.txt | 2 +- .../test1/GetSystemTimeAsFileTime.c | 86 - .../test1/GetSystemTimeAsFileTime.cpp | 86 + .../file_io/GetTempFileNameA/test1/CMakeLists.txt | 2 +- .../GetTempFileNameA/test1/GetTempFileNameA.c | 125 - .../GetTempFileNameA/test1/GetTempFileNameA.cpp | 125 + .../file_io/GetTempFileNameA/test2/CMakeLists.txt | 2 +- .../GetTempFileNameA/test2/GetTempFileNameA.c | 80 - .../GetTempFileNameA/test2/GetTempFileNameA.cpp | 80 + .../file_io/GetTempFileNameA/test3/CMakeLists.txt | 2 +- .../GetTempFileNameA/test3/gettempfilenamea.c | 159 - .../GetTempFileNameA/test3/gettempfilenamea.cpp | 159 + .../file_io/GetTempFileNameW/test1/CMakeLists.txt | 2 +- .../GetTempFileNameW/test1/GetTempFileNameW.c | 129 - .../GetTempFileNameW/test1/GetTempFileNameW.cpp | 129 + .../file_io/GetTempFileNameW/test2/CMakeLists.txt | 2 +- .../GetTempFileNameW/test2/GetTempFileNameW.c | 84 - .../GetTempFileNameW/test2/GetTempFileNameW.cpp | 84 + .../file_io/GetTempFileNameW/test3/CMakeLists.txt | 2 +- .../GetTempFileNameW/test3/gettempfilenamew.c | 161 - .../GetTempFileNameW/test3/gettempfilenamew.cpp | 161 + .../file_io/GetTempPathW/test1/CMakeLists.txt | 2 +- .../file_io/GetTempPathW/test1/GetTempPathW.c | 103 - .../file_io/GetTempPathW/test1/GetTempPathW.cpp | 103 + .../file_io/MoveFileA/test1/CMakeLists.txt | 2 +- .../palsuite/file_io/MoveFileA/test1/MoveFileA.c | 469 - .../palsuite/file_io/MoveFileA/test1/MoveFileA.cpp | 469 + .../file_io/MoveFileExA/test1/CMakeLists.txt | 2 +- .../file_io/MoveFileExA/test1/MoveFileExA.c | 360 - .../file_io/MoveFileExA/test1/MoveFileExA.cpp | 360 + .../file_io/MoveFileExW/test1/CMakeLists.txt | 2 +- .../file_io/MoveFileExW/test1/MoveFileExW.c | 431 - .../file_io/MoveFileExW/test1/MoveFileExW.cpp | 431 + .../file_io/MoveFileW/test1/CMakeLists.txt | 2 +- .../palsuite/file_io/MoveFileW/test1/MoveFileW.c | 478 - .../palsuite/file_io/MoveFileW/test1/MoveFileW.cpp | 478 + .../palsuite/file_io/ReadFile/test1/CMakeLists.txt | 2 +- .../palsuite/file_io/ReadFile/test1/ReadFile.c | 82 - .../palsuite/file_io/ReadFile/test1/ReadFile.cpp | 82 + .../palsuite/file_io/ReadFile/test2/CMakeLists.txt | 2 +- .../palsuite/file_io/ReadFile/test2/ReadFile.c | 198 - .../palsuite/file_io/ReadFile/test2/ReadFile.cpp | 198 + .../palsuite/file_io/ReadFile/test3/CMakeLists.txt | 2 +- .../palsuite/file_io/ReadFile/test3/ReadFile.c | 184 - .../palsuite/file_io/ReadFile/test3/ReadFile.cpp | 184 + .../palsuite/file_io/ReadFile/test4/CMakeLists.txt | 2 +- .../palsuite/file_io/ReadFile/test4/readfile.c | 147 - .../palsuite/file_io/ReadFile/test4/readfile.cpp | 147 + .../RemoveDirectoryA/test1/RemoveDirectoryA.cpp | 12 +- .../file_io/RemoveDirectoryW/test1/CMakeLists.txt | 2 +- .../RemoveDirectoryW/test1/RemoveDirectoryW.c | 282 - .../RemoveDirectoryW/test1/RemoveDirectoryW.cpp | 282 + .../file_io/SearchPathA/test1/CMakeLists.txt | 2 +- .../file_io/SearchPathA/test1/SearchPathA.c | 144 - .../file_io/SearchPathA/test1/SearchPathA.cpp | 139 + .../file_io/SearchPathW/test1/CMakeLists.txt | 2 +- .../file_io/SearchPathW/test1/SearchPathW.c | 198 - .../file_io/SearchPathW/test1/SearchPathW.cpp | 193 + .../SetCurrentDirectoryA/test1/CMakeLists.txt | 2 +- .../test1/SetCurrentDirectoryA.c | 215 - .../test1/SetCurrentDirectoryA.cpp | 215 + .../SetCurrentDirectoryA/test2/CMakeLists.txt | 2 +- .../test2/setcurrentdirectorya.c | 142 - .../test2/setcurrentdirectorya.cpp | 142 + .../SetCurrentDirectoryA/test3/CMakeLists.txt | 2 +- .../test3/setcurrentdirectorya.c | 56 - .../test3/setcurrentdirectorya.cpp | 56 + .../SetCurrentDirectoryW/test1/CMakeLists.txt | 2 +- .../test1/SetCurrentDirectoryW.c | 178 - .../test1/SetCurrentDirectoryW.cpp | 178 + .../SetCurrentDirectoryW/test2/CMakeLists.txt | 2 +- .../test2/setcurrentdirectoryw.c | 147 - .../test2/setcurrentdirectoryw.cpp | 147 + .../SetCurrentDirectoryW/test3/CMakeLists.txt | 2 +- .../test3/setcurrentdirectoryw.c | 64 - .../test3/setcurrentdirectoryw.cpp | 64 + .../file_io/SetEndOfFile/test1/CMakeLists.txt | 2 +- .../file_io/SetEndOfFile/test1/SetEndOfFile.c | 85 - .../file_io/SetEndOfFile/test1/SetEndOfFile.cpp | 85 + .../file_io/SetEndOfFile/test2/CMakeLists.txt | 2 +- .../file_io/SetEndOfFile/test2/SetEndOfFile.c | 154 - .../file_io/SetEndOfFile/test2/SetEndOfFile.cpp | 154 + .../file_io/SetEndOfFile/test3/CMakeLists.txt | 2 +- .../file_io/SetEndOfFile/test3/SetEndOfFile.c | 109 - .../file_io/SetEndOfFile/test3/SetEndOfFile.cpp | 109 + .../file_io/SetEndOfFile/test4/CMakeLists.txt | 2 +- .../file_io/SetEndOfFile/test4/setendoffile.c | 138 - .../file_io/SetEndOfFile/test4/setendoffile.cpp | 138 + .../file_io/SetEndOfFile/test5/CMakeLists.txt | 2 +- .../palsuite/file_io/SetEndOfFile/test5/test5.c | 183 - .../palsuite/file_io/SetEndOfFile/test5/test5.cpp | 183 + .../SetFileAttributesA/test1/CMakeLists.txt | 2 +- .../SetFileAttributesA/test1/SetFileAttributesA.c | 168 - .../test1/SetFileAttributesA.cpp | 168 + .../SetFileAttributesA/test2/CMakeLists.txt | 2 +- .../SetFileAttributesA/test2/SetFileAttributesA.c | 114 - .../test2/SetFileAttributesA.cpp | 114 + .../SetFileAttributesA/test3/CMakeLists.txt | 2 +- .../SetFileAttributesA/test3/SetFileAttributesA.c | 48 - .../test3/SetFileAttributesA.cpp | 48 + .../SetFileAttributesA/test4/CMakeLists.txt | 2 +- .../SetFileAttributesA/test4/SetFileAttributesA.c | 128 - .../test4/SetFileAttributesA.cpp | 128 + .../SetFileAttributesW/test1/CMakeLists.txt | 2 +- .../SetFileAttributesW/test1/SetFileAttributesW.c | 167 - .../test1/SetFileAttributesW.cpp | 167 + .../SetFileAttributesW/test2/CMakeLists.txt | 2 +- .../SetFileAttributesW/test2/SetFileAttributesW.c | 121 - .../test2/SetFileAttributesW.cpp | 121 + .../SetFileAttributesW/test3/CMakeLists.txt | 2 +- .../SetFileAttributesW/test3/SetFileAttributesW.c | 57 - .../test3/SetFileAttributesW.cpp | 57 + .../SetFileAttributesW/test4/CMakeLists.txt | 2 +- .../SetFileAttributesW/test4/SetFileAttributesW.c | 133 - .../test4/SetFileAttributesW.cpp | 133 + .../file_io/SetFilePointer/test1/CMakeLists.txt | 2 +- .../file_io/SetFilePointer/test1/SetFilePointer.c | 123 - .../SetFilePointer/test1/SetFilePointer.cpp | 123 + .../file_io/SetFilePointer/test2/CMakeLists.txt | 2 +- .../file_io/SetFilePointer/test2/SetFilePointer.c | 356 - .../SetFilePointer/test2/SetFilePointer.cpp | 356 + .../file_io/SetFilePointer/test3/CMakeLists.txt | 2 +- .../file_io/SetFilePointer/test3/SetFilePointer.c | 350 - .../SetFilePointer/test3/SetFilePointer.cpp | 350 + .../file_io/SetFilePointer/test4/CMakeLists.txt | 2 +- .../file_io/SetFilePointer/test4/SetFilePointer.c | 242 - .../SetFilePointer/test4/SetFilePointer.cpp | 242 + .../file_io/SetFilePointer/test5/CMakeLists.txt | 2 +- .../file_io/SetFilePointer/test5/SetFilePointer.c | 182 - .../SetFilePointer/test5/SetFilePointer.cpp | 182 + .../file_io/SetFilePointer/test6/CMakeLists.txt | 2 +- .../file_io/SetFilePointer/test6/SetFilePointer.c | 213 - .../SetFilePointer/test6/SetFilePointer.cpp | 213 + .../file_io/SetFilePointer/test7/CMakeLists.txt | 2 +- .../file_io/SetFilePointer/test7/SetFilePointer.c | 213 - .../SetFilePointer/test7/SetFilePointer.cpp | 213 + .../file_io/SetFileTime/test1/CMakeLists.txt | 2 +- .../file_io/SetFileTime/test1/SetFileTime.c | 129 - .../file_io/SetFileTime/test1/SetFileTime.cpp | 129 + .../file_io/SetFileTime/test2/CMakeLists.txt | 2 +- .../file_io/SetFileTime/test2/SetFileTime.c | 101 - .../file_io/SetFileTime/test2/SetFileTime.cpp | 101 + .../file_io/SetFileTime/test3/CMakeLists.txt | 2 +- .../file_io/SetFileTime/test3/SetFileTime.c | 66 - .../file_io/SetFileTime/test3/SetFileTime.cpp | 66 + .../file_io/SetFileTime/test4/CMakeLists.txt | 2 +- .../file_io/SetFileTime/test4/SetFileTime.c | 108 - .../file_io/SetFileTime/test4/SetFileTime.cpp | 108 + .../file_io/WriteFile/test1/CMakeLists.txt | 2 +- .../palsuite/file_io/WriteFile/test1/WriteFile.c | 114 - .../palsuite/file_io/WriteFile/test1/WriteFile.cpp | 114 + .../file_io/WriteFile/test2/CMakeLists.txt | 2 +- .../palsuite/file_io/WriteFile/test2/WriteFile.c | 109 - .../palsuite/file_io/WriteFile/test2/WriteFile.cpp | 109 + .../file_io/WriteFile/test3/CMakeLists.txt | 2 +- .../palsuite/file_io/WriteFile/test3/WriteFile.c | 136 - .../palsuite/file_io/WriteFile/test3/WriteFile.cpp | 136 + .../file_io/WriteFile/test4/CMakeLists.txt | 2 +- .../palsuite/file_io/WriteFile/test4/writefile.c | 155 - .../palsuite/file_io/WriteFile/test4/writefile.cpp | 155 + .../file_io/WriteFile/test5/CMakeLists.txt | 2 +- .../palsuite/file_io/WriteFile/test5/writefile.c | 117 - .../palsuite/file_io/WriteFile/test5/writefile.cpp | 117 + .../file_io/errorpathnotfound/test1/CMakeLists.txt | 2 +- .../file_io/errorpathnotfound/test1/test1.c | 783 - .../file_io/errorpathnotfound/test1/test1.cpp | 783 + .../file_io/errorpathnotfound/test2/CMakeLists.txt | 2 +- .../file_io/errorpathnotfound/test2/test2.c | 785 - .../file_io/errorpathnotfound/test2/test2.cpp | 785 + .../file_io/errorpathnotfound/test3/CMakeLists.txt | 2 +- .../file_io/errorpathnotfound/test3/test3.c | 244 - .../file_io/errorpathnotfound/test3/test3.cpp | 244 + .../file_io/errorpathnotfound/test4/CMakeLists.txt | 2 +- .../file_io/errorpathnotfound/test4/test4.c | 351 - .../file_io/errorpathnotfound/test4/test4.cpp | 351 + .../file_io/gettemppatha/test1/CMakeLists.txt | 2 +- .../file_io/gettemppatha/test1/gettemppatha.c | 103 - .../file_io/gettemppatha/test1/gettemppatha.cpp | 103 + .../palsuite/filemapping_memmgt/CMakeLists.txt | 2 +- .../CreateFileMappingA/test1/CMakeLists.txt | 2 +- .../CreateFileMappingA/test1/CreateFileMapping.c | 173 - .../CreateFileMappingA/test1/CreateFileMapping.cpp | 173 + .../CreateFileMappingA/test3/CMakeLists.txt | 2 +- .../CreateFileMappingA/test3/CreateFileMapping.c | 155 - .../CreateFileMappingA/test3/CreateFileMapping.cpp | 155 + .../CreateFileMappingA/test4/CMakeLists.txt | 2 +- .../CreateFileMappingA/test4/CreateFileMapping.c | 181 - .../CreateFileMappingA/test4/CreateFileMapping.cpp | 181 + .../CreateFileMappingA/test5/CMakeLists.txt | 2 +- .../CreateFileMappingA/test5/CreateFileMapping.c | 193 - .../CreateFileMappingA/test5/CreateFileMapping.cpp | 193 + .../CreateFileMappingA/test6/CMakeLists.txt | 2 +- .../CreateFileMappingA/test6/CreateFileMapping.c | 164 - .../CreateFileMappingA/test6/CreateFileMapping.cpp | 164 + .../CreateFileMappingA/test7/CMakeLists.txt | 2 +- .../CreateFileMappingA/test7/createfilemapping.c | 164 - .../CreateFileMappingA/test7/createfilemapping.cpp | 164 + .../CreateFileMappingA/test8/CMakeLists.txt | 2 +- .../CreateFileMappingA/test8/createfilemapping.c | 79 - .../CreateFileMappingA/test8/createfilemapping.cpp | 79 + .../CreateFileMappingA/test9/CMakeLists.txt | 2 +- .../CreateFileMappingA/test9/createfilemapping.c | 150 - .../CreateFileMappingA/test9/createfilemapping.cpp | 150 + .../CreateFileMapping_neg1/CMakeLists.txt | 2 +- .../CreateFileMapping_neg1/CreateFileMapping_neg.c | 93 - .../CreateFileMapping_neg.cpp | 93 + .../CreateFileMappingW/test1/CMakeLists.txt | 2 +- .../CreateFileMappingW/test1/CreateFileMappingW.c | 174 - .../test1/CreateFileMappingW.cpp | 174 + .../CreateFileMappingW/test2/CMakeLists.txt | 2 +- .../CreateFileMappingW/test2/CreateFileMappingW.c | 124 - .../test2/CreateFileMappingW.cpp | 124 + .../CreateFileMappingW/test3/CMakeLists.txt | 2 +- .../CreateFileMappingW/test3/CreateFileMappingW.c | 156 - .../test3/CreateFileMappingW.cpp | 156 + .../CreateFileMappingW/test4/CMakeLists.txt | 2 +- .../CreateFileMappingW/test4/CreateFileMappingW.c | 182 - .../test4/CreateFileMappingW.cpp | 182 + .../CreateFileMappingW/test5/CMakeLists.txt | 2 +- .../CreateFileMappingW/test5/CreateFileMappingW.c | 194 - .../test5/CreateFileMappingW.cpp | 194 + .../CreateFileMappingW/test6/CMakeLists.txt | 2 +- .../CreateFileMappingW/test6/CreateFileMappingW.c | 165 - .../test6/CreateFileMappingW.cpp | 165 + .../CreateFileMappingW/test7/CMakeLists.txt | 2 +- .../CreateFileMappingW/test7/createfilemapping.c | 165 - .../CreateFileMappingW/test7/createfilemapping.cpp | 165 + .../CreateFileMappingW/test8/CMakeLists.txt | 2 +- .../CreateFileMappingW/test8/createfilemapping.c | 82 - .../CreateFileMappingW/test8/createfilemapping.cpp | 82 + .../CreateFileMappingW/test9/CMakeLists.txt | 2 +- .../CreateFileMappingW/test9/createfilemapping.c | 151 - .../CreateFileMappingW/test9/createfilemapping.cpp | 151 + .../FreeLibrary/test1/CMakeLists.txt | 4 +- .../FreeLibrary/test1/FreeLibrary.c | 128 - .../FreeLibrary/test1/FreeLibrary.cpp | 128 + .../filemapping_memmgt/FreeLibrary/test1/dlltest.c | 32 - .../FreeLibrary/test1/dlltest.cpp | 32 + .../FreeLibrary/test2/CMakeLists.txt | 2 +- .../filemapping_memmgt/FreeLibrary/test2/test2.c | 52 - .../filemapping_memmgt/FreeLibrary/test2/test2.cpp | 52 + .../FreeLibraryAndExitThread/test1/CMakeLists.txt | 4 +- .../FreeLibraryAndExitThread/test1/dlltest.c | 32 - .../FreeLibraryAndExitThread/test1/dlltest.cpp | 32 + .../FreeLibraryAndExitThread/test1/test1.c | 183 - .../FreeLibraryAndExitThread/test1/test1.cpp | 183 + .../GetModuleFileNameA/test1/CMakeLists.txt | 2 +- .../GetModuleFileNameA/test1/GetModuleFileNameA.c | 92 - .../test1/GetModuleFileNameA.cpp | 92 + .../GetModuleFileNameA/test2/CMakeLists.txt | 2 +- .../GetModuleFileNameA/test2/GetModuleFileNameA.c | 49 - .../test2/GetModuleFileNameA.cpp | 49 + .../GetModuleFileNameW/test1/CMakeLists.txt | 2 +- .../GetModuleFileNameW/test1/GetModuleFileNameW.c | 112 - .../test1/GetModuleFileNameW.cpp | 112 + .../GetModuleFileNameW/test2/CMakeLists.txt | 2 +- .../GetModuleFileNameW/test2/GetModuleFileNameW.c | 57 - .../test2/GetModuleFileNameW.cpp | 57 + .../GetProcAddress/test1/CMakeLists.txt | 4 +- .../GetProcAddress/test1/test1.c | 111 - .../GetProcAddress/test1/test1.cpp | 111 + .../GetProcAddress/test1/testlib.c | 33 - .../GetProcAddress/test1/testlib.cpp | 33 + .../GetProcAddress/test2/CMakeLists.txt | 4 +- .../GetProcAddress/test2/test2.c | 152 - .../GetProcAddress/test2/test2.cpp | 152 + .../GetProcAddress/test2/testlib.c | 33 - .../GetProcAddress/test2/testlib.cpp | 33 + .../GetProcessHeap/test1/CMakeLists.txt | 2 +- .../GetProcessHeap/test1/GetProcessHeap.c | 39 - .../GetProcessHeap/test1/GetProcessHeap.cpp | 39 + .../HeapAlloc/test1/CMakeLists.txt | 2 +- .../filemapping_memmgt/HeapAlloc/test1/HeapAlloc.c | 100 - .../HeapAlloc/test1/HeapAlloc.cpp | 100 + .../HeapAlloc/test2/CMakeLists.txt | 2 +- .../filemapping_memmgt/HeapAlloc/test2/HeapAlloc.c | 59 - .../HeapAlloc/test2/HeapAlloc.cpp | 59 + .../HeapAlloc/test3/CMakeLists.txt | 2 +- .../filemapping_memmgt/HeapAlloc/test3/HeapAlloc.c | 62 - .../HeapAlloc/test3/HeapAlloc.cpp | 62 + .../HeapFree/test1/CMakeLists.txt | 2 +- .../filemapping_memmgt/HeapFree/test1/HeapFree.c | 62 - .../filemapping_memmgt/HeapFree/test1/HeapFree.cpp | 62 + .../HeapReAlloc/test1/CMakeLists.txt | 2 +- .../filemapping_memmgt/HeapReAlloc/test1/test1.c | 72 - .../filemapping_memmgt/HeapReAlloc/test1/test1.cpp | 72 + .../HeapReAlloc/test2/CMakeLists.txt | 2 +- .../filemapping_memmgt/HeapReAlloc/test2/test2.c | 79 - .../filemapping_memmgt/HeapReAlloc/test2/test2.cpp | 79 + .../HeapReAlloc/test3/CMakeLists.txt | 2 +- .../filemapping_memmgt/HeapReAlloc/test3/test3.c | 78 - .../filemapping_memmgt/HeapReAlloc/test3/test3.cpp | 78 + .../HeapReAlloc/test4/CMakeLists.txt | 2 +- .../filemapping_memmgt/HeapReAlloc/test4/test4.c | 80 - .../filemapping_memmgt/HeapReAlloc/test4/test4.cpp | 80 + .../HeapReAlloc/test5/CMakeLists.txt | 2 +- .../filemapping_memmgt/HeapReAlloc/test5/test5.c | 69 - .../filemapping_memmgt/HeapReAlloc/test5/test5.cpp | 69 + .../LocalAlloc/test1/CMakeLists.txt | 2 +- .../LocalAlloc/test1/LocalAlloc.c | 49 - .../LocalAlloc/test1/LocalAlloc.cpp | 49 + .../LocalFree/test1/CMakeLists.txt | 2 +- .../filemapping_memmgt/LocalFree/test1/LocalFree.c | 49 - .../LocalFree/test1/LocalFree.cpp | 49 + .../LocalFree/test2/CMakeLists.txt | 2 +- .../filemapping_memmgt/LocalFree/test2/LocalFree.c | 39 - .../LocalFree/test2/LocalFree.cpp | 39 + .../LockFile/test1/CMakeLists.txt | 4 +- .../filemapping_memmgt/LockFile/test1/helper.c | 86 - .../filemapping_memmgt/LockFile/test1/helper.cpp | 86 + .../filemapping_memmgt/LockFile/test1/test1.c | 140 - .../filemapping_memmgt/LockFile/test1/test1.cpp | 140 + .../LockFile/test2/CMakeLists.txt | 2 +- .../filemapping_memmgt/LockFile/test2/test2.c | 94 - .../filemapping_memmgt/LockFile/test2/test2.cpp | 94 + .../LockFile/test3/CMakeLists.txt | 4 +- .../filemapping_memmgt/LockFile/test3/helper.c | 102 - .../filemapping_memmgt/LockFile/test3/helper.cpp | 102 + .../filemapping_memmgt/LockFile/test3/test3.c | 71 - .../filemapping_memmgt/LockFile/test3/test3.cpp | 71 + .../LockFile/test4/CMakeLists.txt | 2 +- .../filemapping_memmgt/LockFile/test4/test4.c | 231 - .../filemapping_memmgt/LockFile/test4/test4.cpp | 231 + .../LockFile/test5/CMakeLists.txt | 4 +- .../filemapping_memmgt/LockFile/test5/helper.c | 122 - .../filemapping_memmgt/LockFile/test5/helper.cpp | 122 + .../filemapping_memmgt/LockFile/test5/test5.c | 161 - .../filemapping_memmgt/LockFile/test5/test5.cpp | 161 + .../LockFile/test6/CMakeLists.txt | 4 +- .../filemapping_memmgt/LockFile/test6/helper.c | 71 - .../filemapping_memmgt/LockFile/test6/helper.cpp | 71 + .../filemapping_memmgt/LockFile/test6/test6.c | 146 - .../filemapping_memmgt/LockFile/test6/test6.cpp | 146 + .../LockFile/test7/CMakeLists.txt | 2 +- .../filemapping_memmgt/LockFile/test7/test7.c | 135 - .../filemapping_memmgt/LockFile/test7/test7.cpp | 135 + .../MapViewOfFile/test1/CMakeLists.txt | 2 +- .../MapViewOfFile/test1/MapViewOfFile.c | 226 - .../MapViewOfFile/test1/MapViewOfFile.cpp | 226 + .../MapViewOfFile/test2/CMakeLists.txt | 2 +- .../MapViewOfFile/test2/MapViewOfFile.c | 203 - .../MapViewOfFile/test2/MapViewOfFile.cpp | 203 + .../MapViewOfFile/test3/CMakeLists.txt | 2 +- .../MapViewOfFile/test3/MapViewOfFile.c | 209 - .../MapViewOfFile/test3/MapViewOfFile.cpp | 209 + .../MapViewOfFile/test4/CMakeLists.txt | 2 +- .../MapViewOfFile/test4/mapviewoffile.c | 166 - .../MapViewOfFile/test4/mapviewoffile.cpp | 166 + .../MapViewOfFile/test5/CMakeLists.txt | 2 +- .../MapViewOfFile/test5/mapviewoffile.c | 131 - .../MapViewOfFile/test5/mapviewoffile.cpp | 131 + .../MapViewOfFile/test6/CMakeLists.txt | 2 +- .../MapViewOfFile/test6/mapviewoffile.c | 85 - .../MapViewOfFile/test6/mapviewoffile.cpp | 85 + .../OpenFileMappingA/test1/CMakeLists.txt | 2 +- .../OpenFileMappingA/test1/OpenFileMappingA.c | 157 - .../OpenFileMappingA/test1/OpenFileMappingA.cpp | 157 + .../OpenFileMappingA/test2/CMakeLists.txt | 2 +- .../OpenFileMappingA/test2/OpenFileMappingA.c | 214 - .../OpenFileMappingA/test2/OpenFileMappingA.cpp | 214 + .../OpenFileMappingA/test3/CMakeLists.txt | 2 +- .../OpenFileMappingA/test3/OpenFileMappingA.c | 217 - .../OpenFileMappingA/test3/OpenFileMappingA.cpp | 217 + .../OpenFileMappingW/test1/CMakeLists.txt | 2 +- .../OpenFileMappingW/test1/OpenFileMappingW.c | 155 - .../OpenFileMappingW/test1/OpenFileMappingW.cpp | 155 + .../OpenFileMappingW/test2/CMakeLists.txt | 2 +- .../OpenFileMappingW/test2/OpenFileMappingW.c | 217 - .../OpenFileMappingW/test2/OpenFileMappingW.cpp | 217 + .../OpenFileMappingW/test3/CMakeLists.txt | 2 +- .../OpenFileMappingW/test3/OpenFileMappingW.c | 210 - .../OpenFileMappingW/test3/OpenFileMappingW.cpp | 210 + .../filemapping_memmgt/ProbeMemory/CMakeLists.txt | 5 + .../ProbeMemory/ProbeMemory_neg1/CMakeLists.txt | 19 + .../ProbeMemory_neg1/ProbeMemory_neg.cpp | 95 + .../ProbeMemory/ProbeMemory_neg1/testinfo.dat | 12 + .../ProbeMemory/test1/CMakeLists.txt | 19 + .../ProbeMemory/test1/ProbeMemory.cpp | 94 + .../ProbeMemory/test1/testinfo.dat | 12 + .../ReadProcessMemory/CMakeLists.txt | 6 - .../ReadProcessMemory_neg1/CMakeLists.txt | 19 - .../ReadProcessMemory_neg1/ReadProcessMemory_neg.c | 127 - .../ReadProcessMemory_neg1/testinfo.dat | 12 - .../ReadProcessMemory/test1/CMakeLists.txt | 19 - .../ReadProcessMemory/test1/ReadProcessMemory.c | 126 - .../ReadProcessMemory/test1/testinfo.dat | 12 - .../ReadProcessMemory/test2/CMakeLists.txt | 36 - .../ReadProcessMemory/test2/commonconsts.h | 48 - .../ReadProcessMemory/test2/helper.c | 249 - .../ReadProcessMemory/test2/test2.c | 258 - .../ReadProcessMemory/test2/testinfo.dat | 18 - .../RtlMoveMemory/test1/CMakeLists.txt | 2 +- .../filemapping_memmgt/RtlMoveMemory/test1/test1.c | 56 - .../RtlMoveMemory/test1/test1.cpp | 56 + .../RtlMoveMemory/test3/CMakeLists.txt | 2 +- .../filemapping_memmgt/RtlMoveMemory/test3/test3.c | 72 - .../RtlMoveMemory/test3/test3.cpp | 72 + .../RtlMoveMemory/test4/CMakeLists.txt | 2 +- .../filemapping_memmgt/RtlMoveMemory/test4/test4.c | 76 - .../RtlMoveMemory/test4/test4.cpp | 76 + .../RtlMoveMemory/test5/CMakeLists.txt | 2 +- .../filemapping_memmgt/RtlMoveMemory/test5/test5.c | 63 - .../RtlMoveMemory/test5/test5.cpp | 63 + .../UnlockFile/test1/CMakeLists.txt | 4 +- .../filemapping_memmgt/UnlockFile/test1/helper.c | 92 - .../filemapping_memmgt/UnlockFile/test1/helper.cpp | 92 + .../filemapping_memmgt/UnlockFile/test1/test1.c | 154 - .../filemapping_memmgt/UnlockFile/test1/test1.cpp | 154 + .../UnlockFile/test2/CMakeLists.txt | 2 +- .../filemapping_memmgt/UnlockFile/test2/test2.c | 154 - .../filemapping_memmgt/UnlockFile/test2/test2.cpp | 154 + .../UnlockFile/test3/CMakeLists.txt | 4 +- .../filemapping_memmgt/UnlockFile/test3/helper.c | 103 - .../filemapping_memmgt/UnlockFile/test3/helper.cpp | 103 + .../filemapping_memmgt/UnlockFile/test3/test3.c | 142 - .../filemapping_memmgt/UnlockFile/test3/test3.cpp | 142 + .../UnlockFile/test4/CMakeLists.txt | 2 +- .../filemapping_memmgt/UnlockFile/test4/test4.c | 187 - .../filemapping_memmgt/UnlockFile/test4/test4.cpp | 187 + .../UnmapViewOfFile/test1/CMakeLists.txt | 2 +- .../UnmapViewOfFile/test1/UnmapViewOfFile.c | 184 - .../UnmapViewOfFile/test1/UnmapViewOfFile.cpp | 184 + .../UnmapViewOfFile/test2/CMakeLists.txt | 2 +- .../UnmapViewOfFile/test2/unmapviewoffile.c | 42 - .../UnmapViewOfFile/test2/unmapviewoffile.cpp | 42 + .../filemapping_memmgt/VirtualAlloc/CMakeLists.txt | 1 + .../VirtualAlloc/test1/CMakeLists.txt | 2 +- .../VirtualAlloc/test1/VirtualAlloc.c | 50 - .../VirtualAlloc/test1/VirtualAlloc.cpp | 50 + .../VirtualAlloc/test10/CMakeLists.txt | 2 +- .../VirtualAlloc/test10/VirtualAlloc.c | 48 - .../VirtualAlloc/test10/VirtualAlloc.cpp | 48 + .../VirtualAlloc/test11/CMakeLists.txt | 2 +- .../VirtualAlloc/test11/VirtualAlloc.c | 49 - .../VirtualAlloc/test11/VirtualAlloc.cpp | 49 + .../VirtualAlloc/test12/CMakeLists.txt | 2 +- .../VirtualAlloc/test12/VirtualAlloc.c | 48 - .../VirtualAlloc/test12/VirtualAlloc.cpp | 48 + .../VirtualAlloc/test13/CMakeLists.txt | 2 +- .../VirtualAlloc/test13/VirtualAlloc.c | 48 - .../VirtualAlloc/test13/VirtualAlloc.cpp | 48 + .../VirtualAlloc/test14/CMakeLists.txt | 2 +- .../VirtualAlloc/test14/VirtualAlloc.c | 48 - .../VirtualAlloc/test14/VirtualAlloc.cpp | 48 + .../VirtualAlloc/test15/CMakeLists.txt | 2 +- .../VirtualAlloc/test15/VirtualAlloc.c | 48 - .../VirtualAlloc/test15/VirtualAlloc.cpp | 48 + .../VirtualAlloc/test16/CMakeLists.txt | 2 +- .../VirtualAlloc/test16/VirtualAlloc.c | 48 - .../VirtualAlloc/test16/VirtualAlloc.cpp | 48 + .../VirtualAlloc/test17/CMakeLists.txt | 2 +- .../VirtualAlloc/test17/VirtualAlloc.c | 49 - .../VirtualAlloc/test17/VirtualAlloc.cpp | 49 + .../VirtualAlloc/test18/CMakeLists.txt | 2 +- .../VirtualAlloc/test18/VirtualAlloc.c | 49 - .../VirtualAlloc/test18/VirtualAlloc.cpp | 49 + .../VirtualAlloc/test19/CMakeLists.txt | 2 +- .../VirtualAlloc/test19/VirtualAlloc.c | 51 - .../VirtualAlloc/test19/VirtualAlloc.cpp | 51 + .../VirtualAlloc/test2/CMakeLists.txt | 2 +- .../VirtualAlloc/test2/VirtualAlloc.c | 49 - .../VirtualAlloc/test2/VirtualAlloc.cpp | 49 + .../VirtualAlloc/test20/CMakeLists.txt | 2 +- .../VirtualAlloc/test20/virtualalloc.c | 50 - .../VirtualAlloc/test20/virtualalloc.cpp | 50 + .../VirtualAlloc/test21/CMakeLists.txt | 2 +- .../VirtualAlloc/test21/virtualalloc.c | 54 - .../VirtualAlloc/test21/virtualalloc.cpp | 54 + .../VirtualAlloc/test22/CMakeLists.txt | 19 + .../VirtualAlloc/test22/VirtualAlloc.cpp | 44 + .../VirtualAlloc/test22/testinfo.dat | 13 + .../VirtualAlloc/test3/CMakeLists.txt | 2 +- .../VirtualAlloc/test3/VirtualAlloc.c | 48 - .../VirtualAlloc/test3/VirtualAlloc.cpp | 48 + .../VirtualAlloc/test4/CMakeLists.txt | 2 +- .../VirtualAlloc/test4/VirtualAlloc.c | 49 - .../VirtualAlloc/test4/VirtualAlloc.cpp | 49 + .../VirtualAlloc/test5/CMakeLists.txt | 2 +- .../VirtualAlloc/test5/VirtualAlloc.c | 50 - .../VirtualAlloc/test5/VirtualAlloc.cpp | 50 + .../VirtualAlloc/test6/CMakeLists.txt | 2 +- .../VirtualAlloc/test6/VirtualAlloc.c | 48 - .../VirtualAlloc/test6/VirtualAlloc.cpp | 48 + .../VirtualAlloc/test7/CMakeLists.txt | 2 +- .../VirtualAlloc/test7/VirtualAlloc.c | 53 - .../VirtualAlloc/test7/VirtualAlloc.cpp | 53 + .../VirtualAlloc/test8/CMakeLists.txt | 2 +- .../VirtualAlloc/test8/VirtualAlloc.c | 48 - .../VirtualAlloc/test8/VirtualAlloc.cpp | 48 + .../VirtualAlloc/test9/CMakeLists.txt | 2 +- .../VirtualAlloc/test9/VirtualAlloc.c | 48 - .../VirtualAlloc/test9/VirtualAlloc.cpp | 48 + .../VirtualFree/test1/CMakeLists.txt | 2 +- .../VirtualFree/test1/VirtualFree.c | 48 - .../VirtualFree/test1/VirtualFree.cpp | 48 + .../VirtualFree/test2/CMakeLists.txt | 2 +- .../VirtualFree/test2/VirtualFree.c | 54 - .../VirtualFree/test2/VirtualFree.cpp | 54 + .../VirtualFree/test3/CMakeLists.txt | 2 +- .../VirtualFree/test3/VirtualFree.c | 53 - .../VirtualFree/test3/VirtualFree.cpp | 53 + .../VirtualProtect/test1/CMakeLists.txt | 2 +- .../VirtualProtect/test1/VirtualProtect.c | 69 - .../VirtualProtect/test1/VirtualProtect.cpp | 69 + .../VirtualProtect/test2/CMakeLists.txt | 2 +- .../VirtualProtect/test2/VirtualProtect.c | 69 - .../VirtualProtect/test2/VirtualProtect.cpp | 69 + .../VirtualProtect/test3/CMakeLists.txt | 2 +- .../VirtualProtect/test3/VirtualProtect.c | 69 - .../VirtualProtect/test3/VirtualProtect.cpp | 69 + .../VirtualProtect/test4/CMakeLists.txt | 2 +- .../VirtualProtect/test4/VirtualProtect.c | 68 - .../VirtualProtect/test4/VirtualProtect.cpp | 68 + .../VirtualProtect/test6/CMakeLists.txt | 2 +- .../VirtualProtect/test6/VirtualProtect.c | 68 - .../VirtualProtect/test6/VirtualProtect.cpp | 68 + .../VirtualProtect/test7/CMakeLists.txt | 2 +- .../VirtualProtect/test7/VirtualProtect.c | 69 - .../VirtualProtect/test7/VirtualProtect.cpp | 69 + .../VirtualQuery/test1/CMakeLists.txt | 2 +- .../VirtualQuery/test1/VirtualQuery.c | 68 - .../VirtualQuery/test1/VirtualQuery.cpp | 68 + .../loader/LoadLibraryA/test1/CMakeLists.txt | 2 +- .../loader/LoadLibraryA/test1/LoadLibraryA.c | 53 - .../loader/LoadLibraryA/test1/LoadLibraryA.cpp | 53 + .../loader/LoadLibraryA/test2/CMakeLists.txt | 2 +- .../loader/LoadLibraryA/test2/LoadLibraryA.c | 52 - .../loader/LoadLibraryA/test2/LoadLibraryA.cpp | 52 + .../palsuite/loader/LoadLibraryA/test2/MyModule.c | 19 - .../loader/LoadLibraryA/test2/MyModule.cpp | 19 + .../loader/LoadLibraryA/test3/CMakeLists.txt | 2 +- .../loader/LoadLibraryA/test3/loadlibrarya.c | 40 - .../loader/LoadLibraryA/test3/loadlibrarya.cpp | 40 + .../loader/LoadLibraryA/test5/CMakeLists.txt | 2 +- .../loader/LoadLibraryA/test5/loadlibrarya.c | 67 - .../loader/LoadLibraryA/test5/loadlibrarya.cpp | 67 + .../loader/LoadLibraryA/test6/CMakeLists.txt | 4 +- .../palsuite/loader/LoadLibraryA/test6/dlltest.c | 72 - .../palsuite/loader/LoadLibraryA/test6/dlltest.cpp | 72 + .../loader/LoadLibraryA/test6/loadlibrarya.c | 172 - .../loader/LoadLibraryA/test6/loadlibrarya.cpp | 172 + .../loader/LoadLibraryA/test7/CMakeLists.txt | 2 +- .../loader/LoadLibraryA/test7/LoadLibraryA.c | 83 - .../loader/LoadLibraryA/test7/LoadLibraryA.cpp | 83 + .../loader/LoadLibraryA/test8/CMakeLists.txt | 4 +- .../palsuite/loader/LoadLibraryA/test8/dlltest.c | 72 - .../palsuite/loader/LoadLibraryA/test8/dlltest.cpp | 72 + .../loader/LoadLibraryA/test8/loadlibrarya.c | 235 - .../loader/LoadLibraryA/test8/loadlibrarya.cpp | 235 + .../loader/LoadLibraryW/test1/CMakeLists.txt | 2 +- .../loader/LoadLibraryW/test1/LoadLibraryW.c | 62 - .../loader/LoadLibraryW/test1/LoadLibraryW.cpp | 62 + .../loader/LoadLibraryW/test2/CMakeLists.txt | 2 +- .../loader/LoadLibraryW/test2/loadlibraryw.c | 62 - .../loader/LoadLibraryW/test2/loadlibraryw.cpp | 62 + .../loader/LoadLibraryW/test3/CMakeLists.txt | 2 +- .../loader/LoadLibraryW/test3/loadlibraryw.c | 41 - .../loader/LoadLibraryW/test3/loadlibraryw.cpp | 41 + .../loader/LoadLibraryW/test5/CMakeLists.txt | 2 +- .../loader/LoadLibraryW/test5/loadlibraryw.c | 71 - .../loader/LoadLibraryW/test5/loadlibraryw.cpp | 71 + .../CompareStringA/test1/CMakeLists.txt | 2 +- .../locale_info/CompareStringA/test1/test1.c | 99 - .../locale_info/CompareStringA/test1/test1.cpp | 99 + .../CompareStringW/test1/CMakeLists.txt | 2 +- .../locale_info/CompareStringW/test1/test1.c | 99 - .../locale_info/CompareStringW/test1/test1.cpp | 99 + .../locale_info/GetACP/test1/CMakeLists.txt | 2 +- .../palsuite/locale_info/GetACP/test1/test1.c | 42 - .../palsuite/locale_info/GetACP/test1/test1.cpp | 42 + .../locale_info/GetCPInfo/test1/CMakeLists.txt | 2 +- .../palsuite/locale_info/GetCPInfo/test1/test1.c | 54 - .../palsuite/locale_info/GetCPInfo/test1/test1.cpp | 54 + .../locale_info/GetCPInfo/test2/CMakeLists.txt | 2 +- .../palsuite/locale_info/GetCPInfo/test2/test2.c | 60 - .../palsuite/locale_info/GetCPInfo/test2/test2.cpp | 60 + .../locale_info/GetCPInfo/test3/CMakeLists.txt | 2 +- .../palsuite/locale_info/GetCPInfo/test3/test3.c | 41 - .../palsuite/locale_info/GetCPInfo/test3/test3.cpp | 41 + .../GetLocaleInfoW/test1/CMakeLists.txt | 2 +- .../locale_info/GetLocaleInfoW/test1/test1.c | 89 - .../locale_info/GetLocaleInfoW/test1/test1.cpp | 89 + .../GetLocaleInfoW/test2/CMakeLists.txt | 2 +- .../locale_info/GetLocaleInfoW/test2/test2.c | 51 - .../locale_info/GetLocaleInfoW/test2/test2.cpp | 51 + .../GetStringTypeExW/test1/CMakeLists.txt | 2 +- .../locale_info/GetStringTypeExW/test1/test1.c | 54 - .../locale_info/GetStringTypeExW/test1/test1.cpp | 54 + .../GetStringTypeExW/test2/CMakeLists.txt | 2 +- .../locale_info/GetStringTypeExW/test2/test2.c | 78 - .../locale_info/GetStringTypeExW/test2/test2.cpp | 78 + .../GetSystemDefaultLangID/test1/CMakeLists.txt | 2 +- .../GetSystemDefaultLangID/test1/test1.c | 59 - .../GetSystemDefaultLangID/test1/test1.cpp | 59 + .../GetThreadLocale/test1/CMakeLists.txt | 2 +- .../locale_info/GetThreadLocale/test1/test1.c | 36 - .../locale_info/GetThreadLocale/test1/test1.cpp | 36 + .../GetTimeZoneInformation/test1/CMakeLists.txt | 2 +- .../GetTimeZoneInformation/test1/test1.c | 73 - .../GetTimeZoneInformation/test1/test1.cpp | 73 + .../GetUserDefaultLCID/test1/CMakeLists.txt | 2 +- .../locale_info/GetUserDefaultLCID/test1/test1.c | 52 - .../locale_info/GetUserDefaultLCID/test1/test1.cpp | 52 + .../GetUserDefaultLangID/test1/CMakeLists.txt | 2 +- .../locale_info/GetUserDefaultLangID/test1/test1.c | 60 - .../GetUserDefaultLangID/test1/test1.cpp | 60 + .../IsDBCSLeadByte/test1/CMakeLists.txt | 2 +- .../locale_info/IsDBCSLeadByte/test1/test1.c | 64 - .../locale_info/IsDBCSLeadByte/test1/test1.cpp | 64 + .../IsDBCSLeadByteEx/test1/CMakeLists.txt | 2 +- .../locale_info/IsDBCSLeadByteEx/test1/test1.c | 72 - .../locale_info/IsDBCSLeadByteEx/test1/test1.cpp | 72 + .../IsValidCodePage/test1/CMakeLists.txt | 2 +- .../locale_info/IsValidCodePage/test1/test1.c | 50 - .../locale_info/IsValidCodePage/test1/test1.cpp | 50 + .../IsValidCodePage/test2/CMakeLists.txt | 2 +- .../locale_info/IsValidCodePage/test2/test2.c | 51 - .../locale_info/IsValidCodePage/test2/test2.cpp | 51 + .../locale_info/IsValidLocale/test1/CMakeLists.txt | 2 +- .../locale_info/IsValidLocale/test1/test1.c | 76 - .../locale_info/IsValidLocale/test1/test1.cpp | 76 + .../MultiByteToWideChar/test1/CMakeLists.txt | 2 +- .../locale_info/MultiByteToWideChar/test1/test1.c | 81 - .../MultiByteToWideChar/test1/test1.cpp | 81 + .../MultiByteToWideChar/test2/CMakeLists.txt | 2 +- .../locale_info/MultiByteToWideChar/test2/test2.c | 68 - .../MultiByteToWideChar/test2/test2.cpp | 68 + .../MultiByteToWideChar/test3/CMakeLists.txt | 2 +- .../locale_info/MultiByteToWideChar/test3/test3.c | 73 - .../MultiByteToWideChar/test3/test3.cpp | 73 + .../MultiByteToWideChar/test4/CMakeLists.txt | 2 +- .../locale_info/MultiByteToWideChar/test4/test4.c | 230 - .../MultiByteToWideChar/test4/test4.cpp | 230 + .../SetThreadLocale/test1/CMakeLists.txt | 2 +- .../locale_info/SetThreadLocale/test1/test1.c | 50 - .../locale_info/SetThreadLocale/test1/test1.cpp | 50 + .../WideCharToMultiByte/test1/CMakeLists.txt | 2 +- .../locale_info/WideCharToMultiByte/test1/test1.c | 102 - .../WideCharToMultiByte/test1/test1.cpp | 102 + .../WideCharToMultiByte/test2/CMakeLists.txt | 2 +- .../locale_info/WideCharToMultiByte/test2/test2.c | 88 - .../WideCharToMultiByte/test2/test2.cpp | 88 + .../WideCharToMultiByte/test3/CMakeLists.txt | 2 +- .../locale_info/WideCharToMultiByte/test3/test3.c | 100 - .../WideCharToMultiByte/test3/test3.cpp | 100 + .../WideCharToMultiByte/test4/CMakeLists.txt | 2 +- .../locale_info/WideCharToMultiByte/test4/test4.c | 131 - .../WideCharToMultiByte/test4/test4.cpp | 131 + .../WideCharToMultiByte/test5/CMakeLists.txt | 2 +- .../locale_info/WideCharToMultiByte/test5/test5.c | 154 - .../WideCharToMultiByte/test5/test5.cpp | 154 + .../tests/palsuite/miscellaneous/CMakeLists.txt | 6 - .../miscellaneous/CharNextA/test1/CMakeLists.txt | 2 +- .../palsuite/miscellaneous/CharNextA/test1/test.c | 62 - .../miscellaneous/CharNextA/test1/test.cpp | 62 + .../miscellaneous/CharNextA/test2/CMakeLists.txt | 2 +- .../palsuite/miscellaneous/CharNextA/test2/test.c | 67 - .../miscellaneous/CharNextA/test2/test.cpp | 67 + .../miscellaneous/CharNextExA/test1/CMakeLists.txt | 2 +- .../miscellaneous/CharNextExA/test1/test.c | 63 - .../miscellaneous/CharNextExA/test1/test.cpp | 63 + .../miscellaneous/CharNextExA/test2/CMakeLists.txt | 2 +- .../miscellaneous/CharNextExA/test2/test.c | 66 - .../miscellaneous/CharNextExA/test2/test.cpp | 66 + .../miscellaneous/CloseHandle/test1/CMakeLists.txt | 2 +- .../miscellaneous/CloseHandle/test1/test.c | 64 - .../miscellaneous/CloseHandle/test1/test.cpp | 64 + .../miscellaneous/CloseHandle/test2/CMakeLists.txt | 2 +- .../miscellaneous/CloseHandle/test2/test.c | 46 - .../miscellaneous/CloseHandle/test2/test.cpp | 46 + .../miscellaneous/CreatePipe/test1/CMakeLists.txt | 2 +- .../miscellaneous/CreatePipe/test1/test1.c | 113 - .../miscellaneous/CreatePipe/test1/test1.cpp | 113 + .../FlushInstructionCache/test1/CMakeLists.txt | 2 +- .../FlushInstructionCache/test1/test1.c | 66 - .../FlushInstructionCache/test1/test1.cpp | 66 + .../FormatMessageW/test1/CMakeLists.txt | 2 +- .../miscellaneous/FormatMessageW/test1/test.c | 63 - .../miscellaneous/FormatMessageW/test1/test.cpp | 63 + .../FormatMessageW/test2/CMakeLists.txt | 2 +- .../miscellaneous/FormatMessageW/test2/test.c | 581 - .../miscellaneous/FormatMessageW/test2/test.cpp | 581 + .../FormatMessageW/test3/CMakeLists.txt | 2 +- .../miscellaneous/FormatMessageW/test3/test.c | 85 - .../miscellaneous/FormatMessageW/test3/test.cpp | 85 + .../FormatMessageW/test4/CMakeLists.txt | 2 +- .../miscellaneous/FormatMessageW/test4/test.c | 77 - .../miscellaneous/FormatMessageW/test4/test.cpp | 77 + .../FormatMessageW/test5/CMakeLists.txt | 2 +- .../miscellaneous/FormatMessageW/test5/test.c | 76 - .../miscellaneous/FormatMessageW/test5/test.cpp | 76 + .../FormatMessageW/test6/CMakeLists.txt | 2 +- .../miscellaneous/FormatMessageW/test6/test.c | 78 - .../miscellaneous/FormatMessageW/test6/test.cpp | 78 + .../FreeEnvironmentStringsW/test1/CMakeLists.txt | 2 +- .../FreeEnvironmentStringsW/test1/test.c | 53 - .../FreeEnvironmentStringsW/test1/test.cpp | 53 + .../FreeEnvironmentStringsW/test2/CMakeLists.txt | 2 +- .../FreeEnvironmentStringsW/test2/test.c | 71 - .../FreeEnvironmentStringsW/test2/test.cpp | 71 + .../GetCalendarInfoW/test1/CMakeLists.txt | 2 +- .../GetCalendarInfoW/test1/GetCalendarInfoW.c | 57 - .../GetCalendarInfoW/test1/GetCalendarInfoW.cpp | 57 + .../GetCalendarInfoW/test2/CMakeLists.txt | 2 +- .../GetCalendarInfoW/test2/GetCalendarInfoW.c | 79 - .../GetCalendarInfoW/test2/GetCalendarInfoW.cpp | 79 + .../GetCommandLineW/test1/CMakeLists.txt | 2 +- .../miscellaneous/GetCommandLineW/test1/test.c | 71 - .../miscellaneous/GetCommandLineW/test1/test.cpp | 71 + .../GetComputerNameW/test1/CMakeLists.txt | 2 +- .../miscellaneous/GetComputerNameW/test1/test.c | 53 - .../miscellaneous/GetComputerNameW/test1/test.cpp | 53 + .../GetDateFormatW_neg1/CMakeLists.txt | 2 +- .../GetDateFormatW_neg1/GetDateFormatW_neg.c | 85 - .../GetDateFormatW_neg1/GetDateFormatW_neg.cpp | 85 + .../GetDateFormatW_neg2/CMakeLists.txt | 2 +- .../GetDateFormatW_neg2/GetDateFormatW_neg.c | 98 - .../GetDateFormatW_neg2/GetDateFormatW_neg.cpp | 98 + .../GetDateFormatW/test1/CMakeLists.txt | 2 +- .../GetDateFormatW/test1/GetDateFormatW.c | 100 - .../GetDateFormatW/test1/GetDateFormatW.cpp | 100 + .../GetEnvironmentStringsW/test1/CMakeLists.txt | 2 +- .../GetEnvironmentStringsW/test1/test.c | 81 - .../GetEnvironmentStringsW/test1/test.cpp | 81 + .../GetEnvironmentVariableA/test1/CMakeLists.txt | 2 +- .../GetEnvironmentVariableA/test1/test.c | 84 - .../GetEnvironmentVariableA/test1/test.cpp | 84 + .../GetEnvironmentVariableA/test2/CMakeLists.txt | 2 +- .../GetEnvironmentVariableA/test2/test.c | 56 - .../GetEnvironmentVariableA/test2/test.cpp | 56 + .../GetEnvironmentVariableA/test3/CMakeLists.txt | 2 +- .../GetEnvironmentVariableA/test3/test.c | 67 - .../GetEnvironmentVariableA/test3/test.cpp | 67 + .../GetEnvironmentVariableA/test4/CMakeLists.txt | 2 +- .../GetEnvironmentVariableA/test4/test.c | 75 - .../GetEnvironmentVariableA/test4/test.cpp | 75 + .../GetEnvironmentVariableA/test5/CMakeLists.txt | 2 +- .../GetEnvironmentVariableA/test5/test5.c | 145 - .../GetEnvironmentVariableA/test5/test5.cpp | 145 + .../GetEnvironmentVariableA/test6/CMakeLists.txt | 2 +- .../GetEnvironmentVariableA/test6/test6.c | 99 - .../GetEnvironmentVariableA/test6/test6.cpp | 99 + .../GetEnvironmentVariableW/test1/CMakeLists.txt | 2 +- .../GetEnvironmentVariableW/test1/test.c | 79 - .../GetEnvironmentVariableW/test1/test.cpp | 79 + .../GetEnvironmentVariableW/test2/CMakeLists.txt | 2 +- .../GetEnvironmentVariableW/test2/test.c | 56 - .../GetEnvironmentVariableW/test2/test.cpp | 56 + .../GetEnvironmentVariableW/test3/CMakeLists.txt | 2 +- .../GetEnvironmentVariableW/test3/test.c | 71 - .../GetEnvironmentVariableW/test3/test.cpp | 71 + .../GetEnvironmentVariableW/test4/CMakeLists.txt | 2 +- .../GetEnvironmentVariableW/test4/test.c | 63 - .../GetEnvironmentVariableW/test4/test.cpp | 63 + .../GetEnvironmentVariableW/test5/CMakeLists.txt | 2 +- .../GetEnvironmentVariableW/test5/test5.c | 144 - .../GetEnvironmentVariableW/test5/test5.cpp | 144 + .../GetEnvironmentVariableW/test6/CMakeLists.txt | 2 +- .../GetEnvironmentVariableW/test6/test6.c | 99 - .../GetEnvironmentVariableW/test6/test6.cpp | 99 + .../GetLastError/test1/CMakeLists.txt | 2 +- .../miscellaneous/GetLastError/test1/test.c | 63 - .../miscellaneous/GetLastError/test1/test.cpp | 63 + .../GetSystemInfo/test1/CMakeLists.txt | 2 +- .../miscellaneous/GetSystemInfo/test1/test.c | 70 - .../miscellaneous/GetSystemInfo/test1/test.cpp | 70 + .../GetTickCount/test1/CMakeLists.txt | 2 +- .../miscellaneous/GetTickCount/test1/test.c | 58 - .../miscellaneous/GetTickCount/test1/test.cpp | 58 + .../GetUserNameW/test1/CMakeLists.txt | 2 +- .../miscellaneous/GetUserNameW/test1/test.c | 52 - .../miscellaneous/GetUserNameW/test1/test.cpp | 52 + .../GetVersionExA/test1/CMakeLists.txt | 2 +- .../miscellaneous/GetVersionExA/test1/test.c | 83 - .../miscellaneous/GetVersionExA/test1/test.cpp | 83 + .../GetVersionExW/test1/CMakeLists.txt | 2 +- .../miscellaneous/GetVersionExW/test1/test.c | 88 - .../miscellaneous/GetVersionExW/test1/test.cpp | 88 + .../IsBadCodePtr/test1/CMakeLists.txt | 2 +- .../miscellaneous/IsBadCodePtr/test1/test1.c | 60 - .../miscellaneous/IsBadCodePtr/test1/test1.cpp | 60 + .../IsBadReadPtr/test1/CMakeLists.txt | 2 +- .../miscellaneous/IsBadReadPtr/test1/test.c | 138 - .../miscellaneous/IsBadReadPtr/test1/test.cpp | 138 + .../IsBadWritePtr/test1/CMakeLists.txt | 2 +- .../miscellaneous/IsBadWritePtr/test1/test.c | 81 - .../miscellaneous/IsBadWritePtr/test1/test.cpp | 81 + .../IsBadWritePtr/test2/CMakeLists.txt | 2 +- .../miscellaneous/IsBadWritePtr/test2/test2.c | 128 - .../miscellaneous/IsBadWritePtr/test2/test2.cpp | 128 + .../IsBadWritePtr/test3/CMakeLists.txt | 2 +- .../miscellaneous/IsBadWritePtr/test3/test3.c | 58 - .../miscellaneous/IsBadWritePtr/test3/test3.cpp | 58 + .../miscellaneous/MessageBoxW/test1/CMakeLists.txt | 2 +- .../miscellaneous/MessageBoxW/test1/test.c | 81 - .../miscellaneous/MessageBoxW/test1/test.cpp | 81 + .../miscellaneous/MessageBoxW/test2/CMakeLists.txt | 2 +- .../miscellaneous/MessageBoxW/test2/test.c | 76 - .../miscellaneous/MessageBoxW/test2/test.cpp | 76 + .../SetEnvironmentVariableA/test1/CMakeLists.txt | 2 +- .../SetEnvironmentVariableA/test1/test1.c | 168 - .../SetEnvironmentVariableA/test1/test1.cpp | 168 + .../SetEnvironmentVariableA/test2/CMakeLists.txt | 2 +- .../SetEnvironmentVariableA/test2/test2.c | 85 - .../SetEnvironmentVariableA/test2/test2.cpp | 85 + .../SetEnvironmentVariableA/test3/CMakeLists.txt | 2 +- .../SetEnvironmentVariableA/test3/test3.c | 144 - .../SetEnvironmentVariableA/test3/test3.cpp | 144 + .../SetEnvironmentVariableA/test4/CMakeLists.txt | 2 +- .../SetEnvironmentVariableA/test4/test4.c | 100 - .../SetEnvironmentVariableA/test4/test4.cpp | 100 + .../SetEnvironmentVariableW/test1/CMakeLists.txt | 2 +- .../SetEnvironmentVariableW/test1/test.c | 142 - .../SetEnvironmentVariableW/test1/test.cpp | 142 + .../SetEnvironmentVariableW/test2/CMakeLists.txt | 2 +- .../SetEnvironmentVariableW/test2/test.c | 88 - .../SetEnvironmentVariableW/test2/test.cpp | 88 + .../SetEnvironmentVariableW/test3/CMakeLists.txt | 2 +- .../SetEnvironmentVariableW/test3/test3.c | 143 - .../SetEnvironmentVariableW/test3/test3.cpp | 143 + .../SetEnvironmentVariableW/test4/CMakeLists.txt | 2 +- .../SetEnvironmentVariableW/test4/test4.c | 99 - .../SetEnvironmentVariableW/test4/test4.cpp | 99 + .../SetLastError/test1/CMakeLists.txt | 2 +- .../miscellaneous/SetLastError/test1/test.c | 59 - .../miscellaneous/SetLastError/test1/test.cpp | 59 + .../miscellaneous/_i64tow/test1/CMakeLists.txt | 2 +- .../palsuite/miscellaneous/_i64tow/test1/test1.c | 76 - .../palsuite/miscellaneous/_i64tow/test1/test1.cpp | 76 + .../miscellaneous/_i64tow/test1/testinfo.dat | 6 +- .../palsuite/miscellaneous/_ui64tow/CMakeLists.txt | 5 - .../miscellaneous/_ui64tow/test1/CMakeLists.txt | 19 - .../miscellaneous/_ui64tow/test1/_ui64tow.c | 101 - .../miscellaneous/_ui64tow/test1/testinfo.dat | 12 - .../miscellaneous/_ui64tow/test2/CMakeLists.txt | 19 - .../miscellaneous/_ui64tow/test2/_ui64tow.c | 88 - .../miscellaneous/_ui64tow/test2/testinfo.dat | 13 - .../palsuite/miscellaneous/lstrcatW/CMakeLists.txt | 7 - .../miscellaneous/lstrcatW/test1/CMakeLists.txt | 19 - .../palsuite/miscellaneous/lstrcatW/test1/test.c | 59 - .../miscellaneous/lstrcatW/test1/testinfo.dat | 16 - .../miscellaneous/lstrcatW/test2/CMakeLists.txt | 19 - .../palsuite/miscellaneous/lstrcatW/test2/test2.c | 53 - .../miscellaneous/lstrcatW/test2/testinfo.dat | 12 - .../miscellaneous/lstrcatW/test3/CMakeLists.txt | 19 - .../palsuite/miscellaneous/lstrcatW/test3/test3.c | 46 - .../miscellaneous/lstrcatW/test3/testinfo.dat | 26 - .../miscellaneous/lstrcatW/test4/CMakeLists.txt | 19 - .../palsuite/miscellaneous/lstrcatW/test4/test4.c | 101 - .../miscellaneous/lstrcatW/test4/testinfo.dat | 28 - .../palsuite/miscellaneous/lstrcpyW/CMakeLists.txt | 4 - .../miscellaneous/lstrcpyW/test1/CMakeLists.txt | 19 - .../palsuite/miscellaneous/lstrcpyW/test1/test.c | 66 - .../miscellaneous/lstrcpyW/test1/testinfo.dat | 16 - .../miscellaneous/lstrcpynW/CMakeLists.txt | 4 - .../miscellaneous/lstrcpynW/test1/CMakeLists.txt | 19 - .../palsuite/miscellaneous/lstrcpynW/test1/test.c | 73 - .../miscellaneous/lstrcpynW/test1/testinfo.dat | 16 - .../miscellaneous/lstrlenA/test1/CMakeLists.txt | 2 +- .../palsuite/miscellaneous/lstrlenA/test1/test.c | 49 - .../palsuite/miscellaneous/lstrlenA/test1/test.cpp | 49 + .../miscellaneous/lstrlenW/test1/CMakeLists.txt | 2 +- .../palsuite/miscellaneous/lstrlenW/test1/test.c | 51 - .../palsuite/miscellaneous/lstrlenW/test1/test.cpp | 51 + .../queryperformancecounter/test1/CMakeLists.txt | 2 +- .../queryperformancecounter/test1/test1.c | 107 - .../queryperformancecounter/test1/test1.cpp | 107 + .../queryperformancefrequency/test1/CMakeLists.txt | 2 +- .../queryperformancefrequency/test1/test1.c | 59 - .../queryperformancefrequency/test1/test1.cpp | 59 + .../miscellaneous/wsprintfA/CMakeLists.txt | 13 - .../miscellaneous/wsprintfA/test1/CMakeLists.txt | 19 - .../palsuite/miscellaneous/wsprintfA/test1/test.c | 58 - .../miscellaneous/wsprintfA/test1/testinfo.dat | 14 - .../miscellaneous/wsprintfA/test11/CMakeLists.txt | 19 - .../palsuite/miscellaneous/wsprintfA/test11/test.c | 128 - .../miscellaneous/wsprintfA/test11/testinfo.dat | 14 - .../miscellaneous/wsprintfA/test12/CMakeLists.txt | 19 - .../palsuite/miscellaneous/wsprintfA/test12/test.c | 119 - .../miscellaneous/wsprintfA/test12/testinfo.dat | 14 - .../miscellaneous/wsprintfA/test13/CMakeLists.txt | 19 - .../palsuite/miscellaneous/wsprintfA/test13/test.c | 120 - .../miscellaneous/wsprintfA/test13/testinfo.dat | 14 - .../miscellaneous/wsprintfA/test2/CMakeLists.txt | 19 - .../palsuite/miscellaneous/wsprintfA/test2/test.c | 123 - .../miscellaneous/wsprintfA/test2/testinfo.dat | 14 - .../miscellaneous/wsprintfA/test3/CMakeLists.txt | 19 - .../palsuite/miscellaneous/wsprintfA/test3/test.c | 121 - .../miscellaneous/wsprintfA/test3/testinfo.dat | 14 - .../miscellaneous/wsprintfA/test6/CMakeLists.txt | 19 - .../palsuite/miscellaneous/wsprintfA/test6/test.c | 114 - .../miscellaneous/wsprintfA/test6/testinfo.dat | 14 - .../miscellaneous/wsprintfA/test7/CMakeLists.txt | 19 - .../palsuite/miscellaneous/wsprintfA/test7/test.c | 112 - .../miscellaneous/wsprintfA/test7/testinfo.dat | 14 - .../miscellaneous/wsprintfA/test8/CMakeLists.txt | 19 - .../palsuite/miscellaneous/wsprintfA/test8/test.c | 120 - .../miscellaneous/wsprintfA/test8/testinfo.dat | 14 - .../miscellaneous/wsprintfA/test9/CMakeLists.txt | 19 - .../palsuite/miscellaneous/wsprintfA/test9/test.c | 122 - .../miscellaneous/wsprintfA/test9/testinfo.dat | 14 - .../miscellaneous/wsprintfW/CMakeLists.txt | 13 - .../miscellaneous/wsprintfW/test1/CMakeLists.txt | 19 - .../palsuite/miscellaneous/wsprintfW/test1/test.c | 64 - .../miscellaneous/wsprintfW/test1/testinfo.dat | 14 - .../miscellaneous/wsprintfW/test11/CMakeLists.txt | 19 - .../palsuite/miscellaneous/wsprintfW/test11/test.c | 139 - .../miscellaneous/wsprintfW/test11/testinfo.dat | 14 - .../miscellaneous/wsprintfW/test12/CMakeLists.txt | 19 - .../palsuite/miscellaneous/wsprintfW/test12/test.c | 128 - .../miscellaneous/wsprintfW/test12/testinfo.dat | 14 - .../miscellaneous/wsprintfW/test13/CMakeLists.txt | 19 - .../palsuite/miscellaneous/wsprintfW/test13/test.c | 126 - .../miscellaneous/wsprintfW/test13/testinfo.dat | 14 - .../miscellaneous/wsprintfW/test2/CMakeLists.txt | 19 - .../palsuite/miscellaneous/wsprintfW/test2/test.c | 108 - .../miscellaneous/wsprintfW/test2/testinfo.dat | 14 - .../miscellaneous/wsprintfW/test3/CMakeLists.txt | 19 - .../palsuite/miscellaneous/wsprintfW/test3/test.c | 127 - .../miscellaneous/wsprintfW/test3/testinfo.dat | 14 - .../miscellaneous/wsprintfW/test6/CMakeLists.txt | 19 - .../palsuite/miscellaneous/wsprintfW/test6/test.c | 115 - .../miscellaneous/wsprintfW/test6/testinfo.dat | 14 - .../miscellaneous/wsprintfW/test7/CMakeLists.txt | 19 - .../palsuite/miscellaneous/wsprintfW/test7/test.c | 117 - .../miscellaneous/wsprintfW/test7/testinfo.dat | 14 - .../miscellaneous/wsprintfW/test8/CMakeLists.txt | 19 - .../palsuite/miscellaneous/wsprintfW/test8/test.c | 128 - .../miscellaneous/wsprintfW/test8/testinfo.dat | 14 - .../miscellaneous/wsprintfW/test9/CMakeLists.txt | 19 - .../palsuite/miscellaneous/wsprintfW/test9/test.c | 128 - .../miscellaneous/wsprintfW/test9/testinfo.dat | 14 - .../PAL_GetPALDirectoryW/test1/CMakeLists.txt | 2 +- .../test1/PAL_GetPALDirectoryW.c | 78 - .../test1/PAL_GetPALDirectoryW.cpp | 78 + .../PAL_GetUserTempDirectoryW/test1/CMakeLists.txt | 2 +- .../test1/PAL_GetUserTempDirectoryW.c | 58 - .../test1/PAL_GetUserTempDirectoryW.cpp | 58 + .../PAL_Initialize_Terminate/test1/CMakeLists.txt | 2 +- .../test1/PAL_Initialize_Terminate.c | 33 - .../test1/PAL_Initialize_Terminate.cpp | 33 + .../PAL_Initialize_Terminate/test2/CMakeLists.txt | 2 +- .../test2/pal_initialize_twice.c | 41 - .../test2/pal_initialize_twice.cpp | 41 + .../test1/CMakeLists.txt | 2 +- .../PAL_RegisterLibraryW_UnregisterLibraryW.c | 64 - .../PAL_RegisterLibraryW_UnregisterLibraryW.cpp | 64 + .../test2_neg/CMakeLists.txt | 2 +- .../test2_neg/reg_unreg_libraryw_neg.c | 62 - .../test2_neg/reg_unreg_libraryw_neg.cpp | 62 + .../pal_specific/PAL_errno/test1/CMakeLists.txt | 2 +- .../pal_specific/PAL_errno/test1/PAL_errno.c | 53 - .../pal_specific/PAL_errno/test1/PAL_errno.cpp | 53 + .../PAL_get_stderr/test1/CMakeLists.txt | 2 +- .../PAL_get_stderr/test1/PAL_get_stderr.c | 52 - .../PAL_get_stderr/test1/PAL_get_stderr.cpp | 52 + .../PAL_get_stdin/test1/CMakeLists.txt | 2 +- .../PAL_get_stdin/test1/PAL_get_stdin.c | 68 - .../PAL_get_stdin/test1/PAL_get_stdin.cpp | 68 + .../PAL_get_stdout/test1/CMakeLists.txt | 2 +- .../PAL_get_stdout/test1/PAL_get_stdout.c | 52 - .../PAL_get_stdout/test1/PAL_get_stdout.cpp | 52 + .../pal_entrypoint/test1/CMakeLists.txt | 2 +- .../pal_entrypoint/test1/pal_entrypoint.c | 54 - .../pal_entrypoint/test1/pal_entrypoint.cpp | 54 + .../pal_initializedebug/test1/CMakeLists.txt | 2 +- .../test1/pal_initializedebug.c | 36 - .../test1/pal_initializedebug.cpp | 36 + src/pal/tests/palsuite/paltestlist.txt | 226 +- .../tests/palsuite/paltestlist_to_be_reviewed.txt | 9 +- src/pal/tests/palsuite/palverify.dat | 210 +- .../tests/palsuite/samples/test1/CMakeLists.txt | 2 +- src/pal/tests/palsuite/samples/test1/test.c | 41 - src/pal/tests/palsuite/samples/test1/test.cpp | 41 + .../tests/palsuite/samples/test2/CMakeLists.txt | 2 +- src/pal/tests/palsuite/samples/test2/test.c | 48 - src/pal/tests/palsuite/samples/test2/test.cpp | 48 + .../threading/CreateEventA/test1/CMakeLists.txt | 2 +- .../palsuite/threading/CreateEventA/test1/test1.c | 95 - .../threading/CreateEventA/test1/test1.cpp | 95 + .../threading/CreateEventA/test2/CMakeLists.txt | 2 +- .../palsuite/threading/CreateEventA/test2/test2.c | 84 - .../threading/CreateEventA/test2/test2.cpp | 84 + .../threading/CreateEventA/test3/CMakeLists.txt | 2 +- .../palsuite/threading/CreateEventA/test3/test3.c | 219 - .../threading/CreateEventA/test3/test3.cpp | 219 + .../threading/CreateEventW/test1/CMakeLists.txt | 2 +- .../palsuite/threading/CreateEventW/test1/test1.c | 93 - .../threading/CreateEventW/test1/test1.cpp | 93 + .../threading/CreateEventW/test2/CMakeLists.txt | 2 +- .../palsuite/threading/CreateEventW/test2/test2.c | 85 - .../threading/CreateEventW/test2/test2.cpp | 85 + .../threading/CreateEventW/test3/CMakeLists.txt | 2 +- .../palsuite/threading/CreateEventW/test3/test3.c | 233 - .../threading/CreateEventW/test3/test3.cpp | 233 + .../CreateMutexA_ReleaseMutex/test1/CMakeLists.txt | 2 +- .../CreateMutexA_ReleaseMutex/test1/CreateMutexA.c | 345 - .../test1/CreateMutexA.cpp | 345 + .../CreateMutexA_ReleaseMutex/test2/CMakeLists.txt | 2 +- .../CreateMutexA_ReleaseMutex/test2/CreateMutexA.c | 331 - .../test2/CreateMutexA.cpp | 331 + .../CreateMutexW_ReleaseMutex/test1/CMakeLists.txt | 2 +- .../CreateMutexW_ReleaseMutex/test1/CreateMutexW.c | 345 - .../test1/CreateMutexW.cpp | 345 + .../CreateMutexW_ReleaseMutex/test2/CMakeLists.txt | 2 +- .../CreateMutexW_ReleaseMutex/test2/CreateMutexW.c | 340 - .../test2/CreateMutexW.cpp | 340 + .../threading/CreateProcessA/test1/CMakeLists.txt | 4 +- .../threading/CreateProcessA/test1/childProcess.c | 131 - .../CreateProcessA/test1/childProcess.cpp | 131 + .../threading/CreateProcessA/test1/parentProcess.c | 201 - .../CreateProcessA/test1/parentProcess.cpp | 201 + .../threading/CreateProcessA/test2/CMakeLists.txt | 4 +- .../threading/CreateProcessA/test2/childprocess.c | 69 - .../CreateProcessA/test2/childprocess.cpp | 69 + .../threading/CreateProcessA/test2/parentprocess.c | 243 - .../CreateProcessA/test2/parentprocess.cpp | 243 + .../threading/CreateProcessW/test1/CMakeLists.txt | 4 +- .../threading/CreateProcessW/test1/childProcess.c | 150 - .../CreateProcessW/test1/childProcess.cpp | 150 + .../threading/CreateProcessW/test1/parentProcess.c | 210 - .../CreateProcessW/test1/parentProcess.cpp | 210 + .../threading/CreateProcessW/test2/CMakeLists.txt | 4 +- .../threading/CreateProcessW/test2/childprocess.c | 78 - .../CreateProcessW/test2/childprocess.cpp | 78 + .../threading/CreateProcessW/test2/parentprocess.c | 245 - .../CreateProcessW/test2/parentprocess.cpp | 245 + .../test1/CMakeLists.txt | 2 +- .../test1/CreateSemaphore.c | 322 - .../test1/CreateSemaphore.cpp | 322 + .../test2/CMakeLists.txt | 2 +- .../test2/CreateSemaphore.c | 313 - .../test2/CreateSemaphore.cpp | 313 + .../test3/CMakeLists.txt | 2 +- .../test3/createsemaphore.c | 200 - .../test3/createsemaphore.cpp | 200 + .../test1/CMakeLists.txt | 2 +- .../test1/CreateSemaphore.c | 323 - .../test1/CreateSemaphore.cpp | 323 + .../test2/CMakeLists.txt | 2 +- .../test2/CreateSemaphore.c | 314 - .../test2/CreateSemaphore.cpp | 314 + .../test3/CMakeLists.txt | 2 +- .../test3/createsemaphore.c | 201 - .../test3/createsemaphore.cpp | 201 + .../threading/CreateThread/test1/CMakeLists.txt | 2 +- .../palsuite/threading/CreateThread/test1/test1.c | 119 - .../threading/CreateThread/test1/test1.cpp | 119 + .../threading/CreateThread/test2/CMakeLists.txt | 2 +- .../palsuite/threading/CreateThread/test2/test2.c | 184 - .../threading/CreateThread/test2/test2.cpp | 184 + .../threading/CreateThread/test3/CMakeLists.txt | 2 +- .../palsuite/threading/CreateThread/test3/test3.c | 101 - .../threading/CreateThread/test3/test3.cpp | 101 + .../CriticalSectionFunctions/test1/CMakeLists.txt | 2 +- .../test1/InitializeCriticalSection.c | 235 - .../test1/InitializeCriticalSection.cpp | 235 + .../CriticalSectionFunctions/test2/CMakeLists.txt | 2 +- .../CriticalSectionFunctions/test2/test2.c | 226 - .../CriticalSectionFunctions/test2/test2.cpp | 226 + .../CriticalSectionFunctions/test3/CMakeLists.txt | 2 +- .../CriticalSectionFunctions/test3/test3.c | 376 - .../CriticalSectionFunctions/test3/test3.cpp | 376 + .../CriticalSectionFunctions/test4/CMakeLists.txt | 2 +- .../CriticalSectionFunctions/test4/test4.c | 241 - .../CriticalSectionFunctions/test4/test4.cpp | 241 + .../CriticalSectionFunctions/test5/CMakeLists.txt | 2 +- .../CriticalSectionFunctions/test5/test5.c | 187 - .../CriticalSectionFunctions/test5/test5.cpp | 187 + .../CriticalSectionFunctions/test6/CMakeLists.txt | 2 +- .../CriticalSectionFunctions/test6/test6.c | 190 - .../CriticalSectionFunctions/test6/test6.cpp | 190 + .../CriticalSectionFunctions/test7/CMakeLists.txt | 2 +- .../CriticalSectionFunctions/test7/test7.c | 188 - .../CriticalSectionFunctions/test7/test7.cpp | 188 + .../CriticalSectionFunctions/test8/CMakeLists.txt | 2 +- .../CriticalSectionFunctions/test8/test8.c | 217 - .../CriticalSectionFunctions/test8/test8.cpp | 217 + .../DisableThreadLibraryCalls/test1/test1.c | 145 - .../DisableThreadLibraryCalls/test1/test1.cpp | 145 + .../DisableThreadLibraryCalls/test1/testlib.c | 47 - .../DisableThreadLibraryCalls/test1/testlib.cpp | 47 + .../DisableThreadLibraryCalls/test2/dllmain1.c | 66 - .../DisableThreadLibraryCalls/test2/dllmain1.cpp | 66 + .../DisableThreadLibraryCalls/test2/dllmain2.c | 66 - .../DisableThreadLibraryCalls/test2/dllmain2.cpp | 66 + .../DisableThreadLibraryCalls/test2/test2.c | 237 - .../DisableThreadLibraryCalls/test2/test2.cpp | 237 + .../threading/DuplicateHandle/CMakeLists.txt | 1 - .../threading/DuplicateHandle/test1/CMakeLists.txt | 2 +- .../threading/DuplicateHandle/test1/test1.c | 152 - .../threading/DuplicateHandle/test1/test1.cpp | 152 + .../DuplicateHandle/test10/CMakeLists.txt | 2 +- .../threading/DuplicateHandle/test10/test10.c | 239 - .../threading/DuplicateHandle/test10/test10.cpp | 239 + .../DuplicateHandle/test11/CMakeLists.txt | 4 +- .../DuplicateHandle/test11/childprocess.c | 74 - .../DuplicateHandle/test11/childprocess.cpp | 74 + .../threading/DuplicateHandle/test11/test11.c | 364 - .../threading/DuplicateHandle/test11/test11.cpp | 364 + .../DuplicateHandle/test12/CMakeLists.txt | 2 +- .../threading/DuplicateHandle/test12/test12.c | 129 - .../threading/DuplicateHandle/test12/test12.cpp | 129 + .../threading/DuplicateHandle/test2/CMakeLists.txt | 2 +- .../threading/DuplicateHandle/test2/test2.c | 96 - .../threading/DuplicateHandle/test2/test2.cpp | 96 + .../threading/DuplicateHandle/test3/CMakeLists.txt | 2 +- .../threading/DuplicateHandle/test3/test3.c | 123 - .../threading/DuplicateHandle/test3/test3.cpp | 123 + .../threading/DuplicateHandle/test4/CMakeLists.txt | 2 +- .../threading/DuplicateHandle/test4/test4.c | 239 - .../threading/DuplicateHandle/test4/test4.cpp | 239 + .../threading/DuplicateHandle/test5/CMakeLists.txt | 2 +- .../threading/DuplicateHandle/test5/test5.c | 145 - .../threading/DuplicateHandle/test5/test5.cpp | 145 + .../threading/DuplicateHandle/test6/CMakeLists.txt | 2 +- .../threading/DuplicateHandle/test6/test6.c | 146 - .../threading/DuplicateHandle/test6/test6.cpp | 146 + .../threading/DuplicateHandle/test7/CMakeLists.txt | 2 +- .../threading/DuplicateHandle/test7/test7.c | 149 - .../threading/DuplicateHandle/test7/test7.cpp | 149 + .../threading/DuplicateHandle/test8/CMakeLists.txt | 2 +- .../threading/DuplicateHandle/test8/test8.c | 164 - .../threading/DuplicateHandle/test8/test8.cpp | 164 + .../threading/DuplicateHandle/test9/CMakeLists.txt | 2 +- .../threading/DuplicateHandle/test9/test9.c | 127 - .../threading/DuplicateHandle/test9/test9.cpp | 127 + .../threading/ExitProcess/test1/CMakeLists.txt | 2 +- .../threading/ExitProcess/test1/ExitProcess.c | 32 - .../threading/ExitProcess/test1/ExitProcess.cpp | 32 + .../threading/ExitProcess/test2/CMakeLists.txt | 2 +- .../palsuite/threading/ExitProcess/test2/test2.c | 30 - .../palsuite/threading/ExitProcess/test2/test2.cpp | 30 + .../threading/ExitProcess/test3/CMakeLists.txt | 2 +- .../palsuite/threading/ExitProcess/test3/test3.c | 40 - .../palsuite/threading/ExitProcess/test3/test3.cpp | 40 + .../threading/ExitThread/test1/CMakeLists.txt | 2 +- .../palsuite/threading/ExitThread/test1/test1.c | 114 - .../palsuite/threading/ExitThread/test1/test1.cpp | 114 + .../threading/ExitThread/test2/CMakeLists.txt | 4 +- .../threading/ExitThread/test2/childprocess.c | 41 - .../threading/ExitThread/test2/childprocess.cpp | 41 + .../palsuite/threading/ExitThread/test2/test2.c | 168 - .../palsuite/threading/ExitThread/test2/test2.cpp | 168 + .../palsuite/threading/ExitThread/test3/dllmain.c | 65 - .../threading/ExitThread/test3/dllmain.cpp | 65 + .../palsuite/threading/ExitThread/test3/test3.c | 162 - .../palsuite/threading/ExitThread/test3/test3.cpp | 162 + .../GetCurrentProcess/test1/CMakeLists.txt | 2 +- .../threading/GetCurrentProcess/test1/process.c | 40 - .../threading/GetCurrentProcess/test1/process.cpp | 40 + .../GetCurrentProcessId/test1/CMakeLists.txt | 2 +- .../GetCurrentProcessId/test1/processId.c | 41 - .../GetCurrentProcessId/test1/processId.cpp | 41 + .../GetCurrentThread/test1/CMakeLists.txt | 2 +- .../threading/GetCurrentThread/test1/thread.c | 93 - .../threading/GetCurrentThread/test1/thread.cpp | 93 + .../GetCurrentThread/test2/CMakeLists.txt | 2 +- .../threading/GetCurrentThread/test2/test2.c | 144 - .../threading/GetCurrentThread/test2/test2.cpp | 144 + .../GetCurrentThreadId/test1/CMakeLists.txt | 2 +- .../threading/GetCurrentThreadId/test1/threadId.c | 82 - .../GetCurrentThreadId/test1/threadId.cpp | 82 + .../GetExitCodeProcess/test1/CMakeLists.txt | 4 +- .../GetExitCodeProcess/test1/childProcess.c | 31 - .../GetExitCodeProcess/test1/childProcess.cpp | 31 + .../threading/GetExitCodeProcess/test1/test1.c | 163 - .../threading/GetExitCodeProcess/test1/test1.cpp | 163 + .../threading/GetProcessTimes/test2/CMakeLists.txt | 2 +- .../threading/GetProcessTimes/test2/test2.c | 122 - .../threading/GetProcessTimes/test2/test2.cpp | 122 + .../threading/GetThreadTimes/test1/CMakeLists.txt | 2 +- .../threading/GetThreadTimes/test1/test1.c | 102 - .../threading/GetThreadTimes/test1/test1.cpp | 102 + .../threading/NamedMutex/test1/namedmutex.cpp | 12 +- .../threading/OpenEventW/test1/CMakeLists.txt | 2 +- .../palsuite/threading/OpenEventW/test1/test1.c | 134 - .../palsuite/threading/OpenEventW/test1/test1.cpp | 134 + .../threading/OpenEventW/test2/CMakeLists.txt | 2 +- .../palsuite/threading/OpenEventW/test2/test2.c | 194 - .../palsuite/threading/OpenEventW/test2/test2.cpp | 194 + .../threading/OpenEventW/test3/CMakeLists.txt | 4 +- .../threading/OpenEventW/test3/childprocess.c | 81 - .../threading/OpenEventW/test3/childprocess.cpp | 81 + .../palsuite/threading/OpenEventW/test3/test3.c | 187 - .../palsuite/threading/OpenEventW/test3/test3.cpp | 187 + .../threading/OpenEventW/test4/CMakeLists.txt | 2 +- .../palsuite/threading/OpenEventW/test4/test4.c | 112 - .../palsuite/threading/OpenEventW/test4/test4.cpp | 112 + .../threading/OpenEventW/test5/CMakeLists.txt | 2 +- .../palsuite/threading/OpenEventW/test5/test5.c | 197 - .../palsuite/threading/OpenEventW/test5/test5.cpp | 197 + .../threading/OpenProcess/test1/CMakeLists.txt | 4 +- .../threading/OpenProcess/test1/childProcess.c | 75 - .../threading/OpenProcess/test1/childProcess.cpp | 75 + .../palsuite/threading/OpenProcess/test1/test1.c | 282 - .../palsuite/threading/OpenProcess/test1/test1.cpp | 282 + .../QueryThreadCycleTime/test1/CMakeLists.txt | 2 +- .../threading/QueryThreadCycleTime/test1/test1.c | 98 - .../threading/QueryThreadCycleTime/test1/test1.cpp | 98 + .../threading/QueueUserAPC/test1/CMakeLists.txt | 2 +- .../palsuite/threading/QueueUserAPC/test1/test1.c | 313 - .../threading/QueueUserAPC/test1/test1.cpp | 313 + .../threading/QueueUserAPC/test2/CMakeLists.txt | 2 +- .../palsuite/threading/QueueUserAPC/test2/test2.c | 224 - .../threading/QueueUserAPC/test2/test2.cpp | 224 + .../threading/QueueUserAPC/test3/CMakeLists.txt | 2 +- .../palsuite/threading/QueueUserAPC/test3/test3.c | 33 - .../threading/QueueUserAPC/test3/test3.cpp | 33 + .../threading/QueueUserAPC/test4/CMakeLists.txt | 2 +- .../palsuite/threading/QueueUserAPC/test4/test4.c | 72 - .../threading/QueueUserAPC/test4/test4.cpp | 72 + .../threading/QueueUserAPC/test5/CMakeLists.txt | 2 +- .../palsuite/threading/QueueUserAPC/test5/test5.c | 200 - .../threading/QueueUserAPC/test5/test5.cpp | 200 + .../threading/QueueUserAPC/test6/CMakeLists.txt | 2 +- .../palsuite/threading/QueueUserAPC/test6/test6.c | 129 - .../threading/QueueUserAPC/test6/test6.cpp | 129 + .../threading/QueueUserAPC/test7/CMakeLists.txt | 2 +- .../palsuite/threading/QueueUserAPC/test7/test7.c | 253 - .../threading/QueueUserAPC/test7/test7.cpp | 253 + .../threading/ReleaseMutex/test3/CMakeLists.txt | 2 +- .../threading/ReleaseMutex/test3/ReleaseMutex.c | 103 - .../threading/ReleaseMutex/test3/ReleaseMutex.cpp | 103 + .../threading/ResetEvent/test1/CMakeLists.txt | 2 +- .../palsuite/threading/ResetEvent/test1/test1.c | 99 - .../palsuite/threading/ResetEvent/test1/test1.cpp | 99 + .../threading/ResetEvent/test2/CMakeLists.txt | 2 +- .../palsuite/threading/ResetEvent/test2/test2.c | 89 - .../palsuite/threading/ResetEvent/test2/test2.cpp | 89 + .../threading/ResetEvent/test3/CMakeLists.txt | 2 +- .../palsuite/threading/ResetEvent/test3/test3.c | 86 - .../palsuite/threading/ResetEvent/test3/test3.cpp | 86 + .../threading/ResetEvent/test4/CMakeLists.txt | 2 +- .../palsuite/threading/ResetEvent/test4/test4.c | 161 - .../palsuite/threading/ResetEvent/test4/test4.cpp | 161 + .../threading/ResumeThread/test1/CMakeLists.txt | 2 +- .../palsuite/threading/ResumeThread/test1/test1.c | 141 - .../threading/ResumeThread/test1/test1.cpp | 141 + .../threading/SetErrorMode/test1/CMakeLists.txt | 2 +- .../palsuite/threading/SetErrorMode/test1/test1.c | 50 - .../threading/SetErrorMode/test1/test1.cpp | 50 + .../threading/SetEvent/test1/CMakeLists.txt | 2 +- .../palsuite/threading/SetEvent/test1/test1.c | 94 - .../palsuite/threading/SetEvent/test1/test1.cpp | 94 + .../threading/SetEvent/test2/CMakeLists.txt | 2 +- .../palsuite/threading/SetEvent/test2/test2.c | 125 - .../palsuite/threading/SetEvent/test2/test2.cpp | 125 + .../threading/SetEvent/test3/CMakeLists.txt | 2 +- .../palsuite/threading/SetEvent/test3/test3.c | 85 - .../palsuite/threading/SetEvent/test3/test3.cpp | 85 + .../threading/SetEvent/test4/CMakeLists.txt | 2 +- .../palsuite/threading/SetEvent/test4/test4.c | 161 - .../palsuite/threading/SetEvent/test4/test4.cpp | 161 + .../palsuite/threading/Sleep/test1/CMakeLists.txt | 2 +- .../tests/palsuite/threading/Sleep/test1/Sleep.c | 80 - .../tests/palsuite/threading/Sleep/test1/Sleep.cpp | 80 + .../palsuite/threading/Sleep/test2/CMakeLists.txt | 2 +- .../tests/palsuite/threading/Sleep/test2/sleep.c | 73 - .../tests/palsuite/threading/Sleep/test2/sleep.cpp | 73 + .../threading/SleepEx/test1/CMakeLists.txt | 2 +- .../tests/palsuite/threading/SleepEx/test1/test1.c | 89 - .../palsuite/threading/SleepEx/test1/test1.cpp | 89 + .../threading/SleepEx/test2/CMakeLists.txt | 2 +- .../tests/palsuite/threading/SleepEx/test2/test2.c | 183 - .../palsuite/threading/SleepEx/test2/test2.cpp | 183 + .../threading/SwitchToThread/test1/CMakeLists.txt | 2 +- .../threading/SwitchToThread/test1/test1.c | 97 - .../threading/SwitchToThread/test1/test1.cpp | 97 + .../palsuite/threading/TLS/test1/CMakeLists.txt | 2 +- src/pal/tests/palsuite/threading/TLS/test1/TLS.c | 182 - src/pal/tests/palsuite/threading/TLS/test1/TLS.cpp | 182 + .../palsuite/threading/TLS/test2/CMakeLists.txt | 2 +- src/pal/tests/palsuite/threading/TLS/test2/TLS.c | 66 - src/pal/tests/palsuite/threading/TLS/test2/TLS.cpp | 66 + .../palsuite/threading/TLS/test3/CMakeLists.txt | 2 +- src/pal/tests/palsuite/threading/TLS/test3/TLS.c | 90 - src/pal/tests/palsuite/threading/TLS/test3/TLS.cpp | 90 + .../palsuite/threading/TLS/test4/CMakeLists.txt | 2 +- src/pal/tests/palsuite/threading/TLS/test4/test4.c | 137 - .../tests/palsuite/threading/TLS/test4/test4.cpp | 137 + .../palsuite/threading/TLS/test5/CMakeLists.txt | 2 +- src/pal/tests/palsuite/threading/TLS/test5/test5.c | 108 - .../tests/palsuite/threading/TLS/test5/test5.cpp | 108 + .../TLS/test6_optimizedtls/CMakeLists.txt | 2 +- .../threading/TLS/test6_optimizedtls/test.c | 190 - .../threading/TLS/test6_optimizedtls/test.cpp | 190 + .../TerminateProcess/test1/CMakeLists.txt | 2 +- .../TerminateProcess/test1/TerminateProcess.c | 41 - .../TerminateProcess/test1/TerminateProcess.cpp | 41 + .../threading/ThreadPriority/test1/CMakeLists.txt | 2 +- .../ThreadPriority/test1/ThreadPriority.c | 83 - .../ThreadPriority/test1/ThreadPriority.cpp | 83 + .../WaitForMultipleObjects/test1/CMakeLists.txt | 2 +- .../threading/WaitForMultipleObjects/test1/test1.c | 224 - .../WaitForMultipleObjects/test1/test1.cpp | 224 + .../WaitForMultipleObjectsEx/test1/CMakeLists.txt | 2 +- .../WaitForMultipleObjectsEx/test1/test1.c | 226 - .../WaitForMultipleObjectsEx/test1/test1.cpp | 226 + .../WaitForMultipleObjectsEx/test2/CMakeLists.txt | 2 +- .../WaitForMultipleObjectsEx/test2/test2.c | 188 - .../WaitForMultipleObjectsEx/test2/test2.cpp | 188 + .../WaitForMultipleObjectsEx/test3/CMakeLists.txt | 2 +- .../WaitForMultipleObjectsEx/test3/test3.c | 106 - .../WaitForMultipleObjectsEx/test3/test3.cpp | 106 + .../WaitForMultipleObjectsEx/test4/CMakeLists.txt | 2 +- .../WaitForMultipleObjectsEx/test4/test4.c | 101 - .../WaitForMultipleObjectsEx/test4/test4.cpp | 101 + .../WaitForMultipleObjectsEx/test5/CMakeLists.txt | 4 +- .../WaitForMultipleObjectsEx/test5/helper.c | 122 - .../WaitForMultipleObjectsEx/test5/helper.cpp | 122 + .../WaitForMultipleObjectsEx/test5/test5.c | 506 - .../WaitForMultipleObjectsEx/test5/test5.cpp | 506 + .../WaitForMultipleObjectsEx/test6/CMakeLists.txt | 4 +- .../WaitForMultipleObjectsEx/test6/child6.c | 211 - .../WaitForMultipleObjectsEx/test6/child6.cpp | 211 + .../WaitForMultipleObjectsEx/test6/test6.c | 709 - .../WaitForMultipleObjectsEx/test6/test6.cpp | 709 + .../WFSOExMutexTest/CMakeLists.txt | 2 +- .../WFSOExMutexTest/WFSOExMutexTest.c | 214 - .../WFSOExMutexTest/WFSOExMutexTest.cpp | 214 + .../WFSOExSemaphoreTest/CMakeLists.txt | 2 +- .../WFSOExSemaphoreTest/WFSOExSemaphoreTest.c | 184 - .../WFSOExSemaphoreTest/WFSOExSemaphoreTest.cpp | 184 + .../WFSOExThreadTest/CMakeLists.txt | 2 +- .../WFSOExThreadTest/WFSOExThreadTest.c | 204 - .../WFSOExThreadTest/WFSOExThreadTest.cpp | 204 + .../WFSOMutexTest/CMakeLists.txt | 2 +- .../WFSOMutexTest/WFSOMutexTest.c | 184 - .../WFSOMutexTest/WFSOMutexTest.cpp | 184 + .../WFSOProcessTest/CMakeLists.txt | 4 +- .../WFSOProcessTest/ChildProcess.c | 50 - .../WFSOProcessTest/ChildProcess.cpp | 50 + .../WFSOProcessTest/WFSOProcessTest.c | 119 - .../WFSOProcessTest/WFSOProcessTest.cpp | 119 + .../WFSOSemaphoreTest/CMakeLists.txt | 2 +- .../WFSOSemaphoreTest/WFSOSemaphoreTest.c | 183 - .../WFSOSemaphoreTest/WFSOSemaphoreTest.cpp | 183 + .../WFSOThreadTest/CMakeLists.txt | 2 +- .../WFSOThreadTest/WFSOThreadTest.c | 179 - .../WFSOThreadTest/WFSOThreadTest.cpp | 179 + .../WaitForSingleObject/test1/CMakeLists.txt | 2 +- .../threading/WaitForSingleObject/test1/test1.c | 121 - .../threading/WaitForSingleObject/test1/test1.cpp | 121 + .../threading/YieldProcessor/test1/CMakeLists.txt | 2 +- .../threading/YieldProcessor/test1/test1.c | 92 - .../threading/YieldProcessor/test1/test1.cpp | 92 + .../releasesemaphore/test1/CMakeLists.txt | 2 +- .../threading/releasesemaphore/test1/test.c | 68 - .../threading/releasesemaphore/test1/test.cpp | 68 + src/pal/tools/gen-buildsys-clang.sh | 19 +- src/pal/tools/gen-buildsys-win.bat | 2 +- src/palrt/path.cpp | 23 +- src/palrt/urlpars.cpp | 6 +- src/publish.proj | 13 +- src/strongname/api/common.h | 4 +- src/syncAzure.proj | 7 +- src/tools/crossgen/crossgen.cpp | 15 +- src/utilcode/CMakeLists.txt | 2 +- src/utilcode/clrhost_nodependencies.cpp | 4 +- src/utilcode/debug.cpp | 20 +- src/utilcode/fstring.cpp | 12 +- src/utilcode/longfilepathwrappers.cpp | 4 +- src/utilcode/makepath.cpp | 2 +- src/utilcode/md5.cpp | 2 +- src/utilcode/opinfo.cpp | 5 - src/utilcode/regutil.cpp | 3 +- src/utilcode/securitywrapper.cpp | 35 +- src/utilcode/splitpath.cpp | 4 +- src/utilcode/sstring.cpp | 4 +- src/utilcode/stacktrace.cpp | 4 +- src/utilcode/stresslog.cpp | 2 +- src/vm/CMakeLists.txt | 25 +- src/vm/amd64/CrtHelpers.asm | 734 +- src/vm/amd64/asmconstants.h | 4 +- src/vm/amd64/cgencpu.h | 6 +- src/vm/amd64/excepamd64.cpp | 2 +- src/vm/amd64/jitinterfaceamd64.cpp | 2 +- src/vm/amd64/umthunkstub.S | 2 +- src/vm/appdomain.cpp | 53 +- src/vm/appdomain.hpp | 14 +- src/vm/arm/asmconstants.h | 4 +- src/vm/arm/cgencpu.h | 6 +- src/vm/arm/stubs.cpp | 2 +- src/vm/assemblynative.cpp | 35 + src/vm/assemblynative.hpp | 1 + src/vm/assemblyspec.hpp | 14 + src/vm/callhelpers.cpp | 88 +- src/vm/callingconvention.h | 4 + src/vm/ceeload.cpp | 30 +- src/vm/ceeload.h | 22 +- src/vm/ceemain.cpp | 37 +- src/vm/cgensys.h | 11 +- src/vm/class.cpp | 4 + src/vm/class.h | 5 + src/vm/class.inl | 2 + src/vm/classcompat.cpp | 2 +- src/vm/classnames.h | 3 + src/vm/clrprivbinderwinrt.cpp | 11 +- src/vm/clsload.hpp | 2 +- src/vm/codeman.cpp | 158 +- src/vm/codeman.h | 46 +- src/vm/comdelegate.cpp | 128 +- src/vm/comdependenthandle.cpp | 21 + src/vm/comdependenthandle.h | 2 + src/vm/commemoryfailpoint.cpp | 2 +- src/vm/commethodrental.cpp | 4 +- src/vm/commodule.cpp | 3 +- src/vm/common.h | 2 +- src/vm/compile.cpp | 64 +- src/vm/compile.h | 2 +- src/vm/comsynchronizable.cpp | 6 +- src/vm/comthreadpool.cpp | 17 +- src/vm/comutilnative.cpp | 62 +- src/vm/constrainedexecutionregion.cpp | 5 - src/vm/constrainedexecutionregion.h | 3 + src/vm/corhost.cpp | 10 +- src/vm/crossgen/CMakeLists.txt | 7 +- .../crossgen_mscorlib/mscorlib_crossgen.nativeproj | 7 + src/vm/crossgencompile.cpp | 4 +- src/vm/crst.cpp | 4 +- src/vm/customattribute.cpp | 84 +- src/vm/dac/dacwks.targets | 1 + src/vm/dataimage.cpp | 2 + src/vm/debugdebugger.cpp | 42 +- src/vm/debughelp.cpp | 21 +- src/vm/dllimport.cpp | 22 +- src/vm/dllimportcallback.cpp | 26 +- src/vm/dllimportcallback.h | 16 +- src/vm/domainfile.cpp | 4 +- src/vm/dwreport.cpp | 2 +- src/vm/ecalllist.h | 113 +- src/vm/eedbginterfaceimpl.cpp | 4 +- src/vm/eepolicy.cpp | 2 +- src/vm/eetoprofinterfaceimpl.cpp | 164 +- src/vm/eetoprofinterfaceimpl.h | 15 +- src/vm/eetoprofinterfaceimpl.inl | 6 + src/vm/eetwain.cpp | 209 +- src/vm/encee.cpp | 15 +- src/vm/eventtrace.cpp | 37 +- src/vm/eventtracepriv.h | 5 +- src/vm/excep.cpp | 95 +- src/vm/excep.h | 7 +- src/vm/exceptionhandling.cpp | 2 +- src/vm/exceptmacros.h | 2 +- src/vm/exinfo.cpp | 8 + src/vm/exinfo.h | 2 + src/vm/finalizerthread.cpp | 28 +- src/vm/frames.cpp | 2 +- src/vm/frames.h | 8 +- src/vm/frameworkexceptionloader.cpp | 2 +- src/vm/gc.h | 5 - src/vm/gccover.cpp | 36 +- src/vm/gcenv.ee.cpp | 437 +- src/vm/gcenv.ee.h | 46 +- src/vm/gcenv.h | 2 - src/vm/gcenv.os.cpp | 67 +- src/vm/gcheaputilities.cpp | 19 + src/vm/gcheaputilities.h | 129 + src/vm/gchelpers.cpp | 89 +- src/vm/gchost.cpp | 12 +- src/vm/gcinfodecoder.cpp | 197 +- src/vm/gcinterface.h | 5 + src/vm/gcstress.h | 12 +- src/vm/gdbjit.cpp | 2124 +- src/vm/gdbjit.h | 386 +- src/vm/gdbjithelpers.h | 2 + src/vm/hash.cpp | 4 +- src/vm/i386/RedirectedHandledJITCase.asm | 2 +- src/vm/i386/asmconstants.h | 18 + src/vm/i386/asmhelpers.S | 1140 + src/vm/i386/asmhelpers.asm | 28 - src/vm/i386/cgencpu.h | 9 +- src/vm/i386/cgenx86.cpp | 79 +- src/vm/i386/excepcpu.h | 31 +- src/vm/i386/excepx86.cpp | 86 +- src/vm/i386/gmsasm.S | 28 + src/vm/i386/gmsx86.cpp | 136 +- src/vm/i386/jithelp.S | 749 + src/vm/i386/jithelp.asm | 30 + src/vm/i386/jitinterfacex86.cpp | 18 +- src/vm/i386/stublinkerx86.cpp | 27 +- src/vm/i386/stublinkerx86.h | 19 +- src/vm/i386/umthunkstub.S | 177 + src/vm/i386/unixstubs.cpp | 106 + src/vm/i386/virtualcallstubcpu.hpp | 2 +- src/vm/ilmarshalers.cpp | 2 +- src/vm/ilstubcache.cpp | 2 +- src/vm/ilstubresolver.cpp | 10 +- src/vm/ilstubresolver.h | 6 +- src/vm/interoputil.cpp | 2 +- src/vm/interpreter.cpp | 27 +- src/vm/interpreter.h | 2 +- src/vm/jithelpers.cpp | 32 +- src/vm/jitinterface.cpp | 456 +- src/vm/jitinterface.h | 24 +- src/vm/jitinterfacegen.cpp | 2 +- src/vm/marshalnative.cpp | 2 +- src/vm/marshalnative.h | 2 +- src/vm/mdaassistants.cpp | 4 +- src/vm/memberload.cpp | 2 +- src/vm/message.cpp | 2 +- src/vm/metasig.h | 3 + src/vm/method.cpp | 4 +- src/vm/method.hpp | 18 +- src/vm/methodtable.cpp | 8 +- src/vm/methodtablebuilder.cpp | 47 +- src/vm/methodtablebuilder.h | 1 + src/vm/microsoft.comservices_i.c | 16 +- src/vm/mlinfo.cpp | 4 +- src/vm/mscorlib.h | 36 +- src/vm/multicorejitplayer.cpp | 2 +- src/vm/nativeoverlapped.cpp | 24 +- src/vm/nativeoverlapped.h | 3 +- src/vm/object.cpp | 32 +- src/vm/object.h | 25 +- src/vm/prestub.cpp | 66 +- src/vm/profattach.cpp | 2 +- src/vm/profilinghelper.cpp | 2 +- src/vm/proftoeeinterfaceimpl.cpp | 368 +- src/vm/proftoeeinterfaceimpl.h | 24 +- src/vm/rcwwalker.cpp | 4 +- src/vm/readytoruninfo.cpp | 82 + src/vm/reflectioninvocation.cpp | 8 +- src/vm/reflectioninvocation.h | 6 +- src/vm/rejit.cpp | 11 +- src/vm/rexcep.h | 4 + src/vm/runtimecallablewrapper.cpp | 7 +- src/vm/safehandle.cpp | 4 +- src/vm/securityattributes.cpp | 7 +- src/vm/securitydeclarativecache.cpp | 9 +- src/vm/securityprincipal.h | 4 + src/vm/siginfo.cpp | 2 +- src/vm/stacksampler.cpp | 10 +- src/vm/stacksampler.h | 4 +- src/vm/stackwalk.cpp | 8 +- src/vm/stackwalk.h | 4 +- src/vm/stubcache.h | 2 +- src/vm/stubgen.cpp | 39 +- src/vm/stubgen.h | 2 +- src/vm/stubhelpers.cpp | 12 +- src/vm/syncblk.cpp | 16 +- src/vm/syncclean.cpp | 2 +- src/vm/testhookmgr.cpp | 2 +- src/vm/threadpoolrequest.cpp | 4 +- src/vm/threads.cpp | 133 +- src/vm/threads.h | 16 +- src/vm/threadsuspend.cpp | 70 +- src/vm/typeparse.cpp | 6 +- src/vm/typeparse.h | 7 +- src/vm/util.cpp | 40 +- src/vm/vars.cpp | 9 + src/vm/vars.hpp | 11 +- src/vm/virtualcallstub.cpp | 2 +- src/vm/vm.settings | 7 + src/vm/win32threadpool.cpp | 22 +- src/vm/win32threadpool.h | 8 +- src/vm/winrtredirector.h | 2 +- src/vm/wks/wks.targets | 1 + src/zap/zapcode.cpp | 2 +- src/zap/zapheaders.cpp | 136 +- src/zap/zapheaders.h | 34 +- src/zap/zapimage.cpp | 51 +- src/zap/zapimage.h | 2 +- src/zap/zapinfo.cpp | 71 +- src/zap/zapinfo.h | 2 +- src/zap/zapmetadata.cpp | 4 +- src/zap/zapper.cpp | 69 +- src/zap/zapreadytorun.cpp | 3 - sync.cmd | 5 +- tests/arm64/Tests.lst | 84 +- tests/build.proj | 1 + .../ConfigFilesGenerators/ConfigTemplate.txt | 32 + .../ConfigFilesGenerators/GenerateConfig.cmd | 53 + .../ConfigFilesGenerators/GenerateConfig.sh | 65 + tests/debugger_tests/ScriptGenerator/Program.cs | Bin 0 -> 8256 bytes tests/debugger_tests/ScriptGenerator/project.json | Bin 0 -> 1106 bytes tests/debugger_tests/setup-debuggertests.cmd | 119 + tests/debugger_tests/setup-debuggertests.sh | Bin 0 -> 6494 bytes tests/dir.props | 3 +- tests/helix.targets | 78 - tests/issues.targets | 65 +- tests/override.targets | 2 - tests/publishdependency.targets | 189 +- tests/runtest.cmd | 58 +- tests/runtest.proj | 50 +- tests/runtest.sh | 72 +- tests/scripts/arm32_ci_script.sh | 66 +- tests/scripts/arm64_post_build.py | 311 + tests/scripts/format.py | 46 +- tests/scripts/perf-prep.sh | 78 + tests/scripts/project.json | 23 +- tests/scripts/run-xunit-perf.cmd | 52 +- tests/scripts/run-xunit-perf.sh | 70 +- tests/setup-runtime-dependencies.cmd | 2 +- tests/setup-runtime-dependencies.sh | 4 + tests/src/CLRTest.Execute.Bash.targets | 11 +- tests/src/CLRTest.Execute.Batch.targets | 11 +- tests/src/CLRTest.Execute.targets | 1 + tests/src/CLRTest.Jit.targets | 86 + tests/src/Common/Platform/platformdefines.cpp | 4 +- tests/src/Common/Platform/platformdefines.h | 6 +- .../build_against_pkg_dependencies.csproj | 15 + .../build_against_pkg_dependencies/project.json | 32 + tests/src/Common/empty/project.json | 2 +- tests/src/Common/netcoreapp/project.json | 74 + tests/src/Common/targeting_pack_ref/project.json | 22 + .../targeting_pack_ref/targeting_pack_ref.csproj | 12 + tests/src/Common/test_dependencies/project.json | 136 +- .../test_dependencies/test_dependencies.csproj | 4 +- tests/src/Common/test_runtime/project.json | 5 +- tests/src/Common/test_runtime/test_runtime.csproj | 4 +- .../cti/system/datetime/datetimeparse1.cs | 8 +- tests/src/CoreMangLib/system/span/BasicSpanTest.cs | 804 + tests/src/GC/API/GC/GetGenerationWR2.csproj | 1 + tests/src/GC/API/GCHandleCollector/Usage.cs | 3 +- .../src/GC/Features/HeapExpansion/pluggaps.csproj | 1 + .../Framework/GCPerfTestFramework.csproj | 31 +- tests/src/GC/Performance/Framework/packages.config | 24 +- .../GC/Regressions/v2.0-rtm/494226/494226.csproj | 3 +- tests/src/GC/Scenarios/DoublinkList/dlcollect.cs | 6 + tests/src/GC/Scenarios/DoublinkList/dlstack.cs | 6 + tests/src/GC/Scenarios/DoublinkList/doublinkgen.cs | 6 + .../Scenarios/FinalizeTimeout/FinalizeTimeout.cs | 7 +- .../GC/Scenarios/ServerModel/servermodel.csproj | 1 + .../Stress/Framework/ReliabilityFramework.csproj | 2 +- tests/src/GC/Stress/Tests/dir.targets | 6 + .../ByValArray/MarshalArrayByValNative.cpp | 130 +- .../PrimitiveMarshalling/Bool/BoolNative.cpp | 2 + .../Interop/RefCharArray/RefCharArrayNative.cpp | 2 +- .../Interop/SimpleStruct/SimpleStructNative.cpp | 4 +- .../StringMarshalling/UTF8/UTF8TestNative.cpp | 4 +- .../PInvoke/MarshalStructAsParamDLL.cpp | 53 +- .../PInvoke/MarshalStructAsParamDLL.h | 173 +- tests/src/Interop/common/types.h | 4 +- tests/src/JIT/CodeGenBringUpTests/Rotate.cs | 96 +- tests/src/JIT/CodeGenBringUpTests/Shift.cs | 86 + tests/src/JIT/CodeGenBringUpTests/Shift.csproj | 40 + tests/src/JIT/Directed/pinvoke/pinvoke-examples.cs | 223 + .../JIT/Directed/pinvoke/pinvoke-examples.csproj | 44 + .../src/JIT/Methodical/fp/exgen/10w5d_cs_d.csproj | 5 +- .../src/JIT/Methodical/fp/exgen/10w5d_cs_r.csproj | 5 +- .../structs/systemvbringup/structpinvoketests.cs | 1096 +- tests/src/JIT/Methodical/structs/valuetuple.cs | 95 + tests/src/JIT/Methodical/structs/valuetuple.csproj | 41 + .../Performance/CodeQuality/BenchF/Adams/Adams.cs | 9 +- .../CodeQuality/BenchF/BenchMk2/BenchMk2.cs | 3 + .../CodeQuality/BenchF/BenchMrk/BenchMrk.cs | 3 + .../CodeQuality/BenchF/Bisect/Bisect.cs | 3 + .../Performance/CodeQuality/BenchF/DMath/DMath.cs | 3 + .../JIT/Performance/CodeQuality/BenchF/FFT/FFT.cs | 3 + .../CodeQuality/BenchF/InProd/InProd.cs | 3 + .../Performance/CodeQuality/BenchF/InvMt/InvMt.cs | 3 + .../CodeQuality/BenchF/LLoops/LLoops.cs | 3 + .../CodeQuality/BenchF/Lorenz/Lorenz.cs | 3 + .../CodeQuality/BenchF/MatInv4/MatInv4.cs | 17 +- .../Performance/CodeQuality/BenchF/NewtE/NewtE.cs | 3 + .../Performance/CodeQuality/BenchF/NewtR/NewtR.cs | 3 + .../CodeQuality/BenchF/Regula/Regula.cs | 3 + .../CodeQuality/BenchF/Romber/Romber.cs | 3 + .../CodeQuality/BenchF/Secant/Secant.cs | 3 + .../CodeQuality/BenchF/Simpsn/Simpsn.cs | 3 + .../Performance/CodeQuality/BenchF/SqMtx/SqMtx.cs | 3 + .../Performance/CodeQuality/BenchF/Trap/Trap.cs | 3 + .../CodeQuality/BenchF/Whetsto/Whetsto.cs | 3 + .../CodeQuality/BenchI/8Queens/8Queens.cs | 7 +- .../CodeQuality/BenchI/Ackermann/Ackermann.cs | 7 +- .../CodeQuality/BenchI/AddArray/AddArray.cs | 9 +- .../CodeQuality/BenchI/AddArray2/AddArray2.cs | 3 + .../CodeQuality/BenchI/Array1/Array1.cs | 3 + .../CodeQuality/BenchI/Array2/Array2.cs | 7 +- .../CodeQuality/BenchI/BenchE/BenchE.cs | 3 + .../CodeQuality/BenchI/BubbleSort/BubbleSort.cs | 7 +- .../CodeQuality/BenchI/BubbleSort2/BubbleSort2.cs | 5 +- .../CodeQuality/BenchI/CSieve/CSieve.cs | 5 +- .../JIT/Performance/CodeQuality/BenchI/Fib/Fib.cs | 7 +- .../CodeQuality/BenchI/HeapSort/HeapSort.cs | 7 +- .../CodeQuality/BenchI/IniArray/IniArray.cs | 5 +- .../CodeQuality/BenchI/LogicArray/LogicArray.cs | 5 +- .../CodeQuality/BenchI/Midpoint/Midpoint.cs | 5 +- .../CodeQuality/BenchI/MulMatrix/MulMatrix.cs | 7 +- .../CodeQuality/BenchI/NDhrystone/NDhrystone.cs | 45 +- .../CodeQuality/BenchI/Permutate/Permutate.cs | 3 + .../JIT/Performance/CodeQuality/BenchI/Pi/Pi.cs | 5 +- .../CodeQuality/BenchI/Puzzle/Puzzle.cs | 3 + .../CodeQuality/BenchI/QuickSort/QuickSort.cs | 7 +- .../CodeQuality/BenchI/TreeInsert/TreeInsert.cs | 3 + .../CodeQuality/BenchI/TreeSort/TreeSort.cs | 9 +- .../CodeQuality/BenchI/XposMatrix/XposMatrix.cs | 7 +- .../binarytrees/binarytrees.csharp.cs | 7 +- .../BenchmarksGame/fasta/fasta.csharp-2.cs | 3 + .../BenchmarksGame/fastaredux/fastaredux.csharp.cs | 3 + .../BenchmarksGame/nbody/nbody.csharp-3.cs | 3 + .../BenchmarksGame/pidigits/pi-digits.cs | 5 +- .../BenchmarksGame/spectralnorm/spectralnorm.cs | 9 +- .../CodeQuality/Inlining/ConstantArgsByte.cs | 3 + .../CodeQuality/Inlining/ConstantArgsChar.cs | 3 + .../CodeQuality/Inlining/ConstantArgsDouble.cs | 3 + .../CodeQuality/Inlining/ConstantArgsFloat.cs | 3 + .../CodeQuality/Inlining/ConstantArgsInt.cs | 3 + .../CodeQuality/Inlining/ConstantArgsLong.cs | 3 + .../CodeQuality/Inlining/ConstantArgsSByte.cs | 3 + .../CodeQuality/Inlining/ConstantArgsShort.cs | 3 + .../CodeQuality/Inlining/ConstantArgsString.cs | 3 + .../CodeQuality/Inlining/ConstantArgsUInt.cs | 3 + .../CodeQuality/Inlining/ConstantArgsULong.cs | 3 + .../CodeQuality/Inlining/ConstantArgsUShort.cs | 3 + .../CodeQuality/Inlining/InlineGCStruct.cs | 148 + .../CodeQuality/Inlining/InlineGCStruct.csproj | 44 + .../CodeQuality/Inlining/NoThrowInline.cs | 5 +- .../SIMD/ConsoleMandel/ConsoleMandel.cs | 4 +- .../CodeQuality/SIMD/RayTracer/RayTracerBench.cs | 7 +- .../CodeQuality/SIMD/SeekUnroll/SeekUnroll.cs | 159 + .../CodeQuality/SIMD/SeekUnroll/SeekUnroll.csproj | 43 + .../CodeQuality/Serialization/Deserialize.cs | 7 +- .../CodeQuality/Serialization/Serialize.cs | 5 +- .../Performance/CodeQuality/V8/Crypto/Crypto.cs | 2 +- .../CodeQuality/V8/DeltaBlue/DeltaBlue.cs | 5 +- .../CodeQuality/V8/Richards/Richards.cs | 18 +- .../Performance/RunBenchmarks/RunBenchmarks.cmd | 2 +- .../JIT/Performance/RunBenchmarks/RunBenchmarks.sh | 53 + .../CLR-x86-JIT/V2.0-RTM/b475589/b475589.il | 71 - .../CLR-x86-JIT/V2.0-RTM/b475589/b475589.ilproj | 40 - .../JitBlue/DevDiv_142976/DevDiv_142976.cs | 56 + .../JitBlue/DevDiv_142976/DevDiv_142976.csproj | 46 + .../JitBlue/DevDiv_255294/DevDiv_255294.cs | 62374 +++++++++++++++++++ .../JitBlue/DevDiv_255294/DevDiv_255294.csproj | 46 + .../JitBlue/DevDiv_278365/DevDiv_278365.cs | 49 + .../JitBlue/DevDiv_278365/DevDiv_278365.csproj | 46 + .../JitBlue/DevDiv_278369/DevDiv_278369.il | 58 + .../JitBlue/DevDiv_278369/DevDiv_278369.ilproj | 41 + .../JitBlue/DevDiv_278371/DevDiv_278371.il | 88 + .../JitBlue/DevDiv_278371/DevDiv_278371.ilproj | 41 + .../JitBlue/DevDiv_278372/DevDiv_278372.il | 156 + .../JitBlue/DevDiv_278372/DevDiv_278372.ilproj | 51 + .../JitBlue/DevDiv_278375/DevDiv_278375.cs | 131 + .../JitBlue/DevDiv_278375/DevDiv_278375.csproj | 46 + .../JitBlue/DevDiv_278376/DevDiv_278376.cs | 36 + .../JitBlue/DevDiv_278376/DevDiv_278376.csproj | 46 + .../JitBlue/DevDiv_278523/DevDiv_278523.il | 113 + .../JitBlue/DevDiv_278523/DevDiv_278523.ilproj | 41 + .../JitBlue/DevDiv_278526/DevDiv_278526.cs | 47 + .../JitBlue/DevDiv_278526/DevDiv_278526.csproj | 46 + .../JitBlue/DevDiv_279396/DevDiv_279396.il | 39 + .../JitBlue/DevDiv_279396/DevDiv_279396.ilproj | 41 + .../JitBlue/DevDiv_279829/DevDiv_279829.il | 36 + .../JitBlue/DevDiv_279829/DevDiv_279829.ilproj | 46 + .../JitBlue/DevDiv_280120/DevDiv_280120.cs | 22 + .../JitBlue/DevDiv_280120/DevDiv_280120.csproj | 56 + .../JitBlue/DevDiv_280123/DevDiv_280123.cs | 42 + .../JitBlue/DevDiv_280123/DevDiv_280123.csproj | 46 + .../JitBlue/DevDiv_280127/DevDiv_280127.cs | 37 + .../JitBlue/DevDiv_280127/DevDiv_280127.csproj | 46 + .../JitBlue/DevDiv_283795/DevDiv_283795.cs | 55 + .../JitBlue/DevDiv_283795/DevDiv_283795.csproj | 46 + .../JitBlue/DevDiv_284785/DevDiv_284785.cs | 39 + .../JitBlue/DevDiv_284785/DevDiv_284785.csproj | 46 + .../JitBlue/DevDiv_288222/DevDiv_288222.cs | 50 + .../JitBlue/DevDiv_288222/DevDiv_288222.csproj | 46 + .../JitBlue/DevDiv_359734/DevDiv_359734.il | 118 + .../JitBlue/DevDiv_359734/DevDiv_359734.ilproj | 41 + .../JitBlue/DevDiv_359736/DevDiv_359736.cs | 42 + .../JitBlue/DevDiv_359736/DevDiv_359736_d.csproj | 45 + .../JitBlue/DevDiv_359736/DevDiv_359736_do.csproj | 45 + .../JitBlue/DevDiv_359736/DevDiv_359736_r.csproj | 45 + .../JitBlue/DevDiv_359736/DevDiv_359736_ro.csproj | 45 + .../Regression/JitBlue/GitHub_7906/GitHub_7906.cs | 47 + .../JitBlue/GitHub_7906/GitHub_7906.csproj | 44 + .../Regression/JitBlue/GitHub_7907/GitHub_7907.cs | 53 + .../JitBlue/GitHub_7907/GitHub_7907.csproj | 46 + .../Regression/JitBlue/GitHub_8133/GitHub_8133.il | 112 + .../JitBlue/GitHub_8133/GitHub_8133.ilproj | 41 + .../Regression/JitBlue/GitHub_8170/GitHub_8170.cs | 23 + .../JitBlue/GitHub_8170/GitHub_8170.csproj | 46 + .../Regression/JitBlue/GitHub_8220/GitHub_8220.cs | 170 + .../JitBlue/GitHub_8220/GitHub_8220.csproj | 45 + .../Regression/JitBlue/GitHub_8231/GitHub_8231.cs | 62 + .../JitBlue/GitHub_8231/GitHub_8231.csproj | 39 + .../Regression/JitBlue/GitHub_8460/GitHub_8460.cs | 38 + .../JitBlue/GitHub_8460/GitHub_8460.csproj | 46 + .../Regression/JitBlue/GitHub_8599/GitHub_8599.cs | 42 + .../JitBlue/GitHub_8599/GitHub_8599.csproj | 46 + .../GitHub_CoreRT_2073/GitHub_CoreRT_2073.il | 55 + .../GitHub_CoreRT_2073/GitHub_CoreRT_2073.ilproj | 38 + .../VS-ia64-JIT/V2.0-Beta2/b311420/b311420.csproj | 5 +- tests/src/JIT/SIMD/Vector3Interop.cs | 6 +- tests/src/JIT/SIMD/VectorDot.cs | 7 +- tests/src/JIT/SIMD/VectorIntEquals.cs | 61 +- tests/src/JIT/SIMD/VectorUtil.cs | 2 +- tests/src/JIT/config/benchmark+roslyn/project.json | 46 +- .../JIT/config/benchmark+serialize/project.json | 43 +- tests/src/JIT/config/benchmark/project.json | 51 +- tests/src/JIT/config/extra/project.json | 34 +- tests/src/JIT/config/minimal/project.json | 12 +- tests/src/JIT/config/threading+thread/project.json | 16 +- tests/src/JIT/config/threading/project.json | 12 +- tests/src/JIT/jit64/opt/cse/HugeArray.csproj | 5 +- tests/src/JIT/jit64/verif/sniff/fg/ver_fg_13.il | 7 +- .../opt/Inline/regression/mismatch32/mismatch32.il | 6 +- .../opt/Inline/regression/mismatch64/mismatch64.il | 6 +- .../JIT/opt/Tailcall/TailcallVerifyWithPrefix.il | 30 + .../bigvtbl/bigvtbl_cs_d.csproj | 3 + .../bigvtbl/bigvtbl_cs_r.csproj | 3 + .../InterfaceFolding/Nested_I/TestCase0.il | 21 +- .../InterfaceFolding/Nested_I/TestCase1.il | 20 +- .../InterfaceFolding/Nested_I/TestCase2.il | 20 +- .../InterfaceFolding/Nested_I/TestCase3.il | 20 +- .../InterfaceFolding/Nested_I/TestCase4.il | 22 +- .../InterfaceFolding/Nested_I/TestCase5.il | 20 +- .../InterfaceFolding/Nested_I/TestCase6.il | 20 +- .../Nested_I_Nested_J/TestCase0.il | 21 +- .../Nested_I_Nested_J/TestCase1.il | 20 +- .../Nested_I_Nested_J/TestCase2.il | 20 +- .../Nested_I_Nested_J/TestCase3.il | 20 +- .../Nested_I_Nested_J/TestCase4.il | 20 +- .../Nested_I_Nested_J/TestCase5.il | 19 +- .../Nested_I_Nested_J/TestCase6.il | 18 +- .../InterfaceFolding/Nested_J/TestCase0.il | 21 +- .../InterfaceFolding/Nested_J/TestCase1.il | 20 +- .../InterfaceFolding/Nested_J/TestCase2.il | 20 +- .../InterfaceFolding/Nested_J/TestCase3.il | 20 +- .../InterfaceFolding/Nested_J/TestCase4.il | 20 +- .../InterfaceFolding/Nested_J/TestCase5.il | 20 +- .../InterfaceFolding/Nested_J/TestCase6.il | 20 +- .../Nested_J_Nested_I/TestCase0.il | 21 +- .../Nested_J_Nested_I/TestCase1.il | 20 +- .../Nested_J_Nested_I/TestCase2.il | 20 +- .../Nested_J_Nested_I/TestCase3.il | 20 +- .../Nested_J_Nested_I/TestCase4.il | 20 +- .../Nested_J_Nested_I/TestCase5.il | 20 +- .../Nested_J_Nested_I/TestCase6.il | 20 +- .../classloader/InterfaceFolding/TestCase0.il | 15 +- .../classloader/InterfaceFolding/TestCase1.il | 18 +- .../classloader/InterfaceFolding/TestCase2.il | 18 +- .../classloader/InterfaceFolding/TestCase3.il | 18 +- .../classloader/InterfaceFolding/TestCase4.il | 18 +- .../classloader/InterfaceFolding/TestCase5.il | 18 +- .../classloader/InterfaceFolding/TestCase6.il | 18 +- .../classloader/InterfaceFolding/TestCase7.il | 19 +- .../Test2_NonFriendPriInterface.csproj | 35 - .../classloader/generics/Visibility/A_Types.csproj | 35 - .../classloader/generics/Visibility/B_Types.csproj | 35 - .../regressions/549411/exploit.csproj | 1 + .../regressions/dev10_710121/dev10_710121.il | 15 +- tests/src/TestWrappersConfig/project.json | 13 +- .../FixedAddressValueType/FixedAddressValueType.cs | 60 + .../FixedAddressValueType.csproj | 44 + .../ExecuteCodeWithGuaranteedCleanup.cs | 62 + .../ExecuteCodeWithGuaranteedCleanup.csproj | 42 + .../RuntimeWrappedException.cs | 63 + .../RuntimeWrappedException.csproj | 45 + .../RuntimeWrappedException/StringThrower.il | 40 + .../RuntimeWrappedException/StringThrower.ilproj | 40 + .../compilerservices/modulector/moduleCctor.il | 110 + .../compilerservices/modulector/moduleCctor.ilproj | 40 + .../modulector/runmoduleconstructor.cs | 38 + .../modulector/runmoduleconstructor.csproj | 45 + tests/src/dir.common.props | 7 +- tests/src/dir.props | 13 +- tests/src/dir.targets | 28 +- tests/src/jit/Directed/pinvoke/pinvoke-bug.cs | 60 + tests/src/jit/Directed/pinvoke/pinvoke-bug.csproj | 44 + tests/src/performance/perflab/BlockCopyPerf.cs | 29 +- tests/src/performance/perflab/CastingPerf.cs | 644 +- tests/src/performance/perflab/CastingPerf2.cs | 34 +- tests/src/performance/perflab/DelegatePerf.cs | 144 +- tests/src/performance/perflab/EnumPerf.cs | 109 +- tests/src/performance/perflab/LowLevelPerf.cs | 1283 +- tests/src/performance/perflab/ReflectionPerf.cs | 6317 +- tests/src/performance/perflab/StackWalk.cs | 129 +- tests/src/performance/perflab/ThreadingPerf.cs | 111 +- tests/src/performance/project.json | 54 +- tests/src/readytorun/generics.cs | 92 +- tests/src/readytorun/main.cs | 14 +- tests/src/reflection/ldtoken/byrefs.il | 88 + tests/src/reflection/ldtoken/byrefs.ilproj | 35 + tests/tests.targets | 4 +- tests/testsFailingOutsideWindows.txt | 3 +- tests/testsUnsupportedOnARM32.txt | 9 +- tests/testsUnsupportedOutsideWindows.txt | 1 + tests/x86/compatjit_x86_testenv.cmd | 8 + tests/x86/legacyjit_x86_testenv.cmd | 52 + tests/x86/ryujit_x86_testenv.cmd | 58 +- tests/x86_jit32_issues.targets | 8 +- tests/x86_legacy_backend_issues.targets | 23 +- tests/xunitwrapper.targets | 2 +- verify-so.sh | 20 + 5401 files changed, 286121 insertions(+), 219297 deletions(-) delete mode 100644 .gitignore delete mode 100644 .gitmirror create mode 100644 .gitmirrorselective create mode 100644 Documentation/botr/README.md delete mode 100644 Documentation/botr/_tableOfContents.md create mode 100644 Documentation/design-docs/multi-reg-call-nodes.md create mode 100644 Documentation/workflow/EditingAndDebugging.md create mode 100644 Documentation/workflow/IssuesFeedbackEngagement.md create mode 100644 Documentation/workflow/OfficalAndDailyBuilds.md create mode 100644 Documentation/workflow/RunningTests.md create mode 100644 Documentation/workflow/UsingCoreRun.md create mode 100644 Documentation/workflow/UsingYourBuild.md create mode 100755 binclash.log create mode 100644 cross/arm/sources.list.jessie create mode 100644 cross/arm/sources.list.xenial create mode 100644 cross/arm64/sources.list.xenial create mode 100644 cross/x86/sources.list.trusty create mode 100644 cross/x86/sources.list.vivid create mode 100644 cross/x86/sources.list.wily create mode 100644 cross/x86/sources.list.xenial create mode 100644 cross/x86/toolchain.cmake create mode 100644 cross/x86/tryrun.cmake delete mode 100755 extract-from-json.py create mode 100644 init-tools.log delete mode 100644 src/.gitmirror create mode 100644 src/.gitmirrorselective create mode 100644 src/.nuget/Microsoft.NETCore.ILAsm/alpine/3.4.3/Microsoft.NETCore.ILAsm.pkgproj create mode 100644 src/.nuget/Microsoft.NETCore.ILAsm/linux/Microsoft.NETCore.ILAsm.pkgproj create mode 100644 src/.nuget/Microsoft.NETCore.ILDAsm/alpine/3.4.3/Microsoft.NETCore.ILDAsm.pkgproj create mode 100644 src/.nuget/Microsoft.NETCore.ILDAsm/linux/Microsoft.NETCore.ILDAsm.pkgproj create mode 100644 src/.nuget/Microsoft.NETCore.Jit/alpine/3.4.3/Microsoft.NETCore.Jit.pkgproj create mode 100644 src/.nuget/Microsoft.NETCore.Jit/linux/Microsoft.NETCore.Jit.pkgproj create mode 100644 src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/alpine/3.4.3/Microsoft.NETCore.Runtime.CoreCLR.pkgproj create mode 100644 src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/linux/Microsoft.NETCore.Runtime.CoreCLR.pkgproj create mode 100644 src/.nuget/Microsoft.NETCore.TestHost/alpine/3.4.3/Microsoft.NETCore.TestHost.pkgproj create mode 100644 src/.nuget/Microsoft.NETCore.TestHost/linux/Microsoft.NETCore.TestHost.pkgproj delete mode 100644 src/.nuget/optdata/project.json delete mode 100644 src/ToolBox/.gitmirror create mode 100644 src/ToolBox/.gitmirrorselective delete mode 100644 src/ToolBox/SOS/tests/OnCrash.do create mode 100644 src/ToolBox/SOS/tests/Test.cs delete mode 100644 src/ToolBox/SOS/tests/dumpil.py delete mode 100644 src/ToolBox/SOS/tests/dumpmodule.py delete mode 100644 src/ToolBox/SOS/tests/runprocess.py create mode 100644 src/ToolBox/SOS/tests/t_cmd_bpmd_clear.py create mode 100644 src/ToolBox/SOS/tests/t_cmd_bpmd_clearall.py create mode 100644 src/ToolBox/SOS/tests/t_cmd_bpmd_methoddesc.py create mode 100644 src/ToolBox/SOS/tests/t_cmd_bpmd_module_function.py create mode 100644 src/ToolBox/SOS/tests/t_cmd_bpmd_module_function_iloffset.py create mode 100644 src/ToolBox/SOS/tests/t_cmd_bpmd_nofuturemodule_module_function.py create mode 100644 src/ToolBox/SOS/tests/t_cmd_clrstack.py create mode 100644 src/ToolBox/SOS/tests/t_cmd_clrthreads.py create mode 100644 src/ToolBox/SOS/tests/t_cmd_clru.py create mode 100644 src/ToolBox/SOS/tests/t_cmd_dso.py create mode 100644 src/ToolBox/SOS/tests/t_cmd_dumpclass.py create mode 100644 src/ToolBox/SOS/tests/t_cmd_dumpheap.py create mode 100644 src/ToolBox/SOS/tests/t_cmd_dumpil.py create mode 100644 src/ToolBox/SOS/tests/t_cmd_dumplog.py create mode 100644 src/ToolBox/SOS/tests/t_cmd_dumpmd.py create mode 100644 src/ToolBox/SOS/tests/t_cmd_dumpmodule.py create mode 100644 src/ToolBox/SOS/tests/t_cmd_dumpmt.py create mode 100644 src/ToolBox/SOS/tests/t_cmd_dumpobj.py create mode 100644 src/ToolBox/SOS/tests/t_cmd_dumpstack.py create mode 100644 src/ToolBox/SOS/tests/t_cmd_eeheap.py create mode 100644 src/ToolBox/SOS/tests/t_cmd_eestack.py create mode 100644 src/ToolBox/SOS/tests/t_cmd_gcroot.py create mode 100644 src/ToolBox/SOS/tests/t_cmd_histclear.py create mode 100644 src/ToolBox/SOS/tests/t_cmd_histinit.py create mode 100644 src/ToolBox/SOS/tests/t_cmd_histobj.py create mode 100644 src/ToolBox/SOS/tests/t_cmd_histobjfind.py create mode 100644 src/ToolBox/SOS/tests/t_cmd_histroot.py create mode 100644 src/ToolBox/SOS/tests/t_cmd_ip2md.py create mode 100644 src/ToolBox/SOS/tests/t_cmd_name2ee.py create mode 100644 src/ToolBox/SOS/tests/t_cmd_pe.py create mode 100644 src/ToolBox/SOS/tests/t_cmd_sos.py create mode 100644 src/ToolBox/SOS/tests/t_cmd_soshelp.py create mode 100644 src/corefx/System.Globalization.Native/icushim.cpp create mode 100644 src/corefx/System.Globalization.Native/icushim.h create mode 100644 src/debug/ee/i386/dbghelpers.S create mode 100644 src/gc/gcenv.ee.standalone.inl create mode 100644 src/gc/gcenv.unix.cpp create mode 100644 src/gc/gcenv.windows.cpp create mode 100644 src/gc/gcinterface.ee.h create mode 100644 src/gc/gcinterface.h delete mode 100644 src/gc/sample/gcenv.unix.cpp delete mode 100644 src/gc/sample/gcenv.windows.cpp delete mode 100644 src/ilasm/prebuilt/asmparse.c create mode 100644 src/ilasm/prebuilt/asmparse.cpp delete mode 100644 src/inc/xmlparser_i.c create mode 100644 src/inc/xmlparser_i.cpp create mode 100644 src/jit/ICorJitInfo_API_names.h create mode 100644 src/jit/ICorJitInfo_API_wrapper.hpp mode change 100755 => 100644 src/jit/codegencommon.cpp create mode 100644 src/jit/codegenlinear.cpp create mode 100644 src/jit/compatjit/.gitmirror create mode 100644 src/jit/compatjit/CMakeLists.txt mode change 100755 => 100644 src/jit/ee_il_dll.cpp create mode 100644 src/jit/jitee.h create mode 100644 src/jit/legacyjit/.gitmirror create mode 100644 src/jit/legacyjit/CMakeLists.txt create mode 100644 src/mscorlib/corefx/Debug.cs create mode 100644 src/mscorlib/corefx/Interop/Unix/Interop.Errors.cs create mode 100644 src/mscorlib/corefx/Interop/Unix/Interop.IOErrors.cs create mode 100644 src/mscorlib/corefx/Interop/Unix/System.Globalization.Native/Interop.Idna.cs create mode 100644 src/mscorlib/corefx/Interop/Unix/System.Globalization.Native/Interop.Normalization.cs create mode 100644 src/mscorlib/corefx/Interop/Unix/System.Native/Interop.Close.cs create mode 100644 src/mscorlib/corefx/Interop/Unix/System.Native/Interop.FLock.cs create mode 100644 src/mscorlib/corefx/Interop/Unix/System.Native/Interop.FSync.cs create mode 100644 src/mscorlib/corefx/Interop/Unix/System.Native/Interop.FTruncate.cs create mode 100644 src/mscorlib/corefx/Interop/Unix/System.Native/Interop.Fcntl.cs create mode 100644 src/mscorlib/corefx/Interop/Unix/System.Native/Interop.GetCwd.cs create mode 100644 src/mscorlib/corefx/Interop/Unix/System.Native/Interop.GetUnixName.cs create mode 100644 src/mscorlib/corefx/Interop/Unix/System.Native/Interop.LSeek.cs create mode 100644 src/mscorlib/corefx/Interop/Unix/System.Native/Interop.MksTemps.cs create mode 100644 src/mscorlib/corefx/Interop/Unix/System.Native/Interop.Open.cs create mode 100644 src/mscorlib/corefx/Interop/Unix/System.Native/Interop.OpenFlags.cs create mode 100644 src/mscorlib/corefx/Interop/Unix/System.Native/Interop.PathConf.cs create mode 100644 src/mscorlib/corefx/Interop/Unix/System.Native/Interop.Permissions.cs create mode 100644 src/mscorlib/corefx/Interop/Unix/System.Native/Interop.PosixFAdvise.cs create mode 100644 src/mscorlib/corefx/Interop/Unix/System.Native/Interop.Read.cs create mode 100644 src/mscorlib/corefx/Interop/Unix/System.Native/Interop.Stat.cs create mode 100644 src/mscorlib/corefx/Interop/Unix/System.Native/Interop.Unlink.cs create mode 100644 src/mscorlib/corefx/Interop/Unix/System.Native/Interop.Write.cs create mode 100644 src/mscorlib/corefx/Interop/Windows/BCrypt/Interop.BCryptGenRandom.cs create mode 100644 src/mscorlib/corefx/Interop/Windows/BCrypt/Interop.NTSTATUS.cs create mode 100644 src/mscorlib/corefx/Interop/Windows/Crypt32/Interop.CryptProtectMemory.cs create mode 100644 src/mscorlib/corefx/Interop/Windows/Interop.BOOL.cs create mode 100644 src/mscorlib/corefx/Interop/Windows/Interop.Libraries.cs create mode 100644 src/mscorlib/corefx/Interop/Windows/NtDll/Interop.ZeroMemory.cs create mode 100644 src/mscorlib/corefx/Interop/Windows/mincore/Interop.CancelIoEx.cs create mode 100644 src/mscorlib/corefx/Interop/Windows/mincore/Interop.CloseHandle.cs create mode 100644 src/mscorlib/corefx/Interop/Windows/mincore/Interop.CreateFile.cs create mode 100644 src/mscorlib/corefx/Interop/Windows/mincore/Interop.Errors.cs create mode 100644 src/mscorlib/corefx/Interop/Windows/mincore/Interop.FileOperations.cs create mode 100644 src/mscorlib/corefx/Interop/Windows/mincore/Interop.FileTypes.cs create mode 100644 src/mscorlib/corefx/Interop/Windows/mincore/Interop.FlushFileBuffers.cs create mode 100644 src/mscorlib/corefx/Interop/Windows/mincore/Interop.FormatMessage.cs create mode 100644 src/mscorlib/corefx/Interop/Windows/mincore/Interop.GetFileInformationByHandleEx.cs create mode 100644 src/mscorlib/corefx/Interop/Windows/mincore/Interop.GetFileType_SafeHandle.cs create mode 100644 src/mscorlib/corefx/Interop/Windows/mincore/Interop.GetFullPathNameW.cs create mode 100644 src/mscorlib/corefx/Interop/Windows/mincore/Interop.GetLongPathNameW.cs create mode 100644 src/mscorlib/corefx/Interop/Windows/mincore/Interop.GetTempFileNameW.cs create mode 100644 src/mscorlib/corefx/Interop/Windows/mincore/Interop.GetTempPathW.cs create mode 100644 src/mscorlib/corefx/Interop/Windows/mincore/Interop.Idna.cs create mode 100644 src/mscorlib/corefx/Interop/Windows/mincore/Interop.LockFile.cs create mode 100644 src/mscorlib/corefx/Interop/Windows/mincore/Interop.ReadFile_SafeHandle_IntPtr.cs create mode 100644 src/mscorlib/corefx/Interop/Windows/mincore/Interop.ReadFile_SafeHandle_NativeOverlapped.cs create mode 100644 src/mscorlib/corefx/Interop/Windows/mincore/Interop.SECURITY_ATTRIBUTES.cs create mode 100644 src/mscorlib/corefx/Interop/Windows/mincore/Interop.SafeCreateFile.cs create mode 100644 src/mscorlib/corefx/Interop/Windows/mincore/Interop.SecurityOptions.cs create mode 100644 src/mscorlib/corefx/Interop/Windows/mincore/Interop.SetEndOfFile.cs create mode 100644 src/mscorlib/corefx/Interop/Windows/mincore/Interop.SetErrorMode.cs create mode 100644 src/mscorlib/corefx/Interop/Windows/mincore/Interop.SetFileInformationByHandle.cs create mode 100644 src/mscorlib/corefx/Interop/Windows/mincore/Interop.SetFilePointerEx.cs create mode 100644 src/mscorlib/corefx/Interop/Windows/mincore/Interop.ThreadPoolIO.cs create mode 100644 src/mscorlib/corefx/Interop/Windows/mincore/Interop.UnsafeCreateFile.cs create mode 100644 src/mscorlib/corefx/Interop/Windows/mincore/Interop.WideCharToMultiByte.cs create mode 100644 src/mscorlib/corefx/Interop/Windows/mincore/Interop.WriteFile_SafeHandle_IntPtr.cs create mode 100644 src/mscorlib/corefx/Interop/Windows/mincore/Interop.WriteFile_SafeHandle_NativeOverlapped.cs create mode 100644 src/mscorlib/corefx/Interop/Windows/oleaut32/Interop.SysAllocStringLen.cs create mode 100644 src/mscorlib/corefx/Interop/Windows/oleaut32/Interop.SysStringLen.cs create mode 100644 src/mscorlib/corefx/Microsoft/Win32/SafeHandles/SafeFileHandle.Unix.cs create mode 100644 src/mscorlib/corefx/Microsoft/Win32/SafeHandles/SafeFileHandle.Windows.cs create mode 100644 src/mscorlib/corefx/Microsoft/Win32/SafeHandles/SafeThreadPoolIOHandle.cs create mode 100644 src/mscorlib/corefx/System/Buffers/ArrayPool.cs create mode 100644 src/mscorlib/corefx/System/Buffers/ArrayPoolEventSource.cs create mode 100644 src/mscorlib/corefx/System/Buffers/ConfigurableArrayPool.cs create mode 100644 src/mscorlib/corefx/System/Buffers/TlsOverPerCoreLockedStacksArrayPool.Unix.cs create mode 100644 src/mscorlib/corefx/System/Buffers/TlsOverPerCoreLockedStacksArrayPool.Windows.cs create mode 100644 src/mscorlib/corefx/System/Buffers/TlsOverPerCoreLockedStacksArrayPool.cs create mode 100644 src/mscorlib/corefx/System/Buffers/Utilities.cs create mode 100644 src/mscorlib/corefx/System/Globalization/CalendarAlgorithmType.cs create mode 100644 src/mscorlib/corefx/System/Globalization/CultureTypes.cs create mode 100644 src/mscorlib/corefx/System/Globalization/DigitShapes.cs create mode 100644 src/mscorlib/corefx/System/Globalization/HijriCalendar.Win32.cs create mode 100644 src/mscorlib/corefx/System/Globalization/HijriCalendar.WinRT.cs delete mode 100644 src/mscorlib/corefx/System/Globalization/HijriCalendar.Windows.cs create mode 100644 src/mscorlib/corefx/System/Globalization/IdnMapping.Unix.cs create mode 100644 src/mscorlib/corefx/System/Globalization/IdnMapping.Windows.cs create mode 100644 src/mscorlib/corefx/System/Globalization/IdnMapping.cs create mode 100644 src/mscorlib/corefx/System/Globalization/JapaneseCalendar.Win32.cs create mode 100644 src/mscorlib/corefx/System/Globalization/JapaneseCalendar.WinRT.cs delete mode 100644 src/mscorlib/corefx/System/Globalization/JapaneseCalendar.Windows.cs create mode 100644 src/mscorlib/corefx/System/Globalization/LocaleData.Unix.cs delete mode 100644 src/mscorlib/corefx/System/Globalization/STUBS.cs create mode 100644 src/mscorlib/corefx/System/Globalization/SortKey.cs create mode 100644 src/mscorlib/corefx/System/Globalization/SortVersion.cs create mode 100644 src/mscorlib/corefx/System/HResults.cs create mode 100644 src/mscorlib/corefx/System/IO/Error.cs create mode 100644 src/mscorlib/corefx/System/IO/FileStream.NetStandard17.cs create mode 100644 src/mscorlib/corefx/System/IO/FileStream.Unix.cs create mode 100644 src/mscorlib/corefx/System/IO/FileStream.Win32.cs create mode 100644 src/mscorlib/corefx/System/IO/FileStream.cs create mode 100644 src/mscorlib/corefx/System/IO/FileStreamCompletionSource.Win32.cs create mode 100644 src/mscorlib/corefx/System/IO/Path.Unix.cs create mode 100644 src/mscorlib/corefx/System/IO/Path.Win32.cs create mode 100644 src/mscorlib/corefx/System/IO/Path.Windows.cs create mode 100644 src/mscorlib/corefx/System/IO/Path.cs create mode 100644 src/mscorlib/corefx/System/IO/PathHelper.Windows.cs create mode 100644 src/mscorlib/corefx/System/IO/PathInternal.CaseSensitivity.cs create mode 100644 src/mscorlib/corefx/System/IO/PathInternal.Unix.cs create mode 100644 src/mscorlib/corefx/System/IO/PathInternal.Windows.StringBuffer.cs create mode 100644 src/mscorlib/corefx/System/IO/PathInternal.Windows.cs create mode 100644 src/mscorlib/corefx/System/IO/PathInternal.cs create mode 100644 src/mscorlib/corefx/System/IO/Win32Marshal.cs create mode 100644 src/mscorlib/corefx/System/Runtime/InteropServices/NativeBuffer.cs create mode 100644 src/mscorlib/corefx/System/Runtime/InteropServices/SafeHeapHandle.cs create mode 100644 src/mscorlib/corefx/System/Runtime/InteropServices/SafeHeapHandleCache.cs create mode 100644 src/mscorlib/corefx/System/Runtime/InteropServices/StringBuffer.cs create mode 100644 src/mscorlib/corefx/System/Security/CryptographicException.cs create mode 100644 src/mscorlib/corefx/System/Security/SafeBSTRHandle.cs create mode 100644 src/mscorlib/corefx/System/Security/SecureString.Unix.cs create mode 100644 src/mscorlib/corefx/System/Security/SecureString.Windows.cs create mode 100644 src/mscorlib/corefx/System/Security/SecureString.cs create mode 100644 src/mscorlib/corefx/System/Threading/ClrThreadPoolBoundHandle.cs create mode 100644 src/mscorlib/corefx/System/Threading/ClrThreadPoolBoundHandleOverlapped.cs create mode 100644 src/mscorlib/corefx/System/Threading/ClrThreadPoolPreAllocatedOverlapped.cs create mode 100644 src/mscorlib/corefx/System/Threading/DeferredDisposableLifetime.cs delete mode 100644 src/mscorlib/facade/TypeForwards.cs create mode 100644 src/mscorlib/src/Internal/Runtime/Augments/RuntimeThread.cs delete mode 100644 src/mscorlib/src/Microsoft/Win32/SafeHandles/SafeFileHandle.cs create mode 100644 src/mscorlib/src/System/ByReference.cs delete mode 100644 src/mscorlib/src/System/Collections/BitArray.cs delete mode 100644 src/mscorlib/src/System/ContextBoundObject.cs delete mode 100644 src/mscorlib/src/System/ContextStaticAttribute.cs delete mode 100644 src/mscorlib/src/System/IO/BufferedStream.cs delete mode 100644 src/mscorlib/src/System/IO/DriveInfo.cs create mode 100644 src/mscorlib/src/System/IO/EncodingCache.cs delete mode 100644 src/mscorlib/src/System/IO/FileSecurityState.cs delete mode 100644 src/mscorlib/src/System/IO/FileSecurityStateAccess.cs delete mode 100644 src/mscorlib/src/System/IO/FileStream.cs delete mode 100644 src/mscorlib/src/System/IO/LongPathHelper.cs delete mode 100644 src/mscorlib/src/System/IO/Path.cs delete mode 100644 src/mscorlib/src/System/IO/PathHelper.cs delete mode 100644 src/mscorlib/src/System/IO/PathInternal.cs create mode 100644 src/mscorlib/src/System/IO/StreamHelpers.CopyValidation.cs delete mode 100644 src/mscorlib/src/System/IO/StringReader.cs delete mode 100644 src/mscorlib/src/System/IO/StringWriter.cs delete mode 100644 src/mscorlib/src/System/IO/__DebugOutputTextWriter.cs create mode 100644 src/mscorlib/src/System/MathF.cs create mode 100644 src/mscorlib/src/System/Numerics/Hashing/HashHelpers.cs create mode 100644 src/mscorlib/src/System/ReadOnlySpan.cs delete mode 100644 src/mscorlib/src/System/Runtime/CompilerServices/CallingConvention.cs delete mode 100644 src/mscorlib/src/System/Runtime/CompilerServices/HasCopySemanticsAttribute.cs delete mode 100644 src/mscorlib/src/System/Runtime/CompilerServices/IDispatchConstantAttribute.cs delete mode 100644 src/mscorlib/src/System/Runtime/CompilerServices/IUnknownConstantAttribute.cs delete mode 100644 src/mscorlib/src/System/Runtime/CompilerServices/IsBoxed.cs delete mode 100644 src/mscorlib/src/System/Runtime/CompilerServices/IsByValue.cs delete mode 100644 src/mscorlib/src/System/Runtime/CompilerServices/IsConst.cs delete mode 100644 src/mscorlib/src/System/Runtime/CompilerServices/IsCopyConstructed.cs delete mode 100644 src/mscorlib/src/System/Runtime/CompilerServices/IsExplicitlyDereferenced.cs delete mode 100644 src/mscorlib/src/System/Runtime/CompilerServices/IsImplicitlyDereferenced.cs delete mode 100644 src/mscorlib/src/System/Runtime/CompilerServices/IsJitIntrinsic.cs delete mode 100644 src/mscorlib/src/System/Runtime/CompilerServices/IsLong.cs delete mode 100644 src/mscorlib/src/System/Runtime/CompilerServices/IsPinned.cs delete mode 100644 src/mscorlib/src/System/Runtime/CompilerServices/IsSignUnspecifiedByte.cs delete mode 100644 src/mscorlib/src/System/Runtime/CompilerServices/IsUdtReturn.cs delete mode 100644 src/mscorlib/src/System/Runtime/CompilerServices/NativeCppClassAttribute.cs delete mode 100644 src/mscorlib/src/System/Runtime/CompilerServices/RequiredAttributeAttribute.cs delete mode 100644 src/mscorlib/src/System/Runtime/CompilerServices/ScopelessEnumAttribute.cs create mode 100644 src/mscorlib/src/System/Runtime/CompilerServices/Unsafe.cs create mode 100644 src/mscorlib/src/System/Runtime/ExceptionServices/ExceptionNotification.cs delete mode 100644 src/mscorlib/src/System/Runtime/InteropServices/NativeBuffer.cs delete mode 100644 src/mscorlib/src/System/Runtime/InteropServices/SafeHeapHandle.cs delete mode 100644 src/mscorlib/src/System/Runtime/InteropServices/StringBuffer.cs delete mode 100644 src/mscorlib/src/System/Runtime/InteropServices/TypeLibConverter.cs create mode 100644 src/mscorlib/src/System/Runtime/Serialization/SafeSerializationManager.cs delete mode 100644 src/mscorlib/src/System/Runtime/Versioning/BinaryCompatibility.cs delete mode 100644 src/mscorlib/src/System/Runtime/Versioning/ComponentGuaranteesAttribute.cs delete mode 100644 src/mscorlib/src/System/Runtime/Versioning/ResourceAttributes.cs create mode 100644 src/mscorlib/src/System/Span.cs create mode 100644 src/mscorlib/src/System/Text/Normalization.Unix.cs create mode 100644 src/mscorlib/src/System/Text/Normalization.Windows.cs delete mode 100644 src/mscorlib/src/System/Threading/WaitHandleExtensions.cs delete mode 100644 src/mscorlib/src/System/UnSafeCharBuffer.cs delete mode 100644 src/mscorlib/src/mscorlib.txt create mode 100644 src/pal/inc/unixasmmacrosx86.inc delete mode 100644 src/pal/prebuilt/idl/clrdata_i.c create mode 100644 src/pal/prebuilt/idl/clrdata_i.cpp delete mode 100644 src/pal/prebuilt/idl/clrinternal_i.c create mode 100644 src/pal/prebuilt/idl/clrinternal_i.cpp delete mode 100644 src/pal/prebuilt/idl/clrprivappxhosting_i.c create mode 100644 src/pal/prebuilt/idl/clrprivappxhosting_i.cpp delete mode 100644 src/pal/prebuilt/idl/clrprivbinding_i.c create mode 100644 src/pal/prebuilt/idl/clrprivbinding_i.cpp delete mode 100644 src/pal/prebuilt/idl/clrprivhosting_i.c create mode 100644 src/pal/prebuilt/idl/clrprivhosting_i.cpp delete mode 100644 src/pal/prebuilt/idl/clrprivruntimebinders_i.c create mode 100644 src/pal/prebuilt/idl/clrprivruntimebinders_i.cpp delete mode 100644 src/pal/prebuilt/idl/cordebug_i.c create mode 100644 src/pal/prebuilt/idl/cordebug_i.cpp delete mode 100644 src/pal/prebuilt/idl/corprof_i.c create mode 100644 src/pal/prebuilt/idl/corprof_i.cpp delete mode 100644 src/pal/prebuilt/idl/corpub_i.c create mode 100644 src/pal/prebuilt/idl/corpub_i.cpp delete mode 100644 src/pal/prebuilt/idl/corsym_i.c create mode 100644 src/pal/prebuilt/idl/corsym_i.cpp delete mode 100644 src/pal/prebuilt/idl/fusionpriv_i.c create mode 100644 src/pal/prebuilt/idl/fusionpriv_i.cpp delete mode 100644 src/pal/prebuilt/idl/gchost_i.c create mode 100644 src/pal/prebuilt/idl/gchost_i.cpp delete mode 100644 src/pal/prebuilt/idl/ivalidator_i.c create mode 100644 src/pal/prebuilt/idl/ivalidator_i.cpp delete mode 100644 src/pal/prebuilt/idl/ivehandler_i.c create mode 100644 src/pal/prebuilt/idl/ivehandler_i.cpp delete mode 100644 src/pal/prebuilt/idl/mscorsvc_i.c create mode 100644 src/pal/prebuilt/idl/mscorsvc_i.cpp delete mode 100644 src/pal/prebuilt/idl/sospriv_i.c create mode 100644 src/pal/prebuilt/idl/sospriv_i.cpp delete mode 100644 src/pal/prebuilt/idl/tlbimpexp_i.c create mode 100644 src/pal/prebuilt/idl/tlbimpexp_i.cpp delete mode 100644 src/pal/prebuilt/idl/xclrdata_i.c create mode 100644 src/pal/prebuilt/idl/xclrdata_i.cpp delete mode 100644 src/pal/prebuilt/idl/xcordebug_i.c create mode 100644 src/pal/prebuilt/idl/xcordebug_i.cpp create mode 100644 src/pal/src/arch/amd64/activationhandlerwrapper.S create mode 100644 src/pal/src/arch/amd64/asmconstants.h create mode 100644 src/pal/src/arch/amd64/context.S create mode 100644 src/pal/src/arch/amd64/context2.S create mode 100644 src/pal/src/arch/amd64/debugbreak.S create mode 100644 src/pal/src/arch/amd64/dispatchexceptionwrapper.S create mode 100644 src/pal/src/arch/amd64/exceptionhelper.S create mode 100644 src/pal/src/arch/amd64/optimizedtls.cpp create mode 100644 src/pal/src/arch/amd64/processor.cpp delete mode 100644 src/pal/src/arch/i386/activationhandlerwrapper.S delete mode 100644 src/pal/src/arch/i386/context.S delete mode 100644 src/pal/src/arch/i386/dispatchexceptionwrapper.S delete mode 100644 src/pal/src/arch/i386/optimizedtls.cpp delete mode 100644 src/pal/src/examples/example1.c create mode 100644 src/pal/src/examples/example1.cpp delete mode 100644 src/pal/src/safecrt/makepath_s.c create mode 100644 src/pal/src/safecrt/makepath_s.cpp delete mode 100644 src/pal/src/safecrt/mbusafecrt.c create mode 100644 src/pal/src/safecrt/mbusafecrt.cpp delete mode 100644 src/pal/src/safecrt/memcpy_s.c create mode 100644 src/pal/src/safecrt/memcpy_s.cpp delete mode 100644 src/pal/src/safecrt/memmove_s.c create mode 100644 src/pal/src/safecrt/memmove_s.cpp delete mode 100644 src/pal/src/safecrt/safecrt_input_s.c create mode 100644 src/pal/src/safecrt/safecrt_input_s.cpp delete mode 100644 src/pal/src/safecrt/safecrt_output_l.c create mode 100644 src/pal/src/safecrt/safecrt_output_l.cpp delete mode 100644 src/pal/src/safecrt/safecrt_output_s.c create mode 100644 src/pal/src/safecrt/safecrt_output_s.cpp delete mode 100644 src/pal/src/safecrt/safecrt_winput_s.c create mode 100644 src/pal/src/safecrt/safecrt_winput_s.cpp delete mode 100644 src/pal/src/safecrt/safecrt_woutput_s.c create mode 100644 src/pal/src/safecrt/safecrt_woutput_s.cpp delete mode 100644 src/pal/src/safecrt/snprintf.c create mode 100644 src/pal/src/safecrt/snprintf.cpp delete mode 100644 src/pal/src/safecrt/splitpath_s.c create mode 100644 src/pal/src/safecrt/splitpath_s.cpp delete mode 100644 src/pal/src/safecrt/sprintf.c create mode 100644 src/pal/src/safecrt/sprintf_s.cpp delete mode 100644 src/pal/src/safecrt/sscanf.c create mode 100644 src/pal/src/safecrt/sscanf_s.cpp delete mode 100644 src/pal/src/safecrt/strcat_s.c create mode 100644 src/pal/src/safecrt/strcat_s.cpp delete mode 100644 src/pal/src/safecrt/strcpy_s.c create mode 100644 src/pal/src/safecrt/strcpy_s.cpp delete mode 100644 src/pal/src/safecrt/strlen_s.c create mode 100644 src/pal/src/safecrt/strlen_s.cpp delete mode 100644 src/pal/src/safecrt/strncat_s.c create mode 100644 src/pal/src/safecrt/strncat_s.cpp delete mode 100644 src/pal/src/safecrt/strncpy_s.c create mode 100644 src/pal/src/safecrt/strncpy_s.cpp delete mode 100644 src/pal/src/safecrt/strtok_s.c create mode 100644 src/pal/src/safecrt/strtok_s.cpp delete mode 100644 src/pal/src/safecrt/swprintf.c create mode 100644 src/pal/src/safecrt/swprintf.cpp delete mode 100644 src/pal/src/safecrt/vsprintf.c create mode 100644 src/pal/src/safecrt/vsprintf.cpp delete mode 100644 src/pal/src/safecrt/vswprint.c create mode 100644 src/pal/src/safecrt/vswprint.cpp delete mode 100644 src/pal/src/safecrt/wcscat_s.c create mode 100644 src/pal/src/safecrt/wcscat_s.cpp delete mode 100644 src/pal/src/safecrt/wcscpy_s.c create mode 100644 src/pal/src/safecrt/wcscpy_s.cpp delete mode 100644 src/pal/src/safecrt/wcslen_s.c create mode 100644 src/pal/src/safecrt/wcslen_s.cpp delete mode 100644 src/pal/src/safecrt/wcsncat_s.c create mode 100644 src/pal/src/safecrt/wcsncat_s.cpp delete mode 100644 src/pal/src/safecrt/wcsncpy_s.c create mode 100644 src/pal/src/safecrt/wcsncpy_s.cpp delete mode 100644 src/pal/src/safecrt/wcstok_s.c create mode 100644 src/pal/src/safecrt/wcstok_s.cpp delete mode 100644 src/pal/src/safecrt/wmakepath_s.c create mode 100644 src/pal/src/safecrt/wmakepath_s.cpp delete mode 100644 src/pal/src/safecrt/wsplitpath_s.c create mode 100644 src/pal/src/safecrt/wsplitpath_s.cpp delete mode 100644 src/pal/src/safecrt/xtoa_s.c create mode 100644 src/pal/src/safecrt/xtoa_s.cpp delete mode 100644 src/pal/src/safecrt/xtow_s.c create mode 100644 src/pal/src/safecrt/xtow_s.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/__iscsym/test1/__iscsym.c create mode 100644 src/pal/tests/palsuite/c_runtime/__iscsym/test1/__iscsym.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_alloca/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/_alloca/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_ecvt/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/_ecvt/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_fdopen/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/_fdopen/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_finite/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/_finite/test1/test1.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_finitef/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_finitef/test1/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_finitef/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/_finitef/test1/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_fullpath/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/_fullpath/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_gcvt/test1/_gcvt.c create mode 100644 src/pal/tests/palsuite/c_runtime/_gcvt/test1/_gcvt.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_gcvt/test2/test2.c create mode 100644 src/pal/tests/palsuite/c_runtime/_gcvt/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_getw/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/_getw/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_isnan/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/_isnan/test1/test1.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_isnanf/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_isnanf/test1/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_isnanf/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/_isnanf/test1/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_itow/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/_itow/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_makepath/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_makepath/test1/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_makepath/test1/test1.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_makepath/test1/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_mbsdec/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/_mbsdec/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_mbsinc/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/_mbsinc/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_mbslen/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_mbslen/test1/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_mbslen/test1/test1.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_mbslen/test1/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_mbsninc/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/_mbsninc/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_open_osfhandle/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/_open_osfhandle/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_open_osfhandle/test2/test2.c create mode 100644 src/pal/tests/palsuite/c_runtime/_open_osfhandle/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_putenv/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/_putenv/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_putenv/test2/test2.c create mode 100644 src/pal/tests/palsuite/c_runtime/_putenv/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_putenv/test3/test3.c create mode 100644 src/pal/tests/palsuite/c_runtime/_putenv/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_putenv/test4/test4.c create mode 100644 src/pal/tests/palsuite/c_runtime/_putenv/test4/test4.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_putw/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/_putw/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/_snprintf.h delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test1/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test1/test1.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test1/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test10/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test10/test10.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test10/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test11/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test11/test11.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test11/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test12/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test12/test12.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test12/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test13/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test13/test13.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test13/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test14/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test14/test14.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test14/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test15/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test15/test15.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test15/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test16/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test16/test16.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test16/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test17/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test17/test17.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test17/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test18/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test18/test18.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test18/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test19/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test19/test19.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test19/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test2/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test2/test2.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test2/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test3/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test3/test3.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test3/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test4/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test4/test4.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test4/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test5/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test5/test5.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test5/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test6/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test6/test6.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test6/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test7/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test7/test7.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test7/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test8/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test8/test8.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test8/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test9/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test9/test9.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf/test9/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/_snprintf_s.h create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test1/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test1/test1.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test1/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test10/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test10/test10.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test10/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test11/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test11/test11.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test11/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test12/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test12/test12.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test12/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test13/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test13/test13.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test13/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test14/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test14/test14.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test14/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test15/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test15/test15.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test15/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test16/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test16/test16.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test16/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test17/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test17/test17.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test17/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test18/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test18/test18.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test18/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test19/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test19/test19.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test19/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test2/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test2/test2.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test2/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test3/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test3/test3.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test3/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test4/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test4/test4.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test4/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test6/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test6/test6.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test6/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test7/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test7/test7.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test7/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test8/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test8/test8.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test8/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test9/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test9/test9.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_snprintf_s/test9/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/_snwprintf.h delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test1/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test1/test1.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test1/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test10/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test10/test10.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test10/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test11/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test11/test11.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test11/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test12/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test12/test12.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test12/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test13/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test13/test13.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test13/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test14/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test14/test14.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test14/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test15/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test15/test15.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test15/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test16/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test16/test16.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test16/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test17/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test17/test17.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test17/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test18/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test18/test18.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test18/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test19/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test19/test19.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test19/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test2/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test2/test2.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test2/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test3/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test3/test3.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test3/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test4/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test4/test4.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test4/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test5/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test5/test5.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test5/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test6/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test6/test6.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test6/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test7/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test7/test7.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test7/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test8/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test8/test8.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test8/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test9/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test9/test9.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf/test9/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/_snwprintf_s.h create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test1/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test1/test1.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test1/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test10/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test10/test10.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test10/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test11/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test11/test11.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test11/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test12/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test12/test12.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test12/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test13/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test13/test13.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test13/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test14/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test14/test14.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test14/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test15/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test15/test15.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test15/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test16/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test16/test16.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test16/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test17/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test17/test17.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test17/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test18/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test18/test18.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test18/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test19/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test19/test19.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test19/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test2/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test2/test2.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test2/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test3/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test3/test3.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test3/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test4/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test4/test4.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test4/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test6/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test6/test6.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test6/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test7/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test7/test7.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test7/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test8/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test8/test8.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test8/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test9/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test9/test9.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_snwprintf_s/test9/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_splitpath/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_splitpath/test1/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_splitpath/test1/test1.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_splitpath/test1/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_stricmp/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/_stricmp/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_strlwr/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/_strlwr/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_strnicmp/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/_strnicmp/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_swab/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_swab/test1/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_swab/test1/test1.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_swab/test1/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnprintf/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnprintf/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnprintf/test10/test10.c create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnprintf/test10/test10.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnprintf/test11/test11.c create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnprintf/test11/test11.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnprintf/test12/test12.c create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnprintf/test12/test12.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnprintf/test13/test13.c create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnprintf/test13/test13.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnprintf/test14/test14.c create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnprintf/test14/test14.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnprintf/test15/test15.c create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnprintf/test15/test15.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnprintf/test16/test16.c create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnprintf/test16/test16.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnprintf/test17/test17.c create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnprintf/test17/test17.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnprintf/test18/test18.c create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnprintf/test18/test18.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnprintf/test19/test19.c create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnprintf/test19/test19.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnprintf/test2/test2.c create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnprintf/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnprintf/test3/test3.c create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnprintf/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnprintf/test4/test4.c create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnprintf/test4/test4.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnprintf/test5/test5.c create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnprintf/test5/test5.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnprintf/test6/test6.c create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnprintf/test6/test6.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnprintf/test7/test7.c create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnprintf/test7/test7.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnprintf/test8/test8.c create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnprintf/test8/test8.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnprintf/test9/test9.c create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnprintf/test9/test9.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/_vsnwprintf.h delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test1/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test1/test1.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test1/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test10/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test10/test10.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test10/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test11/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test11/test11.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test11/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test12/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test12/test12.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test12/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test13/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test13/test13.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test13/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test14/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test14/test14.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test14/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test15/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test15/test15.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test15/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test16/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test16/test16.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test16/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test17/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test17/test17.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test17/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test18/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test18/test18.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test18/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test19/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test19/test19.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test19/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test2/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test2/test2.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test2/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test3/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test3/test3.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test3/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test4/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test4/test4.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test4/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test5/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test5/test5.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test5/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test6/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test6/test6.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test6/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test7/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test7/test7.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test7/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test8/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test8/test8.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test8/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test9/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test9/test9.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf/test9/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/_vsnwprintf_s.h create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test1/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test1/test1.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test1/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test10/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test10/test10.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test10/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test11/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test11/test11.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test11/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test12/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test12/test12.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test12/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test13/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test13/test13.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test13/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test14/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test14/test14.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test14/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test15/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test15/test15.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test15/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test16/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test16/test16.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test16/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test17/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test17/test17.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test17/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test18/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test18/test18.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test18/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test19/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test19/test19.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test19/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test2/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test2/test2.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test2/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test3/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test3/test3.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test3/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test4/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test4/test4.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test4/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test6/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test6/test6.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test6/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test7/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test7/test7.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test7/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test8/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test8/test8.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test8/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test9/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test9/test9.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/_vsnwprintf_s/test9/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_wcsicmp/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/_wcsicmp/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_wcslwr/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/_wcslwr/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_wcsnicmp/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/_wcsnicmp/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_wfopen/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/_wfopen/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_wfopen/test2/test2.c create mode 100644 src/pal/tests/palsuite/c_runtime/_wfopen/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_wfopen/test3/test3.c create mode 100644 src/pal/tests/palsuite/c_runtime/_wfopen/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_wfopen/test4/test4.c create mode 100644 src/pal/tests/palsuite/c_runtime/_wfopen/test4/test4.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_wfopen/test5/test5.c create mode 100644 src/pal/tests/palsuite/c_runtime/_wfopen/test5/test5.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_wfopen/test6/test6.c create mode 100644 src/pal/tests/palsuite/c_runtime/_wfopen/test6/test6.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_wfopen/test7/test7.c create mode 100644 src/pal/tests/palsuite/c_runtime/_wfopen/test7/test7.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/_wmakepath/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_wmakepath/test1/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_wmakepath/test1/test1.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_wmakepath/test1/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_wsplitpath/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_wsplitpath/test1/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/_wsplitpath/test1/test1.c delete mode 100644 src/pal/tests/palsuite/c_runtime/_wsplitpath/test1/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/_wtoi/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/_wtoi/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/abs/test1/abs.c create mode 100644 src/pal/tests/palsuite/c_runtime/abs/test1/abs.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/acos/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/acos/test1/test1.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/acosf/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/acosf/test1/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/acosf/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/acosf/test1/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/asin/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/asin/test1/test1.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/asinf/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/asinf/test1/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/asinf/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/asinf/test1/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/atan/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/atan/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/atan2/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/atan2/test1/test1.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/atan2f/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/atan2f/test1/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/atan2f/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/atan2f/test1/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/atanf/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/atanf/test1/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/atanf/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/atanf/test1/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/atof/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/atof/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/atoi/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/atoi/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/atol/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/atol/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/bsearch/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/bsearch/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/bsearch/test2/test2.c create mode 100644 src/pal/tests/palsuite/c_runtime/bsearch/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/ceil/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/ceil/test1/test1.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/ceilf/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/ceilf/test1/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/ceilf/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/ceilf/test1/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/cos/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/cos/test1/test1.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/cosf/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/cosf/test1/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/cosf/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/cosf/test1/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/cosh/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/cosh/test1/test1.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/coshf/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/coshf/test1/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/coshf/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/coshf/test1/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/ctime/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/ctime/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/errno/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/errno/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/errno/test2/test2.c create mode 100644 src/pal/tests/palsuite/c_runtime/errno/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/exit/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/exit/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/exit/test2/test2.c create mode 100644 src/pal/tests/palsuite/c_runtime/exit/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/exp/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/exp/test1/test1.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/expf/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/expf/test1/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/expf/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/expf/test1/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/fabs/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/fabs/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fabsf/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/fabsf/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fclose/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/fclose/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fclose/test2/test2.c create mode 100644 src/pal/tests/palsuite/c_runtime/fclose/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/feof/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/feof/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/ferror/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/ferror/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/ferror/test2/test2.c create mode 100644 src/pal/tests/palsuite/c_runtime/ferror/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fflush/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/fflush/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fgets/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/fgets/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fgets/test2/test2.c create mode 100644 src/pal/tests/palsuite/c_runtime/fgets/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fgets/test3/test3.c create mode 100644 src/pal/tests/palsuite/c_runtime/fgets/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/floor/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/floor/test1/test1.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/floorf/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/floorf/test1/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/floorf/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/floorf/test1/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/fmod/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/fmod/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fmodf/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/fmodf/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fopen/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/fopen/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fopen/test2/test2.c create mode 100644 src/pal/tests/palsuite/c_runtime/fopen/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fopen/test3/test3.c create mode 100644 src/pal/tests/palsuite/c_runtime/fopen/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fopen/test4/test4.c create mode 100644 src/pal/tests/palsuite/c_runtime/fopen/test4/test4.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fopen/test5/test5.c create mode 100644 src/pal/tests/palsuite/c_runtime/fopen/test5/test5.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fopen/test6/test6.c create mode 100644 src/pal/tests/palsuite/c_runtime/fopen/test6/test6.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fopen/test7/test7.c create mode 100644 src/pal/tests/palsuite/c_runtime/fopen/test7/test7.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fprintf/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/fprintf/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fprintf/test10/test10.c create mode 100644 src/pal/tests/palsuite/c_runtime/fprintf/test10/test10.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fprintf/test11/test11.c create mode 100644 src/pal/tests/palsuite/c_runtime/fprintf/test11/test11.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fprintf/test12/test12.c create mode 100644 src/pal/tests/palsuite/c_runtime/fprintf/test12/test12.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fprintf/test13/test13.c create mode 100644 src/pal/tests/palsuite/c_runtime/fprintf/test13/test13.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fprintf/test14/test14.c create mode 100644 src/pal/tests/palsuite/c_runtime/fprintf/test14/test14.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fprintf/test15/test15.c create mode 100644 src/pal/tests/palsuite/c_runtime/fprintf/test15/test15.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fprintf/test16/test16.c create mode 100644 src/pal/tests/palsuite/c_runtime/fprintf/test16/test16.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fprintf/test17/test17.c create mode 100644 src/pal/tests/palsuite/c_runtime/fprintf/test17/test17.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fprintf/test18/test18.c create mode 100644 src/pal/tests/palsuite/c_runtime/fprintf/test18/test18.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fprintf/test19/test19.c create mode 100644 src/pal/tests/palsuite/c_runtime/fprintf/test19/test19.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fprintf/test2/test2.c create mode 100644 src/pal/tests/palsuite/c_runtime/fprintf/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fprintf/test3/test3.c create mode 100644 src/pal/tests/palsuite/c_runtime/fprintf/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fprintf/test4/test4.c create mode 100644 src/pal/tests/palsuite/c_runtime/fprintf/test4/test4.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fprintf/test5/test5.c create mode 100644 src/pal/tests/palsuite/c_runtime/fprintf/test5/test5.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fprintf/test6/test6.c create mode 100644 src/pal/tests/palsuite/c_runtime/fprintf/test6/test6.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fprintf/test7/test7.c create mode 100644 src/pal/tests/palsuite/c_runtime/fprintf/test7/test7.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fprintf/test8/test8.c create mode 100644 src/pal/tests/palsuite/c_runtime/fprintf/test8/test8.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fprintf/test9/test9.c create mode 100644 src/pal/tests/palsuite/c_runtime/fprintf/test9/test9.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fputs/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/fputs/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fputs/test2/test2.c create mode 100644 src/pal/tests/palsuite/c_runtime/fputs/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fread/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/fread/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fread/test2/test2.c create mode 100644 src/pal/tests/palsuite/c_runtime/fread/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fread/test3/test3.c create mode 100644 src/pal/tests/palsuite/c_runtime/fread/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/free/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/free/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fseek/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/fseek/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/ftell/test1/ftell.c create mode 100644 src/pal/tests/palsuite/c_runtime/ftell/test1/ftell.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fwprintf/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/fwprintf/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fwprintf/test10/test10.c create mode 100644 src/pal/tests/palsuite/c_runtime/fwprintf/test10/test10.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fwprintf/test11/test11.c create mode 100644 src/pal/tests/palsuite/c_runtime/fwprintf/test11/test11.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fwprintf/test12/test12.c create mode 100644 src/pal/tests/palsuite/c_runtime/fwprintf/test12/test12.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fwprintf/test13/test13.c create mode 100644 src/pal/tests/palsuite/c_runtime/fwprintf/test13/test13.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fwprintf/test14/test14.c create mode 100644 src/pal/tests/palsuite/c_runtime/fwprintf/test14/test14.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fwprintf/test15/test15.c create mode 100644 src/pal/tests/palsuite/c_runtime/fwprintf/test15/test15.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fwprintf/test16/test16.c create mode 100644 src/pal/tests/palsuite/c_runtime/fwprintf/test16/test16.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fwprintf/test17/test17.c create mode 100644 src/pal/tests/palsuite/c_runtime/fwprintf/test17/test17.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fwprintf/test18/test18.c create mode 100644 src/pal/tests/palsuite/c_runtime/fwprintf/test18/test18.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fwprintf/test19/test19.c create mode 100644 src/pal/tests/palsuite/c_runtime/fwprintf/test19/test19.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fwprintf/test2/test2.c create mode 100644 src/pal/tests/palsuite/c_runtime/fwprintf/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fwprintf/test3/test3.c create mode 100644 src/pal/tests/palsuite/c_runtime/fwprintf/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fwprintf/test4/test4.c create mode 100644 src/pal/tests/palsuite/c_runtime/fwprintf/test4/test4.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fwprintf/test5/test5.c create mode 100644 src/pal/tests/palsuite/c_runtime/fwprintf/test5/test5.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fwprintf/test6/test6.c create mode 100644 src/pal/tests/palsuite/c_runtime/fwprintf/test6/test6.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fwprintf/test7/test7.c create mode 100644 src/pal/tests/palsuite/c_runtime/fwprintf/test7/test7.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fwprintf/test8/test8.c create mode 100644 src/pal/tests/palsuite/c_runtime/fwprintf/test8/test8.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fwprintf/test9/test9.c create mode 100644 src/pal/tests/palsuite/c_runtime/fwprintf/test9/test9.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/fwrite/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/fwrite/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/getc/test1/getc.c create mode 100644 src/pal/tests/palsuite/c_runtime/getc/test1/getc.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/getenv/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/getenv/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/getenv/test2/test2.c create mode 100644 src/pal/tests/palsuite/c_runtime/getenv/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/getenv/test3/test3.c create mode 100644 src/pal/tests/palsuite/c_runtime/getenv/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/isalnum/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/isalnum/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/isalpha/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/isalpha/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/isdigit/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/isdigit/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/islower/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/islower/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/isprint/test1/isprint.c create mode 100644 src/pal/tests/palsuite/c_runtime/isprint/test1/isprint.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/isprint/test2/test2.c create mode 100644 src/pal/tests/palsuite/c_runtime/isprint/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/isspace/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/isspace/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/isupper/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/isupper/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/iswdigit/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/iswdigit/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/iswprint/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/iswprint/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/iswspace/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/iswspace/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/iswupper/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/iswupper/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/iswxdigit/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/iswxdigit/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/isxdigit/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/isxdigit/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/labs/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/labs/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/llabs/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/llabs/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/localtime/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/localtime/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/log/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/log/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/log10/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/log10/test1/test1.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/log10f/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/log10f/test1/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/log10f/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/log10f/test1/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/logf/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/logf/test1/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/logf/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/logf/test1/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/malloc/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/malloc/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/malloc/test2/test2.c create mode 100644 src/pal/tests/palsuite/c_runtime/malloc/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/memchr/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/memchr/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/memcmp/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/memcmp/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/memcpy/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/memcpy/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/memmove/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/memmove/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/memset/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/memset/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/modf/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/modf/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/modff/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/modff/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/pow/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/pow/test1/test1.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/powf/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/powf/test1/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/powf/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/powf/test1/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/printf/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/printf/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/printf/test10/test10.c create mode 100644 src/pal/tests/palsuite/c_runtime/printf/test10/test10.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/printf/test11/test11.c create mode 100644 src/pal/tests/palsuite/c_runtime/printf/test11/test11.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/printf/test12/test12.c create mode 100644 src/pal/tests/palsuite/c_runtime/printf/test12/test12.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/printf/test13/test13.c create mode 100644 src/pal/tests/palsuite/c_runtime/printf/test13/test13.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/printf/test14/test14.c create mode 100644 src/pal/tests/palsuite/c_runtime/printf/test14/test14.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/printf/test15/test15.c create mode 100644 src/pal/tests/palsuite/c_runtime/printf/test15/test15.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/printf/test16/test16.c create mode 100644 src/pal/tests/palsuite/c_runtime/printf/test16/test16.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/printf/test17/test17.c create mode 100644 src/pal/tests/palsuite/c_runtime/printf/test17/test17.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/printf/test18/test18.c create mode 100644 src/pal/tests/palsuite/c_runtime/printf/test18/test18.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/printf/test19/test19.c create mode 100644 src/pal/tests/palsuite/c_runtime/printf/test19/test19.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/printf/test2/test2.c create mode 100644 src/pal/tests/palsuite/c_runtime/printf/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/printf/test3/test3.c create mode 100644 src/pal/tests/palsuite/c_runtime/printf/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/printf/test4/test4.c create mode 100644 src/pal/tests/palsuite/c_runtime/printf/test4/test4.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/printf/test5/test5.c create mode 100644 src/pal/tests/palsuite/c_runtime/printf/test5/test5.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/printf/test6/test6.c create mode 100644 src/pal/tests/palsuite/c_runtime/printf/test6/test6.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/printf/test7/test7.c create mode 100644 src/pal/tests/palsuite/c_runtime/printf/test7/test7.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/printf/test8/test8.c create mode 100644 src/pal/tests/palsuite/c_runtime/printf/test8/test8.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/printf/test9/test9.c create mode 100644 src/pal/tests/palsuite/c_runtime/printf/test9/test9.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/qsort/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/qsort/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/qsort/test2/test2.c create mode 100644 src/pal/tests/palsuite/c_runtime/qsort/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/rand_srand/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/rand_srand/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/realloc/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/realloc/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/sin/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/sin/test1/test1.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/sinf/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sinf/test1/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sinf/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/sinf/test1/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/sinh/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/sinh/test1/test1.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/sinhf/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sinhf/test1/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sinhf/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/sinhf/test1/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/sprintf.h delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test1/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test1/test1.c delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test1/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test10/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test10/test10.c delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test10/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test11/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test11/test11.c delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test11/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test12/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test12/test12.c delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test12/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test13/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test13/test13.c delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test13/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test14/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test14/test14.c delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test14/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test15/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test15/test15.c delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test15/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test16/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test16/test16.c delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test16/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test17/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test17/test17.c delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test17/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test18/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test18/test18.c delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test18/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test19/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test19/test19.c delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test19/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test2/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test2/test2.c delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test2/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test3/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test3/test3.c delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test3/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test4/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test4/test4.c delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test4/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test5/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test5/test5.c delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test5/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test6/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test6/test6.c delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test6/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test7/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test7/test7.c delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test7/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test8/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test8/test8.c delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test8/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test9/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test9/test9.c delete mode 100644 src/pal/tests/palsuite/c_runtime/sprintf/test9/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/sprintf_s.h create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test1/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test1/test1.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test1/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test10/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test10/test10.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test10/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test11/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test11/test11.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test11/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test12/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test12/test12.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test12/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test13/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test13/test13.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test13/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test14/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test14/test14.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test14/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test15/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test15/test15.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test15/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test16/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test16/test16.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test16/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test17/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test17/test17.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test17/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test18/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test18/test18.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test18/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test19/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test19/test19.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test19/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test2/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test2/test2.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test2/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test3/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test3/test3.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test3/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test4/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test4/test4.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test4/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test6/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test6/test6.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test6/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test7/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test7/test7.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test7/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test8/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test8/test8.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test8/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test9/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test9/test9.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/sprintf_s/test9/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/sqrt/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/sqrt/test1/test1.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/sqrtf/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sqrtf/test1/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sqrtf/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/sqrtf/test1/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/sscanf.h delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test1/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test1/test1.c delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test1/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test10/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test10/test10.c delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test10/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test11/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test11/test11.c delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test11/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test12/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test12/test12.c delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test12/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test13/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test13/test13.c delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test13/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test14/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test14/test14.c delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test14/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test15/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test15/test15.c delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test15/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test16/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test16/test16.c delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test16/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test17/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test17/test17.c delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test17/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test2/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test2/test2.c delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test2/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test3/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test3/test3.c delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test3/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test4/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test4/test4.c delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test4/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test5/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test5/test5.c delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test5/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test6/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test6/test6.c delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test6/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test7/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test7/test7.c delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test7/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test8/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test8/test8.c delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test8/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test9/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test9/test9.c delete mode 100644 src/pal/tests/palsuite/c_runtime/sscanf/test9/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/sscanf_s.h create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test1/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test1/test1.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test1/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test10/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test10/test10.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test10/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test11/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test11/test11.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test11/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test12/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test12/test12.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test12/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test13/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test13/test13.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test13/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test14/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test14/test14.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test14/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test15/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test15/test15.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test15/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test16/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test16/test16.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test16/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test17/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test17/test17.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test17/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test2/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test2/test2.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test2/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test3/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test3/test3.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test3/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test4/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test4/test4.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test4/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test5/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test5/test5.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test5/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test6/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test6/test6.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test6/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test7/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test7/test7.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test7/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test8/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test8/test8.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test8/testinfo.dat create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test9/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test9/test9.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/sscanf_s/test9/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/strcat/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/strcat/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/strchr/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/strchr/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/strcmp/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/strcmp/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/strcpy/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/strcpy/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/strcspn/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/strcspn/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/strlen/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/strlen/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/strncat/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/strncat/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/strncmp/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/strncmp/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/strncpy/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/strncpy/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/strpbrk/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/strpbrk/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/strrchr/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/strrchr/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/strspn/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/strspn/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/strstr/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/strstr/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/strtod/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/strtod/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/strtod/test2/test2.c create mode 100644 src/pal/tests/palsuite/c_runtime/strtod/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/strtok/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/strtok/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/strtoul/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/strtoul/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/swprintf/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/swprintf/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/swprintf/test10/test10.c create mode 100644 src/pal/tests/palsuite/c_runtime/swprintf/test10/test10.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/swprintf/test11/test11.c create mode 100644 src/pal/tests/palsuite/c_runtime/swprintf/test11/test11.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/swprintf/test12/test12.c create mode 100644 src/pal/tests/palsuite/c_runtime/swprintf/test12/test12.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/swprintf/test13/test13.c create mode 100644 src/pal/tests/palsuite/c_runtime/swprintf/test13/test13.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/swprintf/test14/test14.c create mode 100644 src/pal/tests/palsuite/c_runtime/swprintf/test14/test14.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/swprintf/test15/test15.c create mode 100644 src/pal/tests/palsuite/c_runtime/swprintf/test15/test15.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/swprintf/test16/test16.c create mode 100644 src/pal/tests/palsuite/c_runtime/swprintf/test16/test16.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/swprintf/test17/test17.c create mode 100644 src/pal/tests/palsuite/c_runtime/swprintf/test17/test17.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/swprintf/test18/test18.c create mode 100644 src/pal/tests/palsuite/c_runtime/swprintf/test18/test18.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/swprintf/test19/test19.c create mode 100644 src/pal/tests/palsuite/c_runtime/swprintf/test19/test19.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/swprintf/test2/test2.c create mode 100644 src/pal/tests/palsuite/c_runtime/swprintf/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/swprintf/test3/test3.c create mode 100644 src/pal/tests/palsuite/c_runtime/swprintf/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/swprintf/test4/test4.c create mode 100644 src/pal/tests/palsuite/c_runtime/swprintf/test4/test4.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/swprintf/test5/test5.c create mode 100644 src/pal/tests/palsuite/c_runtime/swprintf/test5/test5.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/swprintf/test6/test6.c create mode 100644 src/pal/tests/palsuite/c_runtime/swprintf/test6/test6.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/swprintf/test7/test7.c create mode 100644 src/pal/tests/palsuite/c_runtime/swprintf/test7/test7.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/swprintf/test8/test8.c create mode 100644 src/pal/tests/palsuite/c_runtime/swprintf/test8/test8.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/swprintf/test9/test9.c create mode 100644 src/pal/tests/palsuite/c_runtime/swprintf/test9/test9.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/swscanf/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/swscanf/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/swscanf/test10/test10.c create mode 100644 src/pal/tests/palsuite/c_runtime/swscanf/test10/test10.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/swscanf/test11/test11.c create mode 100644 src/pal/tests/palsuite/c_runtime/swscanf/test11/test11.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/swscanf/test12/test12.c create mode 100644 src/pal/tests/palsuite/c_runtime/swscanf/test12/test12.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/swscanf/test13/test13.c create mode 100644 src/pal/tests/palsuite/c_runtime/swscanf/test13/test13.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/swscanf/test14/test14.c create mode 100644 src/pal/tests/palsuite/c_runtime/swscanf/test14/test14.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/swscanf/test15/test15.c create mode 100644 src/pal/tests/palsuite/c_runtime/swscanf/test15/test15.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/swscanf/test16/test16.c create mode 100644 src/pal/tests/palsuite/c_runtime/swscanf/test16/test16.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/swscanf/test17/test17.c create mode 100644 src/pal/tests/palsuite/c_runtime/swscanf/test17/test17.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/swscanf/test2/test2.c create mode 100644 src/pal/tests/palsuite/c_runtime/swscanf/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/swscanf/test3/test3.c create mode 100644 src/pal/tests/palsuite/c_runtime/swscanf/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/swscanf/test4/test4.c create mode 100644 src/pal/tests/palsuite/c_runtime/swscanf/test4/test4.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/swscanf/test5/test5.c create mode 100644 src/pal/tests/palsuite/c_runtime/swscanf/test5/test5.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/swscanf/test6/test6.c create mode 100644 src/pal/tests/palsuite/c_runtime/swscanf/test6/test6.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/swscanf/test7/test7.c create mode 100644 src/pal/tests/palsuite/c_runtime/swscanf/test7/test7.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/swscanf/test8/test8.c create mode 100644 src/pal/tests/palsuite/c_runtime/swscanf/test8/test8.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/swscanf/test9/test9.c create mode 100644 src/pal/tests/palsuite/c_runtime/swscanf/test9/test9.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/tan/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/tan/test1/test1.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/tanf/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/tanf/test1/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/tanf/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/tanf/test1/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/tanh/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/tanh/test1/test1.cpp create mode 100644 src/pal/tests/palsuite/c_runtime/tanhf/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/tanhf/test1/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/c_runtime/tanhf/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/tanhf/test1/testinfo.dat delete mode 100644 src/pal/tests/palsuite/c_runtime/time/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/time/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/tolower/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/tolower/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/toupper/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/toupper/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/towlower/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/towlower/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/towupper/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/towupper/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/ungetc/test1/ungetc.c create mode 100644 src/pal/tests/palsuite/c_runtime/ungetc/test1/ungetc.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/ungetc/test2/ungetc.c create mode 100644 src/pal/tests/palsuite/c_runtime/ungetc/test2/ungetc.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vfprintf/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/vfprintf/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vfprintf/test10/test10.c create mode 100644 src/pal/tests/palsuite/c_runtime/vfprintf/test10/test10.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vfprintf/test11/test11.c create mode 100644 src/pal/tests/palsuite/c_runtime/vfprintf/test11/test11.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vfprintf/test12/test12.c create mode 100644 src/pal/tests/palsuite/c_runtime/vfprintf/test12/test12.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vfprintf/test13/test13.c create mode 100644 src/pal/tests/palsuite/c_runtime/vfprintf/test13/test13.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vfprintf/test14/test14.c create mode 100644 src/pal/tests/palsuite/c_runtime/vfprintf/test14/test14.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vfprintf/test15/test15.c create mode 100644 src/pal/tests/palsuite/c_runtime/vfprintf/test15/test15.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vfprintf/test16/test16.c create mode 100644 src/pal/tests/palsuite/c_runtime/vfprintf/test16/test16.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vfprintf/test17/test17.c create mode 100644 src/pal/tests/palsuite/c_runtime/vfprintf/test17/test17.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vfprintf/test18/test18.c create mode 100644 src/pal/tests/palsuite/c_runtime/vfprintf/test18/test18.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vfprintf/test19/test19.c create mode 100644 src/pal/tests/palsuite/c_runtime/vfprintf/test19/test19.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vfprintf/test2/test2.c create mode 100644 src/pal/tests/palsuite/c_runtime/vfprintf/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vfprintf/test3/test3.c create mode 100644 src/pal/tests/palsuite/c_runtime/vfprintf/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vfprintf/test4/test4.c create mode 100644 src/pal/tests/palsuite/c_runtime/vfprintf/test4/test4.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vfprintf/test5/test5.c create mode 100644 src/pal/tests/palsuite/c_runtime/vfprintf/test5/test5.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vfprintf/test6/test6.c create mode 100644 src/pal/tests/palsuite/c_runtime/vfprintf/test6/test6.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vfprintf/test7/test7.c create mode 100644 src/pal/tests/palsuite/c_runtime/vfprintf/test7/test7.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vfprintf/test8/test8.c create mode 100644 src/pal/tests/palsuite/c_runtime/vfprintf/test8/test8.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vfprintf/test9/test9.c create mode 100644 src/pal/tests/palsuite/c_runtime/vfprintf/test9/test9.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vprintf/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/vprintf/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vprintf/test10/test10.c create mode 100644 src/pal/tests/palsuite/c_runtime/vprintf/test10/test10.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vprintf/test11/test11.c create mode 100644 src/pal/tests/palsuite/c_runtime/vprintf/test11/test11.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vprintf/test12/test12.c create mode 100644 src/pal/tests/palsuite/c_runtime/vprintf/test12/test12.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vprintf/test13/test13.c create mode 100644 src/pal/tests/palsuite/c_runtime/vprintf/test13/test13.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vprintf/test14/test14.c create mode 100644 src/pal/tests/palsuite/c_runtime/vprintf/test14/test14.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vprintf/test15/test15.c create mode 100644 src/pal/tests/palsuite/c_runtime/vprintf/test15/test15.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vprintf/test16/test16.c create mode 100644 src/pal/tests/palsuite/c_runtime/vprintf/test16/test16.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vprintf/test17/test17.c create mode 100644 src/pal/tests/palsuite/c_runtime/vprintf/test17/test17.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vprintf/test18/test18.c create mode 100644 src/pal/tests/palsuite/c_runtime/vprintf/test18/test18.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vprintf/test19/test19.c create mode 100644 src/pal/tests/palsuite/c_runtime/vprintf/test19/test19.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vprintf/test2/test2.c create mode 100644 src/pal/tests/palsuite/c_runtime/vprintf/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vprintf/test3/test3.c create mode 100644 src/pal/tests/palsuite/c_runtime/vprintf/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vprintf/test4/test4.c create mode 100644 src/pal/tests/palsuite/c_runtime/vprintf/test4/test4.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vprintf/test5/test5.c create mode 100644 src/pal/tests/palsuite/c_runtime/vprintf/test5/test5.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vprintf/test6/test6.c create mode 100644 src/pal/tests/palsuite/c_runtime/vprintf/test6/test6.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vprintf/test7/test7.c create mode 100644 src/pal/tests/palsuite/c_runtime/vprintf/test7/test7.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vprintf/test8/test8.c create mode 100644 src/pal/tests/palsuite/c_runtime/vprintf/test8/test8.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vprintf/test9/test9.c create mode 100644 src/pal/tests/palsuite/c_runtime/vprintf/test9/test9.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vsprintf/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/vsprintf/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vsprintf/test10/test10.c create mode 100644 src/pal/tests/palsuite/c_runtime/vsprintf/test10/test10.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vsprintf/test11/test11.c create mode 100644 src/pal/tests/palsuite/c_runtime/vsprintf/test11/test11.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vsprintf/test12/test12.c create mode 100644 src/pal/tests/palsuite/c_runtime/vsprintf/test12/test12.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vsprintf/test13/test13.c create mode 100644 src/pal/tests/palsuite/c_runtime/vsprintf/test13/test13.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vsprintf/test14/test14.c create mode 100644 src/pal/tests/palsuite/c_runtime/vsprintf/test14/test14.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vsprintf/test15/test15.c create mode 100644 src/pal/tests/palsuite/c_runtime/vsprintf/test15/test15.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vsprintf/test16/test16.c create mode 100644 src/pal/tests/palsuite/c_runtime/vsprintf/test16/test16.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vsprintf/test17/test17.c create mode 100644 src/pal/tests/palsuite/c_runtime/vsprintf/test17/test17.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vsprintf/test18/test18.c create mode 100644 src/pal/tests/palsuite/c_runtime/vsprintf/test18/test18.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vsprintf/test19/test19.c create mode 100644 src/pal/tests/palsuite/c_runtime/vsprintf/test19/test19.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vsprintf/test2/test2.c create mode 100644 src/pal/tests/palsuite/c_runtime/vsprintf/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vsprintf/test3/test3.c create mode 100644 src/pal/tests/palsuite/c_runtime/vsprintf/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vsprintf/test4/test4.c create mode 100644 src/pal/tests/palsuite/c_runtime/vsprintf/test4/test4.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vsprintf/test5/test5.c create mode 100644 src/pal/tests/palsuite/c_runtime/vsprintf/test5/test5.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vsprintf/test6/test6.c create mode 100644 src/pal/tests/palsuite/c_runtime/vsprintf/test6/test6.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vsprintf/test7/test7.c create mode 100644 src/pal/tests/palsuite/c_runtime/vsprintf/test7/test7.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vsprintf/test8/test8.c create mode 100644 src/pal/tests/palsuite/c_runtime/vsprintf/test8/test8.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vsprintf/test9/test9.c create mode 100644 src/pal/tests/palsuite/c_runtime/vsprintf/test9/test9.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vswprintf/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/vswprintf/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vswprintf/test10/test10.c create mode 100644 src/pal/tests/palsuite/c_runtime/vswprintf/test10/test10.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vswprintf/test11/test11.c create mode 100644 src/pal/tests/palsuite/c_runtime/vswprintf/test11/test11.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vswprintf/test12/test12.c create mode 100644 src/pal/tests/palsuite/c_runtime/vswprintf/test12/test12.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vswprintf/test13/test13.c create mode 100644 src/pal/tests/palsuite/c_runtime/vswprintf/test13/test13.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vswprintf/test14/test14.c create mode 100644 src/pal/tests/palsuite/c_runtime/vswprintf/test14/test14.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vswprintf/test15/test15.c create mode 100644 src/pal/tests/palsuite/c_runtime/vswprintf/test15/test15.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vswprintf/test16/test16.c create mode 100644 src/pal/tests/palsuite/c_runtime/vswprintf/test16/test16.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vswprintf/test17/test17.c create mode 100644 src/pal/tests/palsuite/c_runtime/vswprintf/test17/test17.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vswprintf/test18/test18.c create mode 100644 src/pal/tests/palsuite/c_runtime/vswprintf/test18/test18.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vswprintf/test19/test19.c create mode 100644 src/pal/tests/palsuite/c_runtime/vswprintf/test19/test19.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vswprintf/test2/test2.c create mode 100644 src/pal/tests/palsuite/c_runtime/vswprintf/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vswprintf/test3/test3.c create mode 100644 src/pal/tests/palsuite/c_runtime/vswprintf/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vswprintf/test4/test4.c create mode 100644 src/pal/tests/palsuite/c_runtime/vswprintf/test4/test4.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vswprintf/test5/test5.c create mode 100644 src/pal/tests/palsuite/c_runtime/vswprintf/test5/test5.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vswprintf/test6/test6.c create mode 100644 src/pal/tests/palsuite/c_runtime/vswprintf/test6/test6.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vswprintf/test7/test7.c create mode 100644 src/pal/tests/palsuite/c_runtime/vswprintf/test7/test7.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vswprintf/test8/test8.c create mode 100644 src/pal/tests/palsuite/c_runtime/vswprintf/test8/test8.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/vswprintf/test9/test9.c create mode 100644 src/pal/tests/palsuite/c_runtime/vswprintf/test9/test9.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/wcscat/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/wcscat/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/wcschr/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/wcschr/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/wcscmp/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/wcscmp/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/wcscpy/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/wcscpy/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/wcslen/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/wcslen/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/wcsncat/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/wcsncat/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/wcsncmp/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/wcsncmp/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/wcsncpy/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/wcsncpy/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/wcspbrk/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/wcspbrk/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/wcsrchr/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/wcsrchr/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/wcsstr/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/wcsstr/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/wcstod/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/wcstod/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/wcstod/test2/test2.c create mode 100644 src/pal/tests/palsuite/c_runtime/wcstod/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/wcstok/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/wcstok/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/wcstol/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/wcstol/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/wcstol/test2/test2.c create mode 100644 src/pal/tests/palsuite/c_runtime/wcstol/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/wcstol/test3/test3.c create mode 100644 src/pal/tests/palsuite/c_runtime/wcstol/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/wcstol/test4/test4.c create mode 100644 src/pal/tests/palsuite/c_runtime/wcstol/test4/test4.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/wcstol/test5/test5.c create mode 100644 src/pal/tests/palsuite/c_runtime/wcstol/test5/test5.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/wcstol/test6/test6.c create mode 100644 src/pal/tests/palsuite/c_runtime/wcstol/test6/test6.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/wcstoul/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/wcstoul/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/wcstoul/test2/test2.c create mode 100644 src/pal/tests/palsuite/c_runtime/wcstoul/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/wcstoul/test3/test3.c create mode 100644 src/pal/tests/palsuite/c_runtime/wcstoul/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/wcstoul/test4/test4.c create mode 100644 src/pal/tests/palsuite/c_runtime/wcstoul/test4/test4.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/wcstoul/test5/test5.c create mode 100644 src/pal/tests/palsuite/c_runtime/wcstoul/test5/test5.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/wcstoul/test6/test6.c create mode 100644 src/pal/tests/palsuite/c_runtime/wcstoul/test6/test6.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/wprintf/test1/test1.c create mode 100644 src/pal/tests/palsuite/c_runtime/wprintf/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/c_runtime/wprintf/test2/test2.c create mode 100644 src/pal/tests/palsuite/c_runtime/wprintf/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/composite/object_management/event/nonshared/event.c create mode 100644 src/pal/tests/palsuite/composite/object_management/event/nonshared/event.cpp delete mode 100644 src/pal/tests/palsuite/composite/object_management/event/nonshared/main.c create mode 100644 src/pal/tests/palsuite/composite/object_management/event/nonshared/main.cpp delete mode 100644 src/pal/tests/palsuite/composite/object_management/event/shared/event.c create mode 100644 src/pal/tests/palsuite/composite/object_management/event/shared/event.cpp delete mode 100644 src/pal/tests/palsuite/composite/object_management/event/shared/main.c create mode 100644 src/pal/tests/palsuite/composite/object_management/event/shared/main.cpp delete mode 100644 src/pal/tests/palsuite/composite/object_management/mutex/nonshared/main.c create mode 100644 src/pal/tests/palsuite/composite/object_management/mutex/nonshared/main.cpp delete mode 100644 src/pal/tests/palsuite/composite/object_management/mutex/nonshared/mutex.c create mode 100644 src/pal/tests/palsuite/composite/object_management/mutex/nonshared/mutex.cpp delete mode 100644 src/pal/tests/palsuite/composite/object_management/mutex/shared/main.c create mode 100644 src/pal/tests/palsuite/composite/object_management/mutex/shared/main.cpp delete mode 100644 src/pal/tests/palsuite/composite/object_management/mutex/shared/mutex.c create mode 100644 src/pal/tests/palsuite/composite/object_management/mutex/shared/mutex.cpp delete mode 100644 src/pal/tests/palsuite/composite/object_management/semaphore/nonshared/main.c create mode 100644 src/pal/tests/palsuite/composite/object_management/semaphore/nonshared/main.cpp delete mode 100644 src/pal/tests/palsuite/composite/object_management/semaphore/nonshared/semaphore.c create mode 100644 src/pal/tests/palsuite/composite/object_management/semaphore/nonshared/semaphore.cpp delete mode 100644 src/pal/tests/palsuite/composite/object_management/semaphore/shared/main.c create mode 100644 src/pal/tests/palsuite/composite/object_management/semaphore/shared/main.cpp delete mode 100644 src/pal/tests/palsuite/composite/object_management/semaphore/shared/semaphore.c create mode 100644 src/pal/tests/palsuite/composite/object_management/semaphore/shared/semaphore.cpp delete mode 100644 src/pal/tests/palsuite/composite/synchronization/criticalsection/criticalsection.c create mode 100644 src/pal/tests/palsuite/composite/synchronization/criticalsection/criticalsection.cpp delete mode 100644 src/pal/tests/palsuite/composite/synchronization/criticalsection/mainWrapper.c create mode 100644 src/pal/tests/palsuite/composite/synchronization/criticalsection/mainWrapper.cpp delete mode 100644 src/pal/tests/palsuite/composite/synchronization/nativecriticalsection/pal_composite_native_cs.c create mode 100644 src/pal/tests/palsuite/composite/synchronization/nativecriticalsection/pal_composite_native_cs.cpp delete mode 100644 src/pal/tests/palsuite/composite/synchronization/nativecs_interlocked/pal_composite_native_cs.c create mode 100644 src/pal/tests/palsuite/composite/synchronization/nativecs_interlocked/pal_composite_native_cs.cpp delete mode 100644 src/pal/tests/palsuite/composite/threading/threadsuspension/mainWrapper.c create mode 100644 src/pal/tests/palsuite/composite/threading/threadsuspension/mainWrapper.cpp delete mode 100644 src/pal/tests/palsuite/composite/threading/threadsuspension/threadsuspension.c create mode 100644 src/pal/tests/palsuite/composite/threading/threadsuspension/threadsuspension.cpp delete mode 100644 src/pal/tests/palsuite/composite/threading/threadsuspension_switchthread/mainWrapper.c create mode 100644 src/pal/tests/palsuite/composite/threading/threadsuspension_switchthread/mainWrapper.cpp delete mode 100644 src/pal/tests/palsuite/composite/threading/threadsuspension_switchthread/threadsuspension.c create mode 100644 src/pal/tests/palsuite/composite/threading/threadsuspension_switchthread/threadsuspension.cpp delete mode 100644 src/pal/tests/palsuite/composite/wfmo/main.c create mode 100644 src/pal/tests/palsuite/composite/wfmo/main.cpp delete mode 100644 src/pal/tests/palsuite/composite/wfmo/mutex.c create mode 100644 src/pal/tests/palsuite/composite/wfmo/mutex.cpp delete mode 100644 src/pal/tests/palsuite/debug_api/DebugBreak/test1/test1.c create mode 100644 src/pal/tests/palsuite/debug_api/DebugBreak/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/debug_api/OutputDebugStringA/test1/helper.c create mode 100644 src/pal/tests/palsuite/debug_api/OutputDebugStringA/test1/helper.cpp delete mode 100644 src/pal/tests/palsuite/debug_api/OutputDebugStringA/test1/test1.c create mode 100644 src/pal/tests/palsuite/debug_api/OutputDebugStringA/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/debug_api/OutputDebugStringW/test1/test1.c create mode 100644 src/pal/tests/palsuite/debug_api/OutputDebugStringW/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/debug_api/WriteProcessMemory/test1/helper.c create mode 100644 src/pal/tests/palsuite/debug_api/WriteProcessMemory/test1/helper.cpp delete mode 100644 src/pal/tests/palsuite/debug_api/WriteProcessMemory/test1/test1.c create mode 100644 src/pal/tests/palsuite/debug_api/WriteProcessMemory/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/debug_api/WriteProcessMemory/test3/helper.c create mode 100644 src/pal/tests/palsuite/debug_api/WriteProcessMemory/test3/helper.cpp delete mode 100644 src/pal/tests/palsuite/debug_api/WriteProcessMemory/test3/test3.c create mode 100644 src/pal/tests/palsuite/debug_api/WriteProcessMemory/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/debug_api/WriteProcessMemory/test4/helper.c create mode 100644 src/pal/tests/palsuite/debug_api/WriteProcessMemory/test4/helper.cpp delete mode 100644 src/pal/tests/palsuite/debug_api/WriteProcessMemory/test4/test4.c create mode 100644 src/pal/tests/palsuite/debug_api/WriteProcessMemory/test4/test4.cpp delete mode 100644 src/pal/tests/palsuite/exception_handling/PAL_EXCEPT_FILTER/test1/PAL_EXCEPT_FILTER.c create mode 100644 src/pal/tests/palsuite/exception_handling/PAL_EXCEPT_FILTER/test1/PAL_EXCEPT_FILTER.cpp delete mode 100644 src/pal/tests/palsuite/exception_handling/PAL_EXCEPT_FILTER/test2/pal_except_filter.c create mode 100644 src/pal/tests/palsuite/exception_handling/PAL_EXCEPT_FILTER/test2/pal_except_filter.cpp delete mode 100644 src/pal/tests/palsuite/exception_handling/PAL_EXCEPT_FILTER/test3/pal_except_filter.c create mode 100644 src/pal/tests/palsuite/exception_handling/PAL_EXCEPT_FILTER/test3/pal_except_filter.cpp delete mode 100644 src/pal/tests/palsuite/exception_handling/PAL_EXCEPT_FILTER_EX/test1/PAL_EXCEPT_FILTER_EX.c create mode 100644 src/pal/tests/palsuite/exception_handling/PAL_EXCEPT_FILTER_EX/test1/PAL_EXCEPT_FILTER_EX.cpp delete mode 100644 src/pal/tests/palsuite/exception_handling/PAL_EXCEPT_FILTER_EX/test2/pal_except_filter_ex.c create mode 100644 src/pal/tests/palsuite/exception_handling/PAL_EXCEPT_FILTER_EX/test2/pal_except_filter_ex.cpp delete mode 100644 src/pal/tests/palsuite/exception_handling/PAL_EXCEPT_FILTER_EX/test3/pal_except_filter.c create mode 100644 src/pal/tests/palsuite/exception_handling/PAL_EXCEPT_FILTER_EX/test3/pal_except_filter.cpp delete mode 100644 src/pal/tests/palsuite/exception_handling/PAL_TRY_EXCEPT/test1/PAL_TRY_EXCEPT.c create mode 100644 src/pal/tests/palsuite/exception_handling/PAL_TRY_EXCEPT/test1/PAL_TRY_EXCEPT.cpp delete mode 100644 src/pal/tests/palsuite/exception_handling/PAL_TRY_EXCEPT/test2/PAL_TRY_EXCEPT.c create mode 100644 src/pal/tests/palsuite/exception_handling/PAL_TRY_EXCEPT/test2/PAL_TRY_EXCEPT.cpp delete mode 100644 src/pal/tests/palsuite/exception_handling/PAL_TRY_EXCEPT_EX/test1/PAL_TRY_EXCEPT_EX.c create mode 100644 src/pal/tests/palsuite/exception_handling/PAL_TRY_EXCEPT_EX/test1/PAL_TRY_EXCEPT_EX.cpp delete mode 100644 src/pal/tests/palsuite/exception_handling/PAL_TRY_EXCEPT_EX/test2/PAL_TRY_EXCEPT_EX.c create mode 100644 src/pal/tests/palsuite/exception_handling/PAL_TRY_EXCEPT_EX/test2/PAL_TRY_EXCEPT_EX.cpp delete mode 100644 src/pal/tests/palsuite/exception_handling/PAL_TRY_EXCEPT_EX/test3/PAL_TRY_EXCEPT_EX.c create mode 100644 src/pal/tests/palsuite/exception_handling/PAL_TRY_EXCEPT_EX/test3/PAL_TRY_EXCEPT_EX.cpp delete mode 100644 src/pal/tests/palsuite/exception_handling/PAL_TRY_LEAVE_FINALLY/test1/PAL_TRY_LEAVE_FINALLY.c create mode 100644 src/pal/tests/palsuite/exception_handling/PAL_TRY_LEAVE_FINALLY/test1/PAL_TRY_LEAVE_FINALLY.cpp delete mode 100644 src/pal/tests/palsuite/exception_handling/SetUnhandledExceptionFilter/test1/test1.c create mode 100644 src/pal/tests/palsuite/exception_handling/SetUnhandledExceptionFilter/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/exception_handling/pal_except/test1/test1.c create mode 100644 src/pal/tests/palsuite/exception_handling/pal_except/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/exception_handling/pal_except/test2/test2.c create mode 100644 src/pal/tests/palsuite/exception_handling/pal_except/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/exception_handling/pal_except/test3/test3.c create mode 100644 src/pal/tests/palsuite/exception_handling/pal_except/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/exception_handling/pal_except/test4/test4.c create mode 100644 src/pal/tests/palsuite/exception_handling/pal_except/test4/test4.cpp delete mode 100644 src/pal/tests/palsuite/exception_handling/pal_except/test5/test5.c create mode 100644 src/pal/tests/palsuite/exception_handling/pal_except/test5/test5.cpp delete mode 100644 src/pal/tests/palsuite/exception_handling/pal_except/test6/test6.c create mode 100644 src/pal/tests/palsuite/exception_handling/pal_except/test6/test6.cpp delete mode 100644 src/pal/tests/palsuite/exception_handling/pal_except/test7/test7.c create mode 100644 src/pal/tests/palsuite/exception_handling/pal_except/test7/test7.cpp delete mode 100644 src/pal/tests/palsuite/exception_handling/pal_finally/test1/pal_finally.c create mode 100644 src/pal/tests/palsuite/exception_handling/pal_finally/test1/pal_finally.cpp delete mode 100644 src/pal/tests/palsuite/file_io/AreFileApisANSI/test1/AreFileApisANSI.c create mode 100644 src/pal/tests/palsuite/file_io/AreFileApisANSI/test1/AreFileApisANSI.cpp delete mode 100644 src/pal/tests/palsuite/file_io/CompareFileTime/test1/CompareFileTime.c create mode 100644 src/pal/tests/palsuite/file_io/CompareFileTime/test1/CompareFileTime.cpp delete mode 100644 src/pal/tests/palsuite/file_io/CopyFileA/test1/CopyFileA.c create mode 100644 src/pal/tests/palsuite/file_io/CopyFileA/test1/CopyFileA.cpp delete mode 100644 src/pal/tests/palsuite/file_io/CopyFileA/test2/test2.c create mode 100644 src/pal/tests/palsuite/file_io/CopyFileA/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/file_io/CopyFileA/test3/test3.c create mode 100644 src/pal/tests/palsuite/file_io/CopyFileA/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/file_io/CopyFileA/test4/test4.c create mode 100644 src/pal/tests/palsuite/file_io/CopyFileA/test4/test4.cpp delete mode 100644 src/pal/tests/palsuite/file_io/CopyFileW/test1/CopyFileW.c create mode 100644 src/pal/tests/palsuite/file_io/CopyFileW/test1/CopyFileW.cpp delete mode 100644 src/pal/tests/palsuite/file_io/CopyFileW/test2/test2.c create mode 100644 src/pal/tests/palsuite/file_io/CopyFileW/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/file_io/CopyFileW/test3/test3.c create mode 100644 src/pal/tests/palsuite/file_io/CopyFileW/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/file_io/CreateDirectoryA/test1/CreateDirectoryA.c create mode 100644 src/pal/tests/palsuite/file_io/CreateDirectoryA/test1/CreateDirectoryA.cpp delete mode 100644 src/pal/tests/palsuite/file_io/CreateDirectoryA/test2/createdirectorya.c create mode 100644 src/pal/tests/palsuite/file_io/CreateDirectoryA/test2/createdirectorya.cpp delete mode 100644 src/pal/tests/palsuite/file_io/CreateDirectoryW/test1/CreateDirectoryW.c create mode 100644 src/pal/tests/palsuite/file_io/CreateDirectoryW/test1/CreateDirectoryW.cpp delete mode 100644 src/pal/tests/palsuite/file_io/CreateDirectoryW/test2/createdirectoryw.c create mode 100644 src/pal/tests/palsuite/file_io/CreateDirectoryW/test2/createdirectoryw.cpp delete mode 100644 src/pal/tests/palsuite/file_io/CreateFileA/test1/CreateFileA.c create mode 100644 src/pal/tests/palsuite/file_io/CreateFileA/test1/CreateFileA.cpp delete mode 100644 src/pal/tests/palsuite/file_io/CreateFileW/test1/CreateFileW.c create mode 100644 src/pal/tests/palsuite/file_io/CreateFileW/test1/CreateFileW.cpp delete mode 100644 src/pal/tests/palsuite/file_io/DeleteFileW/test1/DeleteFileW.c create mode 100644 src/pal/tests/palsuite/file_io/DeleteFileW/test1/DeleteFileW.cpp delete mode 100644 src/pal/tests/palsuite/file_io/FILECanonicalizePath/FILECanonicalizePath.c create mode 100644 src/pal/tests/palsuite/file_io/FILECanonicalizePath/FILECanonicalizePath.cpp delete mode 100644 src/pal/tests/palsuite/file_io/FileTimeToDosDateTime/test1/test1.c create mode 100644 src/pal/tests/palsuite/file_io/FileTimeToDosDateTime/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/file_io/FindClose/test1/FindClose.c create mode 100644 src/pal/tests/palsuite/file_io/FindClose/test1/FindClose.cpp delete mode 100644 src/pal/tests/palsuite/file_io/FindFirstFileA/test1/FindFirstFileA.c create mode 100644 src/pal/tests/palsuite/file_io/FindFirstFileA/test1/FindFirstFileA.cpp delete mode 100644 src/pal/tests/palsuite/file_io/FindFirstFileW/test1/FindFirstFileW.c create mode 100644 src/pal/tests/palsuite/file_io/FindFirstFileW/test1/FindFirstFileW.cpp delete mode 100644 src/pal/tests/palsuite/file_io/FindNextFileA/test1/FindNextFileA.c create mode 100644 src/pal/tests/palsuite/file_io/FindNextFileA/test1/FindNextFileA.cpp delete mode 100644 src/pal/tests/palsuite/file_io/FindNextFileA/test2/findnextfilea.c create mode 100644 src/pal/tests/palsuite/file_io/FindNextFileA/test2/findnextfilea.cpp delete mode 100644 src/pal/tests/palsuite/file_io/FindNextFileW/test1/FindNextFileW.c create mode 100644 src/pal/tests/palsuite/file_io/FindNextFileW/test1/FindNextFileW.cpp delete mode 100644 src/pal/tests/palsuite/file_io/FindNextFileW/test2/findnextfilew.c create mode 100644 src/pal/tests/palsuite/file_io/FindNextFileW/test2/findnextfilew.cpp delete mode 100644 src/pal/tests/palsuite/file_io/FlushFileBuffers/test1/FlushFileBuffers.c create mode 100644 src/pal/tests/palsuite/file_io/FlushFileBuffers/test1/FlushFileBuffers.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetConsoleCP/test1/GetConsoleCP.c create mode 100644 src/pal/tests/palsuite/file_io/GetConsoleCP/test1/GetConsoleCP.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetConsoleOutputCP/test1/GetConsoleOutputCP.c create mode 100644 src/pal/tests/palsuite/file_io/GetConsoleOutputCP/test1/GetConsoleOutputCP.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetCurrentDirectoryA/test1/GetCurrentDirectoryA.c create mode 100644 src/pal/tests/palsuite/file_io/GetCurrentDirectoryA/test1/GetCurrentDirectoryA.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetCurrentDirectoryW/test1/GetCurrentDirectoryW.c create mode 100644 src/pal/tests/palsuite/file_io/GetCurrentDirectoryW/test1/GetCurrentDirectoryW.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetDiskFreeSpaceW/test1/GetDiskFreeSpaceW.c create mode 100644 src/pal/tests/palsuite/file_io/GetDiskFreeSpaceW/test1/GetDiskFreeSpaceW.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetDiskFreeSpaceW/test2/getdiskfreespacew.c create mode 100644 src/pal/tests/palsuite/file_io/GetDiskFreeSpaceW/test2/getdiskfreespacew.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetFileAttributesA/test1/GetFileAttributesA.c create mode 100644 src/pal/tests/palsuite/file_io/GetFileAttributesA/test1/GetFileAttributesA.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetFileAttributesExW/test1/test1.c create mode 100644 src/pal/tests/palsuite/file_io/GetFileAttributesExW/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetFileAttributesExW/test2/test2.c create mode 100644 src/pal/tests/palsuite/file_io/GetFileAttributesExW/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetFileAttributesW/test1/GetFileAttributesW.c create mode 100644 src/pal/tests/palsuite/file_io/GetFileAttributesW/test1/GetFileAttributesW.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetFileSize/test1/GetFileSize.c create mode 100644 src/pal/tests/palsuite/file_io/GetFileSize/test1/GetFileSize.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetFileSizeEx/test1/GetFileSizeEx.c create mode 100644 src/pal/tests/palsuite/file_io/GetFileSizeEx/test1/GetFileSizeEx.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetFileTime/test1/GetFileTime.c create mode 100644 src/pal/tests/palsuite/file_io/GetFileTime/test1/GetFileTime.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetFileTime/test2/GetFileTime.c create mode 100644 src/pal/tests/palsuite/file_io/GetFileTime/test2/GetFileTime.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetFileTime/test3/GetFileTime.c create mode 100644 src/pal/tests/palsuite/file_io/GetFileTime/test3/GetFileTime.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetFileTime/test4/GetFileTime.c create mode 100644 src/pal/tests/palsuite/file_io/GetFileTime/test4/GetFileTime.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetFileTime/test5/getfiletime.c create mode 100644 src/pal/tests/palsuite/file_io/GetFileTime/test5/getfiletime.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetFileTime/test6/getfiletime.c create mode 100644 src/pal/tests/palsuite/file_io/GetFileTime/test6/getfiletime.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetFileTime/test7/getfiletime.c create mode 100644 src/pal/tests/palsuite/file_io/GetFileTime/test7/getfiletime.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetFileType/test1/GetFileType.c create mode 100644 src/pal/tests/palsuite/file_io/GetFileType/test1/GetFileType.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetFileType/test2/getfiletype.c create mode 100644 src/pal/tests/palsuite/file_io/GetFileType/test2/getfiletype.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetFileType/test3/getfiletype.c create mode 100644 src/pal/tests/palsuite/file_io/GetFileType/test3/getfiletype.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetFullPathNameA/test1/GetFullPathNameA.c create mode 100644 src/pal/tests/palsuite/file_io/GetFullPathNameA/test1/GetFullPathNameA.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetFullPathNameA/test2/test2.c create mode 100644 src/pal/tests/palsuite/file_io/GetFullPathNameA/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetFullPathNameA/test3/test3.c create mode 100644 src/pal/tests/palsuite/file_io/GetFullPathNameA/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetFullPathNameA/test4/test4.c create mode 100644 src/pal/tests/palsuite/file_io/GetFullPathNameA/test4/test4.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetFullPathNameW/test1/GetFullPathNameW.c create mode 100644 src/pal/tests/palsuite/file_io/GetFullPathNameW/test1/GetFullPathNameW.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetFullPathNameW/test2/test2.c create mode 100644 src/pal/tests/palsuite/file_io/GetFullPathNameW/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetFullPathNameW/test3/test3.c create mode 100644 src/pal/tests/palsuite/file_io/GetFullPathNameW/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetFullPathNameW/test4/test4.c create mode 100644 src/pal/tests/palsuite/file_io/GetFullPathNameW/test4/test4.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetLongPathNameW/test1/GetLongPathNameW.c create mode 100644 src/pal/tests/palsuite/file_io/GetLongPathNameW/test1/GetLongPathNameW.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetLongPathNameW/test2/getlongpathnamew.c create mode 100644 src/pal/tests/palsuite/file_io/GetLongPathNameW/test2/getlongpathnamew.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetStdHandle/test1/GetStdHandle.c create mode 100644 src/pal/tests/palsuite/file_io/GetStdHandle/test1/GetStdHandle.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetStdHandle/test2/GetStdHandle.c create mode 100644 src/pal/tests/palsuite/file_io/GetStdHandle/test2/GetStdHandle.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetSystemTime/test1/test.c create mode 100644 src/pal/tests/palsuite/file_io/GetSystemTime/test1/test.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetSystemTimeAsFileTime/test1/GetSystemTimeAsFileTime.c create mode 100644 src/pal/tests/palsuite/file_io/GetSystemTimeAsFileTime/test1/GetSystemTimeAsFileTime.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetTempFileNameA/test1/GetTempFileNameA.c create mode 100644 src/pal/tests/palsuite/file_io/GetTempFileNameA/test1/GetTempFileNameA.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetTempFileNameA/test2/GetTempFileNameA.c create mode 100644 src/pal/tests/palsuite/file_io/GetTempFileNameA/test2/GetTempFileNameA.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetTempFileNameA/test3/gettempfilenamea.c create mode 100644 src/pal/tests/palsuite/file_io/GetTempFileNameA/test3/gettempfilenamea.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetTempFileNameW/test1/GetTempFileNameW.c create mode 100644 src/pal/tests/palsuite/file_io/GetTempFileNameW/test1/GetTempFileNameW.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetTempFileNameW/test2/GetTempFileNameW.c create mode 100644 src/pal/tests/palsuite/file_io/GetTempFileNameW/test2/GetTempFileNameW.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetTempFileNameW/test3/gettempfilenamew.c create mode 100644 src/pal/tests/palsuite/file_io/GetTempFileNameW/test3/gettempfilenamew.cpp delete mode 100644 src/pal/tests/palsuite/file_io/GetTempPathW/test1/GetTempPathW.c create mode 100644 src/pal/tests/palsuite/file_io/GetTempPathW/test1/GetTempPathW.cpp delete mode 100644 src/pal/tests/palsuite/file_io/MoveFileA/test1/MoveFileA.c create mode 100644 src/pal/tests/palsuite/file_io/MoveFileA/test1/MoveFileA.cpp delete mode 100644 src/pal/tests/palsuite/file_io/MoveFileExA/test1/MoveFileExA.c create mode 100644 src/pal/tests/palsuite/file_io/MoveFileExA/test1/MoveFileExA.cpp delete mode 100644 src/pal/tests/palsuite/file_io/MoveFileExW/test1/MoveFileExW.c create mode 100644 src/pal/tests/palsuite/file_io/MoveFileExW/test1/MoveFileExW.cpp delete mode 100644 src/pal/tests/palsuite/file_io/MoveFileW/test1/MoveFileW.c create mode 100644 src/pal/tests/palsuite/file_io/MoveFileW/test1/MoveFileW.cpp delete mode 100644 src/pal/tests/palsuite/file_io/ReadFile/test1/ReadFile.c create mode 100644 src/pal/tests/palsuite/file_io/ReadFile/test1/ReadFile.cpp delete mode 100644 src/pal/tests/palsuite/file_io/ReadFile/test2/ReadFile.c create mode 100644 src/pal/tests/palsuite/file_io/ReadFile/test2/ReadFile.cpp delete mode 100644 src/pal/tests/palsuite/file_io/ReadFile/test3/ReadFile.c create mode 100644 src/pal/tests/palsuite/file_io/ReadFile/test3/ReadFile.cpp delete mode 100644 src/pal/tests/palsuite/file_io/ReadFile/test4/readfile.c create mode 100644 src/pal/tests/palsuite/file_io/ReadFile/test4/readfile.cpp delete mode 100644 src/pal/tests/palsuite/file_io/RemoveDirectoryW/test1/RemoveDirectoryW.c create mode 100644 src/pal/tests/palsuite/file_io/RemoveDirectoryW/test1/RemoveDirectoryW.cpp delete mode 100644 src/pal/tests/palsuite/file_io/SearchPathA/test1/SearchPathA.c create mode 100644 src/pal/tests/palsuite/file_io/SearchPathA/test1/SearchPathA.cpp delete mode 100644 src/pal/tests/palsuite/file_io/SearchPathW/test1/SearchPathW.c create mode 100644 src/pal/tests/palsuite/file_io/SearchPathW/test1/SearchPathW.cpp delete mode 100644 src/pal/tests/palsuite/file_io/SetCurrentDirectoryA/test1/SetCurrentDirectoryA.c create mode 100644 src/pal/tests/palsuite/file_io/SetCurrentDirectoryA/test1/SetCurrentDirectoryA.cpp delete mode 100644 src/pal/tests/palsuite/file_io/SetCurrentDirectoryA/test2/setcurrentdirectorya.c create mode 100644 src/pal/tests/palsuite/file_io/SetCurrentDirectoryA/test2/setcurrentdirectorya.cpp delete mode 100644 src/pal/tests/palsuite/file_io/SetCurrentDirectoryA/test3/setcurrentdirectorya.c create mode 100644 src/pal/tests/palsuite/file_io/SetCurrentDirectoryA/test3/setcurrentdirectorya.cpp delete mode 100644 src/pal/tests/palsuite/file_io/SetCurrentDirectoryW/test1/SetCurrentDirectoryW.c create mode 100644 src/pal/tests/palsuite/file_io/SetCurrentDirectoryW/test1/SetCurrentDirectoryW.cpp delete mode 100644 src/pal/tests/palsuite/file_io/SetCurrentDirectoryW/test2/setcurrentdirectoryw.c create mode 100644 src/pal/tests/palsuite/file_io/SetCurrentDirectoryW/test2/setcurrentdirectoryw.cpp delete mode 100644 src/pal/tests/palsuite/file_io/SetCurrentDirectoryW/test3/setcurrentdirectoryw.c create mode 100644 src/pal/tests/palsuite/file_io/SetCurrentDirectoryW/test3/setcurrentdirectoryw.cpp delete mode 100644 src/pal/tests/palsuite/file_io/SetEndOfFile/test1/SetEndOfFile.c create mode 100644 src/pal/tests/palsuite/file_io/SetEndOfFile/test1/SetEndOfFile.cpp delete mode 100644 src/pal/tests/palsuite/file_io/SetEndOfFile/test2/SetEndOfFile.c create mode 100644 src/pal/tests/palsuite/file_io/SetEndOfFile/test2/SetEndOfFile.cpp delete mode 100644 src/pal/tests/palsuite/file_io/SetEndOfFile/test3/SetEndOfFile.c create mode 100644 src/pal/tests/palsuite/file_io/SetEndOfFile/test3/SetEndOfFile.cpp delete mode 100644 src/pal/tests/palsuite/file_io/SetEndOfFile/test4/setendoffile.c create mode 100644 src/pal/tests/palsuite/file_io/SetEndOfFile/test4/setendoffile.cpp delete mode 100644 src/pal/tests/palsuite/file_io/SetEndOfFile/test5/test5.c create mode 100644 src/pal/tests/palsuite/file_io/SetEndOfFile/test5/test5.cpp delete mode 100644 src/pal/tests/palsuite/file_io/SetFileAttributesA/test1/SetFileAttributesA.c create mode 100644 src/pal/tests/palsuite/file_io/SetFileAttributesA/test1/SetFileAttributesA.cpp delete mode 100644 src/pal/tests/palsuite/file_io/SetFileAttributesA/test2/SetFileAttributesA.c create mode 100644 src/pal/tests/palsuite/file_io/SetFileAttributesA/test2/SetFileAttributesA.cpp delete mode 100644 src/pal/tests/palsuite/file_io/SetFileAttributesA/test3/SetFileAttributesA.c create mode 100644 src/pal/tests/palsuite/file_io/SetFileAttributesA/test3/SetFileAttributesA.cpp delete mode 100644 src/pal/tests/palsuite/file_io/SetFileAttributesA/test4/SetFileAttributesA.c create mode 100644 src/pal/tests/palsuite/file_io/SetFileAttributesA/test4/SetFileAttributesA.cpp delete mode 100644 src/pal/tests/palsuite/file_io/SetFileAttributesW/test1/SetFileAttributesW.c create mode 100644 src/pal/tests/palsuite/file_io/SetFileAttributesW/test1/SetFileAttributesW.cpp delete mode 100644 src/pal/tests/palsuite/file_io/SetFileAttributesW/test2/SetFileAttributesW.c create mode 100644 src/pal/tests/palsuite/file_io/SetFileAttributesW/test2/SetFileAttributesW.cpp delete mode 100644 src/pal/tests/palsuite/file_io/SetFileAttributesW/test3/SetFileAttributesW.c create mode 100644 src/pal/tests/palsuite/file_io/SetFileAttributesW/test3/SetFileAttributesW.cpp delete mode 100644 src/pal/tests/palsuite/file_io/SetFileAttributesW/test4/SetFileAttributesW.c create mode 100644 src/pal/tests/palsuite/file_io/SetFileAttributesW/test4/SetFileAttributesW.cpp delete mode 100644 src/pal/tests/palsuite/file_io/SetFilePointer/test1/SetFilePointer.c create mode 100644 src/pal/tests/palsuite/file_io/SetFilePointer/test1/SetFilePointer.cpp delete mode 100644 src/pal/tests/palsuite/file_io/SetFilePointer/test2/SetFilePointer.c create mode 100644 src/pal/tests/palsuite/file_io/SetFilePointer/test2/SetFilePointer.cpp delete mode 100644 src/pal/tests/palsuite/file_io/SetFilePointer/test3/SetFilePointer.c create mode 100644 src/pal/tests/palsuite/file_io/SetFilePointer/test3/SetFilePointer.cpp delete mode 100644 src/pal/tests/palsuite/file_io/SetFilePointer/test4/SetFilePointer.c create mode 100644 src/pal/tests/palsuite/file_io/SetFilePointer/test4/SetFilePointer.cpp delete mode 100644 src/pal/tests/palsuite/file_io/SetFilePointer/test5/SetFilePointer.c create mode 100644 src/pal/tests/palsuite/file_io/SetFilePointer/test5/SetFilePointer.cpp delete mode 100644 src/pal/tests/palsuite/file_io/SetFilePointer/test6/SetFilePointer.c create mode 100644 src/pal/tests/palsuite/file_io/SetFilePointer/test6/SetFilePointer.cpp delete mode 100644 src/pal/tests/palsuite/file_io/SetFilePointer/test7/SetFilePointer.c create mode 100644 src/pal/tests/palsuite/file_io/SetFilePointer/test7/SetFilePointer.cpp delete mode 100644 src/pal/tests/palsuite/file_io/SetFileTime/test1/SetFileTime.c create mode 100644 src/pal/tests/palsuite/file_io/SetFileTime/test1/SetFileTime.cpp delete mode 100644 src/pal/tests/palsuite/file_io/SetFileTime/test2/SetFileTime.c create mode 100644 src/pal/tests/palsuite/file_io/SetFileTime/test2/SetFileTime.cpp delete mode 100644 src/pal/tests/palsuite/file_io/SetFileTime/test3/SetFileTime.c create mode 100644 src/pal/tests/palsuite/file_io/SetFileTime/test3/SetFileTime.cpp delete mode 100644 src/pal/tests/palsuite/file_io/SetFileTime/test4/SetFileTime.c create mode 100644 src/pal/tests/palsuite/file_io/SetFileTime/test4/SetFileTime.cpp delete mode 100644 src/pal/tests/palsuite/file_io/WriteFile/test1/WriteFile.c create mode 100644 src/pal/tests/palsuite/file_io/WriteFile/test1/WriteFile.cpp delete mode 100644 src/pal/tests/palsuite/file_io/WriteFile/test2/WriteFile.c create mode 100644 src/pal/tests/palsuite/file_io/WriteFile/test2/WriteFile.cpp delete mode 100644 src/pal/tests/palsuite/file_io/WriteFile/test3/WriteFile.c create mode 100644 src/pal/tests/palsuite/file_io/WriteFile/test3/WriteFile.cpp delete mode 100644 src/pal/tests/palsuite/file_io/WriteFile/test4/writefile.c create mode 100644 src/pal/tests/palsuite/file_io/WriteFile/test4/writefile.cpp delete mode 100644 src/pal/tests/palsuite/file_io/WriteFile/test5/writefile.c create mode 100644 src/pal/tests/palsuite/file_io/WriteFile/test5/writefile.cpp delete mode 100644 src/pal/tests/palsuite/file_io/errorpathnotfound/test1/test1.c create mode 100644 src/pal/tests/palsuite/file_io/errorpathnotfound/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/file_io/errorpathnotfound/test2/test2.c create mode 100644 src/pal/tests/palsuite/file_io/errorpathnotfound/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/file_io/errorpathnotfound/test3/test3.c create mode 100644 src/pal/tests/palsuite/file_io/errorpathnotfound/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/file_io/errorpathnotfound/test4/test4.c create mode 100644 src/pal/tests/palsuite/file_io/errorpathnotfound/test4/test4.cpp delete mode 100644 src/pal/tests/palsuite/file_io/gettemppatha/test1/gettemppatha.c create mode 100644 src/pal/tests/palsuite/file_io/gettemppatha/test1/gettemppatha.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/CreateFileMappingA/test1/CreateFileMapping.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/CreateFileMappingA/test1/CreateFileMapping.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/CreateFileMappingA/test3/CreateFileMapping.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/CreateFileMappingA/test3/CreateFileMapping.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/CreateFileMappingA/test4/CreateFileMapping.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/CreateFileMappingA/test4/CreateFileMapping.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/CreateFileMappingA/test5/CreateFileMapping.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/CreateFileMappingA/test5/CreateFileMapping.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/CreateFileMappingA/test6/CreateFileMapping.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/CreateFileMappingA/test6/CreateFileMapping.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/CreateFileMappingA/test7/createfilemapping.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/CreateFileMappingA/test7/createfilemapping.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/CreateFileMappingA/test8/createfilemapping.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/CreateFileMappingA/test8/createfilemapping.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/CreateFileMappingA/test9/createfilemapping.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/CreateFileMappingA/test9/createfilemapping.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/CreateFileMappingW/CreateFileMapping_neg1/CreateFileMapping_neg.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/CreateFileMappingW/CreateFileMapping_neg1/CreateFileMapping_neg.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/CreateFileMappingW/test1/CreateFileMappingW.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/CreateFileMappingW/test1/CreateFileMappingW.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/CreateFileMappingW/test2/CreateFileMappingW.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/CreateFileMappingW/test2/CreateFileMappingW.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/CreateFileMappingW/test3/CreateFileMappingW.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/CreateFileMappingW/test3/CreateFileMappingW.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/CreateFileMappingW/test4/CreateFileMappingW.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/CreateFileMappingW/test4/CreateFileMappingW.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/CreateFileMappingW/test5/CreateFileMappingW.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/CreateFileMappingW/test5/CreateFileMappingW.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/CreateFileMappingW/test6/CreateFileMappingW.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/CreateFileMappingW/test6/CreateFileMappingW.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/CreateFileMappingW/test7/createfilemapping.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/CreateFileMappingW/test7/createfilemapping.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/CreateFileMappingW/test8/createfilemapping.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/CreateFileMappingW/test8/createfilemapping.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/CreateFileMappingW/test9/createfilemapping.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/CreateFileMappingW/test9/createfilemapping.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/FreeLibrary/test1/FreeLibrary.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/FreeLibrary/test1/FreeLibrary.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/FreeLibrary/test1/dlltest.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/FreeLibrary/test1/dlltest.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/FreeLibrary/test2/test2.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/FreeLibrary/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/FreeLibraryAndExitThread/test1/dlltest.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/FreeLibraryAndExitThread/test1/dlltest.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/FreeLibraryAndExitThread/test1/test1.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/FreeLibraryAndExitThread/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/GetModuleFileNameA/test1/GetModuleFileNameA.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/GetModuleFileNameA/test1/GetModuleFileNameA.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/GetModuleFileNameA/test2/GetModuleFileNameA.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/GetModuleFileNameA/test2/GetModuleFileNameA.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/GetModuleFileNameW/test1/GetModuleFileNameW.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/GetModuleFileNameW/test1/GetModuleFileNameW.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/GetModuleFileNameW/test2/GetModuleFileNameW.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/GetModuleFileNameW/test2/GetModuleFileNameW.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/GetProcAddress/test1/test1.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/GetProcAddress/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/GetProcAddress/test1/testlib.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/GetProcAddress/test1/testlib.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/GetProcAddress/test2/test2.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/GetProcAddress/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/GetProcAddress/test2/testlib.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/GetProcAddress/test2/testlib.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/GetProcessHeap/test1/GetProcessHeap.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/GetProcessHeap/test1/GetProcessHeap.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/HeapAlloc/test1/HeapAlloc.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/HeapAlloc/test1/HeapAlloc.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/HeapAlloc/test2/HeapAlloc.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/HeapAlloc/test2/HeapAlloc.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/HeapAlloc/test3/HeapAlloc.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/HeapAlloc/test3/HeapAlloc.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/HeapFree/test1/HeapFree.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/HeapFree/test1/HeapFree.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/HeapReAlloc/test1/test1.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/HeapReAlloc/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/HeapReAlloc/test2/test2.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/HeapReAlloc/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/HeapReAlloc/test3/test3.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/HeapReAlloc/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/HeapReAlloc/test4/test4.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/HeapReAlloc/test4/test4.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/HeapReAlloc/test5/test5.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/HeapReAlloc/test5/test5.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/LocalAlloc/test1/LocalAlloc.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/LocalAlloc/test1/LocalAlloc.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/LocalFree/test1/LocalFree.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/LocalFree/test1/LocalFree.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/LocalFree/test2/LocalFree.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/LocalFree/test2/LocalFree.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/LockFile/test1/helper.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/LockFile/test1/helper.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/LockFile/test1/test1.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/LockFile/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/LockFile/test2/test2.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/LockFile/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/LockFile/test3/helper.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/LockFile/test3/helper.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/LockFile/test3/test3.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/LockFile/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/LockFile/test4/test4.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/LockFile/test4/test4.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/LockFile/test5/helper.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/LockFile/test5/helper.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/LockFile/test5/test5.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/LockFile/test5/test5.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/LockFile/test6/helper.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/LockFile/test6/helper.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/LockFile/test6/test6.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/LockFile/test6/test6.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/LockFile/test7/test7.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/LockFile/test7/test7.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/MapViewOfFile/test1/MapViewOfFile.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/MapViewOfFile/test1/MapViewOfFile.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/MapViewOfFile/test2/MapViewOfFile.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/MapViewOfFile/test2/MapViewOfFile.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/MapViewOfFile/test3/MapViewOfFile.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/MapViewOfFile/test3/MapViewOfFile.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/MapViewOfFile/test4/mapviewoffile.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/MapViewOfFile/test4/mapviewoffile.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/MapViewOfFile/test5/mapviewoffile.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/MapViewOfFile/test5/mapviewoffile.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/MapViewOfFile/test6/mapviewoffile.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/MapViewOfFile/test6/mapviewoffile.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/OpenFileMappingA/test1/OpenFileMappingA.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/OpenFileMappingA/test1/OpenFileMappingA.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/OpenFileMappingA/test2/OpenFileMappingA.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/OpenFileMappingA/test2/OpenFileMappingA.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/OpenFileMappingA/test3/OpenFileMappingA.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/OpenFileMappingA/test3/OpenFileMappingA.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/OpenFileMappingW/test1/OpenFileMappingW.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/OpenFileMappingW/test1/OpenFileMappingW.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/OpenFileMappingW/test2/OpenFileMappingW.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/OpenFileMappingW/test2/OpenFileMappingW.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/OpenFileMappingW/test3/OpenFileMappingW.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/OpenFileMappingW/test3/OpenFileMappingW.cpp create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/ProbeMemory/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/ProbeMemory/ProbeMemory_neg1/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/ProbeMemory/ProbeMemory_neg1/ProbeMemory_neg.cpp create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/ProbeMemory/ProbeMemory_neg1/testinfo.dat create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/ProbeMemory/test1/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/ProbeMemory/test1/ProbeMemory.cpp create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/ProbeMemory/test1/testinfo.dat delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/ReadProcessMemory/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/ReadProcessMemory/ReadProcessMemory_neg1/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/ReadProcessMemory/ReadProcessMemory_neg1/ReadProcessMemory_neg.c delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/ReadProcessMemory/ReadProcessMemory_neg1/testinfo.dat delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/ReadProcessMemory/test1/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/ReadProcessMemory/test1/ReadProcessMemory.c delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/ReadProcessMemory/test1/testinfo.dat delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/ReadProcessMemory/test2/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/ReadProcessMemory/test2/commonconsts.h delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/ReadProcessMemory/test2/helper.c delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/ReadProcessMemory/test2/test2.c delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/ReadProcessMemory/test2/testinfo.dat delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/RtlMoveMemory/test1/test1.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/RtlMoveMemory/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/RtlMoveMemory/test3/test3.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/RtlMoveMemory/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/RtlMoveMemory/test4/test4.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/RtlMoveMemory/test4/test4.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/RtlMoveMemory/test5/test5.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/RtlMoveMemory/test5/test5.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/UnlockFile/test1/helper.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/UnlockFile/test1/helper.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/UnlockFile/test1/test1.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/UnlockFile/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/UnlockFile/test2/test2.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/UnlockFile/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/UnlockFile/test3/helper.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/UnlockFile/test3/helper.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/UnlockFile/test3/test3.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/UnlockFile/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/UnlockFile/test4/test4.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/UnlockFile/test4/test4.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/UnmapViewOfFile/test1/UnmapViewOfFile.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/UnmapViewOfFile/test1/UnmapViewOfFile.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/UnmapViewOfFile/test2/unmapviewoffile.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/UnmapViewOfFile/test2/unmapviewoffile.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test1/VirtualAlloc.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test1/VirtualAlloc.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test10/VirtualAlloc.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test10/VirtualAlloc.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test11/VirtualAlloc.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test11/VirtualAlloc.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test12/VirtualAlloc.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test12/VirtualAlloc.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test13/VirtualAlloc.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test13/VirtualAlloc.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test14/VirtualAlloc.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test14/VirtualAlloc.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test15/VirtualAlloc.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test15/VirtualAlloc.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test16/VirtualAlloc.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test16/VirtualAlloc.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test17/VirtualAlloc.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test17/VirtualAlloc.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test18/VirtualAlloc.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test18/VirtualAlloc.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test19/VirtualAlloc.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test19/VirtualAlloc.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test2/VirtualAlloc.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test2/VirtualAlloc.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test20/virtualalloc.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test20/virtualalloc.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test21/virtualalloc.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test21/virtualalloc.cpp create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test22/CMakeLists.txt create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test22/VirtualAlloc.cpp create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test22/testinfo.dat delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test3/VirtualAlloc.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test3/VirtualAlloc.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test4/VirtualAlloc.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test4/VirtualAlloc.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test5/VirtualAlloc.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test5/VirtualAlloc.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test6/VirtualAlloc.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test6/VirtualAlloc.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test7/VirtualAlloc.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test7/VirtualAlloc.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test8/VirtualAlloc.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test8/VirtualAlloc.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test9/VirtualAlloc.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test9/VirtualAlloc.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualFree/test1/VirtualFree.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualFree/test1/VirtualFree.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualFree/test2/VirtualFree.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualFree/test2/VirtualFree.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualFree/test3/VirtualFree.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualFree/test3/VirtualFree.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualProtect/test1/VirtualProtect.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualProtect/test1/VirtualProtect.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualProtect/test2/VirtualProtect.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualProtect/test2/VirtualProtect.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualProtect/test3/VirtualProtect.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualProtect/test3/VirtualProtect.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualProtect/test4/VirtualProtect.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualProtect/test4/VirtualProtect.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualProtect/test6/VirtualProtect.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualProtect/test6/VirtualProtect.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualProtect/test7/VirtualProtect.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualProtect/test7/VirtualProtect.cpp delete mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualQuery/test1/VirtualQuery.c create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualQuery/test1/VirtualQuery.cpp delete mode 100644 src/pal/tests/palsuite/loader/LoadLibraryA/test1/LoadLibraryA.c create mode 100644 src/pal/tests/palsuite/loader/LoadLibraryA/test1/LoadLibraryA.cpp delete mode 100644 src/pal/tests/palsuite/loader/LoadLibraryA/test2/LoadLibraryA.c create mode 100644 src/pal/tests/palsuite/loader/LoadLibraryA/test2/LoadLibraryA.cpp delete mode 100644 src/pal/tests/palsuite/loader/LoadLibraryA/test2/MyModule.c create mode 100644 src/pal/tests/palsuite/loader/LoadLibraryA/test2/MyModule.cpp delete mode 100644 src/pal/tests/palsuite/loader/LoadLibraryA/test3/loadlibrarya.c create mode 100644 src/pal/tests/palsuite/loader/LoadLibraryA/test3/loadlibrarya.cpp delete mode 100644 src/pal/tests/palsuite/loader/LoadLibraryA/test5/loadlibrarya.c create mode 100644 src/pal/tests/palsuite/loader/LoadLibraryA/test5/loadlibrarya.cpp delete mode 100644 src/pal/tests/palsuite/loader/LoadLibraryA/test6/dlltest.c create mode 100644 src/pal/tests/palsuite/loader/LoadLibraryA/test6/dlltest.cpp delete mode 100644 src/pal/tests/palsuite/loader/LoadLibraryA/test6/loadlibrarya.c create mode 100644 src/pal/tests/palsuite/loader/LoadLibraryA/test6/loadlibrarya.cpp delete mode 100644 src/pal/tests/palsuite/loader/LoadLibraryA/test7/LoadLibraryA.c create mode 100644 src/pal/tests/palsuite/loader/LoadLibraryA/test7/LoadLibraryA.cpp delete mode 100644 src/pal/tests/palsuite/loader/LoadLibraryA/test8/dlltest.c create mode 100644 src/pal/tests/palsuite/loader/LoadLibraryA/test8/dlltest.cpp delete mode 100644 src/pal/tests/palsuite/loader/LoadLibraryA/test8/loadlibrarya.c create mode 100644 src/pal/tests/palsuite/loader/LoadLibraryA/test8/loadlibrarya.cpp delete mode 100644 src/pal/tests/palsuite/loader/LoadLibraryW/test1/LoadLibraryW.c create mode 100644 src/pal/tests/palsuite/loader/LoadLibraryW/test1/LoadLibraryW.cpp delete mode 100644 src/pal/tests/palsuite/loader/LoadLibraryW/test2/loadlibraryw.c create mode 100644 src/pal/tests/palsuite/loader/LoadLibraryW/test2/loadlibraryw.cpp delete mode 100644 src/pal/tests/palsuite/loader/LoadLibraryW/test3/loadlibraryw.c create mode 100644 src/pal/tests/palsuite/loader/LoadLibraryW/test3/loadlibraryw.cpp delete mode 100644 src/pal/tests/palsuite/loader/LoadLibraryW/test5/loadlibraryw.c create mode 100644 src/pal/tests/palsuite/loader/LoadLibraryW/test5/loadlibraryw.cpp delete mode 100644 src/pal/tests/palsuite/locale_info/CompareStringA/test1/test1.c create mode 100644 src/pal/tests/palsuite/locale_info/CompareStringA/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/locale_info/CompareStringW/test1/test1.c create mode 100644 src/pal/tests/palsuite/locale_info/CompareStringW/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/locale_info/GetACP/test1/test1.c create mode 100644 src/pal/tests/palsuite/locale_info/GetACP/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/locale_info/GetCPInfo/test1/test1.c create mode 100644 src/pal/tests/palsuite/locale_info/GetCPInfo/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/locale_info/GetCPInfo/test2/test2.c create mode 100644 src/pal/tests/palsuite/locale_info/GetCPInfo/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/locale_info/GetCPInfo/test3/test3.c create mode 100644 src/pal/tests/palsuite/locale_info/GetCPInfo/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/locale_info/GetLocaleInfoW/test1/test1.c create mode 100644 src/pal/tests/palsuite/locale_info/GetLocaleInfoW/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/locale_info/GetLocaleInfoW/test2/test2.c create mode 100644 src/pal/tests/palsuite/locale_info/GetLocaleInfoW/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/locale_info/GetStringTypeExW/test1/test1.c create mode 100644 src/pal/tests/palsuite/locale_info/GetStringTypeExW/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/locale_info/GetStringTypeExW/test2/test2.c create mode 100644 src/pal/tests/palsuite/locale_info/GetStringTypeExW/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/locale_info/GetSystemDefaultLangID/test1/test1.c create mode 100644 src/pal/tests/palsuite/locale_info/GetSystemDefaultLangID/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/locale_info/GetThreadLocale/test1/test1.c create mode 100644 src/pal/tests/palsuite/locale_info/GetThreadLocale/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/locale_info/GetTimeZoneInformation/test1/test1.c create mode 100644 src/pal/tests/palsuite/locale_info/GetTimeZoneInformation/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/locale_info/GetUserDefaultLCID/test1/test1.c create mode 100644 src/pal/tests/palsuite/locale_info/GetUserDefaultLCID/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/locale_info/GetUserDefaultLangID/test1/test1.c create mode 100644 src/pal/tests/palsuite/locale_info/GetUserDefaultLangID/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/locale_info/IsDBCSLeadByte/test1/test1.c create mode 100644 src/pal/tests/palsuite/locale_info/IsDBCSLeadByte/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/locale_info/IsDBCSLeadByteEx/test1/test1.c create mode 100644 src/pal/tests/palsuite/locale_info/IsDBCSLeadByteEx/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/locale_info/IsValidCodePage/test1/test1.c create mode 100644 src/pal/tests/palsuite/locale_info/IsValidCodePage/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/locale_info/IsValidCodePage/test2/test2.c create mode 100644 src/pal/tests/palsuite/locale_info/IsValidCodePage/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/locale_info/IsValidLocale/test1/test1.c create mode 100644 src/pal/tests/palsuite/locale_info/IsValidLocale/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/locale_info/MultiByteToWideChar/test1/test1.c create mode 100644 src/pal/tests/palsuite/locale_info/MultiByteToWideChar/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/locale_info/MultiByteToWideChar/test2/test2.c create mode 100644 src/pal/tests/palsuite/locale_info/MultiByteToWideChar/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/locale_info/MultiByteToWideChar/test3/test3.c create mode 100644 src/pal/tests/palsuite/locale_info/MultiByteToWideChar/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/locale_info/MultiByteToWideChar/test4/test4.c create mode 100644 src/pal/tests/palsuite/locale_info/MultiByteToWideChar/test4/test4.cpp delete mode 100644 src/pal/tests/palsuite/locale_info/SetThreadLocale/test1/test1.c create mode 100644 src/pal/tests/palsuite/locale_info/SetThreadLocale/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/locale_info/WideCharToMultiByte/test1/test1.c create mode 100644 src/pal/tests/palsuite/locale_info/WideCharToMultiByte/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/locale_info/WideCharToMultiByte/test2/test2.c create mode 100644 src/pal/tests/palsuite/locale_info/WideCharToMultiByte/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/locale_info/WideCharToMultiByte/test3/test3.c create mode 100644 src/pal/tests/palsuite/locale_info/WideCharToMultiByte/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/locale_info/WideCharToMultiByte/test4/test4.c create mode 100644 src/pal/tests/palsuite/locale_info/WideCharToMultiByte/test4/test4.cpp delete mode 100644 src/pal/tests/palsuite/locale_info/WideCharToMultiByte/test5/test5.c create mode 100644 src/pal/tests/palsuite/locale_info/WideCharToMultiByte/test5/test5.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/CharNextA/test1/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/CharNextA/test1/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/CharNextA/test2/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/CharNextA/test2/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/CharNextExA/test1/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/CharNextExA/test1/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/CharNextExA/test2/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/CharNextExA/test2/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/CloseHandle/test1/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/CloseHandle/test1/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/CloseHandle/test2/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/CloseHandle/test2/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/CreatePipe/test1/test1.c create mode 100644 src/pal/tests/palsuite/miscellaneous/CreatePipe/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/FlushInstructionCache/test1/test1.c create mode 100644 src/pal/tests/palsuite/miscellaneous/FlushInstructionCache/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/FormatMessageW/test1/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/FormatMessageW/test1/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/FormatMessageW/test2/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/FormatMessageW/test2/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/FormatMessageW/test3/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/FormatMessageW/test3/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/FormatMessageW/test4/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/FormatMessageW/test4/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/FormatMessageW/test5/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/FormatMessageW/test5/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/FormatMessageW/test6/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/FormatMessageW/test6/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/FreeEnvironmentStringsW/test1/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/FreeEnvironmentStringsW/test1/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/FreeEnvironmentStringsW/test2/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/FreeEnvironmentStringsW/test2/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/GetCalendarInfoW/test1/GetCalendarInfoW.c create mode 100644 src/pal/tests/palsuite/miscellaneous/GetCalendarInfoW/test1/GetCalendarInfoW.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/GetCalendarInfoW/test2/GetCalendarInfoW.c create mode 100644 src/pal/tests/palsuite/miscellaneous/GetCalendarInfoW/test2/GetCalendarInfoW.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/GetCommandLineW/test1/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/GetCommandLineW/test1/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/GetComputerNameW/test1/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/GetComputerNameW/test1/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/GetDateFormatW/GetDateFormatW_neg1/GetDateFormatW_neg.c create mode 100644 src/pal/tests/palsuite/miscellaneous/GetDateFormatW/GetDateFormatW_neg1/GetDateFormatW_neg.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/GetDateFormatW/GetDateFormatW_neg2/GetDateFormatW_neg.c create mode 100644 src/pal/tests/palsuite/miscellaneous/GetDateFormatW/GetDateFormatW_neg2/GetDateFormatW_neg.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/GetDateFormatW/test1/GetDateFormatW.c create mode 100644 src/pal/tests/palsuite/miscellaneous/GetDateFormatW/test1/GetDateFormatW.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/GetEnvironmentStringsW/test1/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/GetEnvironmentStringsW/test1/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/GetEnvironmentVariableA/test1/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/GetEnvironmentVariableA/test1/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/GetEnvironmentVariableA/test2/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/GetEnvironmentVariableA/test2/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/GetEnvironmentVariableA/test3/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/GetEnvironmentVariableA/test3/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/GetEnvironmentVariableA/test4/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/GetEnvironmentVariableA/test4/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/GetEnvironmentVariableA/test5/test5.c create mode 100644 src/pal/tests/palsuite/miscellaneous/GetEnvironmentVariableA/test5/test5.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/GetEnvironmentVariableA/test6/test6.c create mode 100644 src/pal/tests/palsuite/miscellaneous/GetEnvironmentVariableA/test6/test6.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/GetEnvironmentVariableW/test1/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/GetEnvironmentVariableW/test1/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/GetEnvironmentVariableW/test2/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/GetEnvironmentVariableW/test2/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/GetEnvironmentVariableW/test3/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/GetEnvironmentVariableW/test3/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/GetEnvironmentVariableW/test4/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/GetEnvironmentVariableW/test4/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/GetEnvironmentVariableW/test5/test5.c create mode 100644 src/pal/tests/palsuite/miscellaneous/GetEnvironmentVariableW/test5/test5.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/GetEnvironmentVariableW/test6/test6.c create mode 100644 src/pal/tests/palsuite/miscellaneous/GetEnvironmentVariableW/test6/test6.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/GetLastError/test1/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/GetLastError/test1/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/GetSystemInfo/test1/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/GetSystemInfo/test1/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/GetTickCount/test1/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/GetTickCount/test1/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/GetUserNameW/test1/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/GetUserNameW/test1/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/GetVersionExA/test1/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/GetVersionExA/test1/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/GetVersionExW/test1/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/GetVersionExW/test1/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/IsBadCodePtr/test1/test1.c create mode 100644 src/pal/tests/palsuite/miscellaneous/IsBadCodePtr/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/IsBadReadPtr/test1/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/IsBadReadPtr/test1/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/IsBadWritePtr/test1/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/IsBadWritePtr/test1/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/IsBadWritePtr/test2/test2.c create mode 100644 src/pal/tests/palsuite/miscellaneous/IsBadWritePtr/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/IsBadWritePtr/test3/test3.c create mode 100644 src/pal/tests/palsuite/miscellaneous/IsBadWritePtr/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/MessageBoxW/test1/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/MessageBoxW/test1/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/MessageBoxW/test2/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/MessageBoxW/test2/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/SetEnvironmentVariableA/test1/test1.c create mode 100644 src/pal/tests/palsuite/miscellaneous/SetEnvironmentVariableA/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/SetEnvironmentVariableA/test2/test2.c create mode 100644 src/pal/tests/palsuite/miscellaneous/SetEnvironmentVariableA/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/SetEnvironmentVariableA/test3/test3.c create mode 100644 src/pal/tests/palsuite/miscellaneous/SetEnvironmentVariableA/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/SetEnvironmentVariableA/test4/test4.c create mode 100644 src/pal/tests/palsuite/miscellaneous/SetEnvironmentVariableA/test4/test4.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/SetEnvironmentVariableW/test1/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/SetEnvironmentVariableW/test1/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/SetEnvironmentVariableW/test2/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/SetEnvironmentVariableW/test2/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/SetEnvironmentVariableW/test3/test3.c create mode 100644 src/pal/tests/palsuite/miscellaneous/SetEnvironmentVariableW/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/SetEnvironmentVariableW/test4/test4.c create mode 100644 src/pal/tests/palsuite/miscellaneous/SetEnvironmentVariableW/test4/test4.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/SetLastError/test1/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/SetLastError/test1/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/_i64tow/test1/test1.c create mode 100644 src/pal/tests/palsuite/miscellaneous/_i64tow/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/_ui64tow/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/miscellaneous/_ui64tow/test1/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/miscellaneous/_ui64tow/test1/_ui64tow.c delete mode 100644 src/pal/tests/palsuite/miscellaneous/_ui64tow/test1/testinfo.dat delete mode 100644 src/pal/tests/palsuite/miscellaneous/_ui64tow/test2/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/miscellaneous/_ui64tow/test2/_ui64tow.c delete mode 100644 src/pal/tests/palsuite/miscellaneous/_ui64tow/test2/testinfo.dat delete mode 100644 src/pal/tests/palsuite/miscellaneous/lstrcatW/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/miscellaneous/lstrcatW/test1/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/miscellaneous/lstrcatW/test1/test.c delete mode 100644 src/pal/tests/palsuite/miscellaneous/lstrcatW/test1/testinfo.dat delete mode 100644 src/pal/tests/palsuite/miscellaneous/lstrcatW/test2/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/miscellaneous/lstrcatW/test2/test2.c delete mode 100644 src/pal/tests/palsuite/miscellaneous/lstrcatW/test2/testinfo.dat delete mode 100644 src/pal/tests/palsuite/miscellaneous/lstrcatW/test3/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/miscellaneous/lstrcatW/test3/test3.c delete mode 100644 src/pal/tests/palsuite/miscellaneous/lstrcatW/test3/testinfo.dat delete mode 100644 src/pal/tests/palsuite/miscellaneous/lstrcatW/test4/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/miscellaneous/lstrcatW/test4/test4.c delete mode 100644 src/pal/tests/palsuite/miscellaneous/lstrcatW/test4/testinfo.dat delete mode 100644 src/pal/tests/palsuite/miscellaneous/lstrcpyW/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/miscellaneous/lstrcpyW/test1/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/miscellaneous/lstrcpyW/test1/test.c delete mode 100644 src/pal/tests/palsuite/miscellaneous/lstrcpyW/test1/testinfo.dat delete mode 100644 src/pal/tests/palsuite/miscellaneous/lstrcpynW/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/miscellaneous/lstrcpynW/test1/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/miscellaneous/lstrcpynW/test1/test.c delete mode 100644 src/pal/tests/palsuite/miscellaneous/lstrcpynW/test1/testinfo.dat delete mode 100644 src/pal/tests/palsuite/miscellaneous/lstrlenA/test1/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/lstrlenA/test1/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/lstrlenW/test1/test.c create mode 100644 src/pal/tests/palsuite/miscellaneous/lstrlenW/test1/test.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/queryperformancecounter/test1/test1.c create mode 100644 src/pal/tests/palsuite/miscellaneous/queryperformancecounter/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/queryperformancefrequency/test1/test1.c create mode 100644 src/pal/tests/palsuite/miscellaneous/queryperformancefrequency/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfA/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfA/test1/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfA/test1/test.c delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfA/test1/testinfo.dat delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfA/test11/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfA/test11/test.c delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfA/test11/testinfo.dat delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfA/test12/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfA/test12/test.c delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfA/test12/testinfo.dat delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfA/test13/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfA/test13/test.c delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfA/test13/testinfo.dat delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfA/test2/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfA/test2/test.c delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfA/test2/testinfo.dat delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfA/test3/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfA/test3/test.c delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfA/test3/testinfo.dat delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfA/test6/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfA/test6/test.c delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfA/test6/testinfo.dat delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfA/test7/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfA/test7/test.c delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfA/test7/testinfo.dat delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfA/test8/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfA/test8/test.c delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfA/test8/testinfo.dat delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfA/test9/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfA/test9/test.c delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfA/test9/testinfo.dat delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfW/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfW/test1/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfW/test1/test.c delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfW/test1/testinfo.dat delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfW/test11/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfW/test11/test.c delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfW/test11/testinfo.dat delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfW/test12/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfW/test12/test.c delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfW/test12/testinfo.dat delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfW/test13/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfW/test13/test.c delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfW/test13/testinfo.dat delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfW/test2/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfW/test2/test.c delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfW/test2/testinfo.dat delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfW/test3/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfW/test3/test.c delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfW/test3/testinfo.dat delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfW/test6/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfW/test6/test.c delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfW/test6/testinfo.dat delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfW/test7/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfW/test7/test.c delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfW/test7/testinfo.dat delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfW/test8/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfW/test8/test.c delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfW/test8/testinfo.dat delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfW/test9/CMakeLists.txt delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfW/test9/test.c delete mode 100644 src/pal/tests/palsuite/miscellaneous/wsprintfW/test9/testinfo.dat delete mode 100644 src/pal/tests/palsuite/pal_specific/PAL_GetPALDirectoryW/test1/PAL_GetPALDirectoryW.c create mode 100644 src/pal/tests/palsuite/pal_specific/PAL_GetPALDirectoryW/test1/PAL_GetPALDirectoryW.cpp delete mode 100644 src/pal/tests/palsuite/pal_specific/PAL_GetUserTempDirectoryW/test1/PAL_GetUserTempDirectoryW.c create mode 100644 src/pal/tests/palsuite/pal_specific/PAL_GetUserTempDirectoryW/test1/PAL_GetUserTempDirectoryW.cpp delete mode 100644 src/pal/tests/palsuite/pal_specific/PAL_Initialize_Terminate/test1/PAL_Initialize_Terminate.c create mode 100644 src/pal/tests/palsuite/pal_specific/PAL_Initialize_Terminate/test1/PAL_Initialize_Terminate.cpp delete mode 100644 src/pal/tests/palsuite/pal_specific/PAL_Initialize_Terminate/test2/pal_initialize_twice.c create mode 100644 src/pal/tests/palsuite/pal_specific/PAL_Initialize_Terminate/test2/pal_initialize_twice.cpp delete mode 100644 src/pal/tests/palsuite/pal_specific/PAL_RegisterLibraryW_UnregisterLibraryW/test1/PAL_RegisterLibraryW_UnregisterLibraryW.c create mode 100644 src/pal/tests/palsuite/pal_specific/PAL_RegisterLibraryW_UnregisterLibraryW/test1/PAL_RegisterLibraryW_UnregisterLibraryW.cpp delete mode 100644 src/pal/tests/palsuite/pal_specific/PAL_RegisterLibraryW_UnregisterLibraryW/test2_neg/reg_unreg_libraryw_neg.c create mode 100644 src/pal/tests/palsuite/pal_specific/PAL_RegisterLibraryW_UnregisterLibraryW/test2_neg/reg_unreg_libraryw_neg.cpp delete mode 100644 src/pal/tests/palsuite/pal_specific/PAL_errno/test1/PAL_errno.c create mode 100644 src/pal/tests/palsuite/pal_specific/PAL_errno/test1/PAL_errno.cpp delete mode 100644 src/pal/tests/palsuite/pal_specific/PAL_get_stderr/test1/PAL_get_stderr.c create mode 100644 src/pal/tests/palsuite/pal_specific/PAL_get_stderr/test1/PAL_get_stderr.cpp delete mode 100644 src/pal/tests/palsuite/pal_specific/PAL_get_stdin/test1/PAL_get_stdin.c create mode 100644 src/pal/tests/palsuite/pal_specific/PAL_get_stdin/test1/PAL_get_stdin.cpp delete mode 100644 src/pal/tests/palsuite/pal_specific/PAL_get_stdout/test1/PAL_get_stdout.c create mode 100644 src/pal/tests/palsuite/pal_specific/PAL_get_stdout/test1/PAL_get_stdout.cpp delete mode 100644 src/pal/tests/palsuite/pal_specific/pal_entrypoint/test1/pal_entrypoint.c create mode 100644 src/pal/tests/palsuite/pal_specific/pal_entrypoint/test1/pal_entrypoint.cpp delete mode 100644 src/pal/tests/palsuite/pal_specific/pal_initializedebug/test1/pal_initializedebug.c create mode 100644 src/pal/tests/palsuite/pal_specific/pal_initializedebug/test1/pal_initializedebug.cpp delete mode 100644 src/pal/tests/palsuite/samples/test1/test.c create mode 100644 src/pal/tests/palsuite/samples/test1/test.cpp delete mode 100644 src/pal/tests/palsuite/samples/test2/test.c create mode 100644 src/pal/tests/palsuite/samples/test2/test.cpp delete mode 100644 src/pal/tests/palsuite/threading/CreateEventA/test1/test1.c create mode 100644 src/pal/tests/palsuite/threading/CreateEventA/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/threading/CreateEventA/test2/test2.c create mode 100644 src/pal/tests/palsuite/threading/CreateEventA/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/threading/CreateEventA/test3/test3.c create mode 100644 src/pal/tests/palsuite/threading/CreateEventA/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/threading/CreateEventW/test1/test1.c create mode 100644 src/pal/tests/palsuite/threading/CreateEventW/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/threading/CreateEventW/test2/test2.c create mode 100644 src/pal/tests/palsuite/threading/CreateEventW/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/threading/CreateEventW/test3/test3.c create mode 100644 src/pal/tests/palsuite/threading/CreateEventW/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/threading/CreateMutexA_ReleaseMutex/test1/CreateMutexA.c create mode 100644 src/pal/tests/palsuite/threading/CreateMutexA_ReleaseMutex/test1/CreateMutexA.cpp delete mode 100644 src/pal/tests/palsuite/threading/CreateMutexA_ReleaseMutex/test2/CreateMutexA.c create mode 100644 src/pal/tests/palsuite/threading/CreateMutexA_ReleaseMutex/test2/CreateMutexA.cpp delete mode 100644 src/pal/tests/palsuite/threading/CreateMutexW_ReleaseMutex/test1/CreateMutexW.c create mode 100644 src/pal/tests/palsuite/threading/CreateMutexW_ReleaseMutex/test1/CreateMutexW.cpp delete mode 100644 src/pal/tests/palsuite/threading/CreateMutexW_ReleaseMutex/test2/CreateMutexW.c create mode 100644 src/pal/tests/palsuite/threading/CreateMutexW_ReleaseMutex/test2/CreateMutexW.cpp delete mode 100644 src/pal/tests/palsuite/threading/CreateProcessA/test1/childProcess.c create mode 100644 src/pal/tests/palsuite/threading/CreateProcessA/test1/childProcess.cpp delete mode 100644 src/pal/tests/palsuite/threading/CreateProcessA/test1/parentProcess.c create mode 100644 src/pal/tests/palsuite/threading/CreateProcessA/test1/parentProcess.cpp delete mode 100644 src/pal/tests/palsuite/threading/CreateProcessA/test2/childprocess.c create mode 100644 src/pal/tests/palsuite/threading/CreateProcessA/test2/childprocess.cpp delete mode 100644 src/pal/tests/palsuite/threading/CreateProcessA/test2/parentprocess.c create mode 100644 src/pal/tests/palsuite/threading/CreateProcessA/test2/parentprocess.cpp delete mode 100644 src/pal/tests/palsuite/threading/CreateProcessW/test1/childProcess.c create mode 100644 src/pal/tests/palsuite/threading/CreateProcessW/test1/childProcess.cpp delete mode 100644 src/pal/tests/palsuite/threading/CreateProcessW/test1/parentProcess.c create mode 100644 src/pal/tests/palsuite/threading/CreateProcessW/test1/parentProcess.cpp delete mode 100644 src/pal/tests/palsuite/threading/CreateProcessW/test2/childprocess.c create mode 100644 src/pal/tests/palsuite/threading/CreateProcessW/test2/childprocess.cpp delete mode 100644 src/pal/tests/palsuite/threading/CreateProcessW/test2/parentprocess.c create mode 100644 src/pal/tests/palsuite/threading/CreateProcessW/test2/parentprocess.cpp delete mode 100644 src/pal/tests/palsuite/threading/CreateSemaphoreA_ReleaseSemaphore/test1/CreateSemaphore.c create mode 100644 src/pal/tests/palsuite/threading/CreateSemaphoreA_ReleaseSemaphore/test1/CreateSemaphore.cpp delete mode 100644 src/pal/tests/palsuite/threading/CreateSemaphoreA_ReleaseSemaphore/test2/CreateSemaphore.c create mode 100644 src/pal/tests/palsuite/threading/CreateSemaphoreA_ReleaseSemaphore/test2/CreateSemaphore.cpp delete mode 100644 src/pal/tests/palsuite/threading/CreateSemaphoreA_ReleaseSemaphore/test3/createsemaphore.c create mode 100644 src/pal/tests/palsuite/threading/CreateSemaphoreA_ReleaseSemaphore/test3/createsemaphore.cpp delete mode 100644 src/pal/tests/palsuite/threading/CreateSemaphoreW_ReleaseSemaphore/test1/CreateSemaphore.c create mode 100644 src/pal/tests/palsuite/threading/CreateSemaphoreW_ReleaseSemaphore/test1/CreateSemaphore.cpp delete mode 100644 src/pal/tests/palsuite/threading/CreateSemaphoreW_ReleaseSemaphore/test2/CreateSemaphore.c create mode 100644 src/pal/tests/palsuite/threading/CreateSemaphoreW_ReleaseSemaphore/test2/CreateSemaphore.cpp delete mode 100644 src/pal/tests/palsuite/threading/CreateSemaphoreW_ReleaseSemaphore/test3/createsemaphore.c create mode 100644 src/pal/tests/palsuite/threading/CreateSemaphoreW_ReleaseSemaphore/test3/createsemaphore.cpp delete mode 100644 src/pal/tests/palsuite/threading/CreateThread/test1/test1.c create mode 100644 src/pal/tests/palsuite/threading/CreateThread/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/threading/CreateThread/test2/test2.c create mode 100644 src/pal/tests/palsuite/threading/CreateThread/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/threading/CreateThread/test3/test3.c create mode 100644 src/pal/tests/palsuite/threading/CreateThread/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/threading/CriticalSectionFunctions/test1/InitializeCriticalSection.c create mode 100644 src/pal/tests/palsuite/threading/CriticalSectionFunctions/test1/InitializeCriticalSection.cpp delete mode 100644 src/pal/tests/palsuite/threading/CriticalSectionFunctions/test2/test2.c create mode 100644 src/pal/tests/palsuite/threading/CriticalSectionFunctions/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/threading/CriticalSectionFunctions/test3/test3.c create mode 100644 src/pal/tests/palsuite/threading/CriticalSectionFunctions/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/threading/CriticalSectionFunctions/test4/test4.c create mode 100644 src/pal/tests/palsuite/threading/CriticalSectionFunctions/test4/test4.cpp delete mode 100644 src/pal/tests/palsuite/threading/CriticalSectionFunctions/test5/test5.c create mode 100644 src/pal/tests/palsuite/threading/CriticalSectionFunctions/test5/test5.cpp delete mode 100644 src/pal/tests/palsuite/threading/CriticalSectionFunctions/test6/test6.c create mode 100644 src/pal/tests/palsuite/threading/CriticalSectionFunctions/test6/test6.cpp delete mode 100644 src/pal/tests/palsuite/threading/CriticalSectionFunctions/test7/test7.c create mode 100644 src/pal/tests/palsuite/threading/CriticalSectionFunctions/test7/test7.cpp delete mode 100644 src/pal/tests/palsuite/threading/CriticalSectionFunctions/test8/test8.c create mode 100644 src/pal/tests/palsuite/threading/CriticalSectionFunctions/test8/test8.cpp delete mode 100644 src/pal/tests/palsuite/threading/DisableThreadLibraryCalls/test1/test1.c create mode 100644 src/pal/tests/palsuite/threading/DisableThreadLibraryCalls/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/threading/DisableThreadLibraryCalls/test1/testlib.c create mode 100644 src/pal/tests/palsuite/threading/DisableThreadLibraryCalls/test1/testlib.cpp delete mode 100644 src/pal/tests/palsuite/threading/DisableThreadLibraryCalls/test2/dllmain1.c create mode 100644 src/pal/tests/palsuite/threading/DisableThreadLibraryCalls/test2/dllmain1.cpp delete mode 100644 src/pal/tests/palsuite/threading/DisableThreadLibraryCalls/test2/dllmain2.c create mode 100644 src/pal/tests/palsuite/threading/DisableThreadLibraryCalls/test2/dllmain2.cpp delete mode 100644 src/pal/tests/palsuite/threading/DisableThreadLibraryCalls/test2/test2.c create mode 100644 src/pal/tests/palsuite/threading/DisableThreadLibraryCalls/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/threading/DuplicateHandle/test1/test1.c create mode 100644 src/pal/tests/palsuite/threading/DuplicateHandle/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/threading/DuplicateHandle/test10/test10.c create mode 100644 src/pal/tests/palsuite/threading/DuplicateHandle/test10/test10.cpp delete mode 100644 src/pal/tests/palsuite/threading/DuplicateHandle/test11/childprocess.c create mode 100644 src/pal/tests/palsuite/threading/DuplicateHandle/test11/childprocess.cpp delete mode 100644 src/pal/tests/palsuite/threading/DuplicateHandle/test11/test11.c create mode 100644 src/pal/tests/palsuite/threading/DuplicateHandle/test11/test11.cpp delete mode 100644 src/pal/tests/palsuite/threading/DuplicateHandle/test12/test12.c create mode 100644 src/pal/tests/palsuite/threading/DuplicateHandle/test12/test12.cpp delete mode 100644 src/pal/tests/palsuite/threading/DuplicateHandle/test2/test2.c create mode 100644 src/pal/tests/palsuite/threading/DuplicateHandle/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/threading/DuplicateHandle/test3/test3.c create mode 100644 src/pal/tests/palsuite/threading/DuplicateHandle/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/threading/DuplicateHandle/test4/test4.c create mode 100644 src/pal/tests/palsuite/threading/DuplicateHandle/test4/test4.cpp delete mode 100644 src/pal/tests/palsuite/threading/DuplicateHandle/test5/test5.c create mode 100644 src/pal/tests/palsuite/threading/DuplicateHandle/test5/test5.cpp delete mode 100644 src/pal/tests/palsuite/threading/DuplicateHandle/test6/test6.c create mode 100644 src/pal/tests/palsuite/threading/DuplicateHandle/test6/test6.cpp delete mode 100644 src/pal/tests/palsuite/threading/DuplicateHandle/test7/test7.c create mode 100644 src/pal/tests/palsuite/threading/DuplicateHandle/test7/test7.cpp delete mode 100644 src/pal/tests/palsuite/threading/DuplicateHandle/test8/test8.c create mode 100644 src/pal/tests/palsuite/threading/DuplicateHandle/test8/test8.cpp delete mode 100644 src/pal/tests/palsuite/threading/DuplicateHandle/test9/test9.c create mode 100644 src/pal/tests/palsuite/threading/DuplicateHandle/test9/test9.cpp delete mode 100644 src/pal/tests/palsuite/threading/ExitProcess/test1/ExitProcess.c create mode 100644 src/pal/tests/palsuite/threading/ExitProcess/test1/ExitProcess.cpp delete mode 100644 src/pal/tests/palsuite/threading/ExitProcess/test2/test2.c create mode 100644 src/pal/tests/palsuite/threading/ExitProcess/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/threading/ExitProcess/test3/test3.c create mode 100644 src/pal/tests/palsuite/threading/ExitProcess/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/threading/ExitThread/test1/test1.c create mode 100644 src/pal/tests/palsuite/threading/ExitThread/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/threading/ExitThread/test2/childprocess.c create mode 100644 src/pal/tests/palsuite/threading/ExitThread/test2/childprocess.cpp delete mode 100644 src/pal/tests/palsuite/threading/ExitThread/test2/test2.c create mode 100644 src/pal/tests/palsuite/threading/ExitThread/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/threading/ExitThread/test3/dllmain.c create mode 100644 src/pal/tests/palsuite/threading/ExitThread/test3/dllmain.cpp delete mode 100644 src/pal/tests/palsuite/threading/ExitThread/test3/test3.c create mode 100644 src/pal/tests/palsuite/threading/ExitThread/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/threading/GetCurrentProcess/test1/process.c create mode 100644 src/pal/tests/palsuite/threading/GetCurrentProcess/test1/process.cpp delete mode 100644 src/pal/tests/palsuite/threading/GetCurrentProcessId/test1/processId.c create mode 100644 src/pal/tests/palsuite/threading/GetCurrentProcessId/test1/processId.cpp delete mode 100644 src/pal/tests/palsuite/threading/GetCurrentThread/test1/thread.c create mode 100644 src/pal/tests/palsuite/threading/GetCurrentThread/test1/thread.cpp delete mode 100644 src/pal/tests/palsuite/threading/GetCurrentThread/test2/test2.c create mode 100644 src/pal/tests/palsuite/threading/GetCurrentThread/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/threading/GetCurrentThreadId/test1/threadId.c create mode 100644 src/pal/tests/palsuite/threading/GetCurrentThreadId/test1/threadId.cpp delete mode 100644 src/pal/tests/palsuite/threading/GetExitCodeProcess/test1/childProcess.c create mode 100644 src/pal/tests/palsuite/threading/GetExitCodeProcess/test1/childProcess.cpp delete mode 100644 src/pal/tests/palsuite/threading/GetExitCodeProcess/test1/test1.c create mode 100644 src/pal/tests/palsuite/threading/GetExitCodeProcess/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/threading/GetProcessTimes/test2/test2.c create mode 100644 src/pal/tests/palsuite/threading/GetProcessTimes/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/threading/GetThreadTimes/test1/test1.c create mode 100644 src/pal/tests/palsuite/threading/GetThreadTimes/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/threading/OpenEventW/test1/test1.c create mode 100644 src/pal/tests/palsuite/threading/OpenEventW/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/threading/OpenEventW/test2/test2.c create mode 100644 src/pal/tests/palsuite/threading/OpenEventW/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/threading/OpenEventW/test3/childprocess.c create mode 100644 src/pal/tests/palsuite/threading/OpenEventW/test3/childprocess.cpp delete mode 100644 src/pal/tests/palsuite/threading/OpenEventW/test3/test3.c create mode 100644 src/pal/tests/palsuite/threading/OpenEventW/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/threading/OpenEventW/test4/test4.c create mode 100644 src/pal/tests/palsuite/threading/OpenEventW/test4/test4.cpp delete mode 100644 src/pal/tests/palsuite/threading/OpenEventW/test5/test5.c create mode 100644 src/pal/tests/palsuite/threading/OpenEventW/test5/test5.cpp delete mode 100644 src/pal/tests/palsuite/threading/OpenProcess/test1/childProcess.c create mode 100644 src/pal/tests/palsuite/threading/OpenProcess/test1/childProcess.cpp delete mode 100644 src/pal/tests/palsuite/threading/OpenProcess/test1/test1.c create mode 100644 src/pal/tests/palsuite/threading/OpenProcess/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/threading/QueryThreadCycleTime/test1/test1.c create mode 100644 src/pal/tests/palsuite/threading/QueryThreadCycleTime/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/threading/QueueUserAPC/test1/test1.c create mode 100644 src/pal/tests/palsuite/threading/QueueUserAPC/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/threading/QueueUserAPC/test2/test2.c create mode 100644 src/pal/tests/palsuite/threading/QueueUserAPC/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/threading/QueueUserAPC/test3/test3.c create mode 100644 src/pal/tests/palsuite/threading/QueueUserAPC/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/threading/QueueUserAPC/test4/test4.c create mode 100644 src/pal/tests/palsuite/threading/QueueUserAPC/test4/test4.cpp delete mode 100644 src/pal/tests/palsuite/threading/QueueUserAPC/test5/test5.c create mode 100644 src/pal/tests/palsuite/threading/QueueUserAPC/test5/test5.cpp delete mode 100644 src/pal/tests/palsuite/threading/QueueUserAPC/test6/test6.c create mode 100644 src/pal/tests/palsuite/threading/QueueUserAPC/test6/test6.cpp delete mode 100644 src/pal/tests/palsuite/threading/QueueUserAPC/test7/test7.c create mode 100644 src/pal/tests/palsuite/threading/QueueUserAPC/test7/test7.cpp delete mode 100644 src/pal/tests/palsuite/threading/ReleaseMutex/test3/ReleaseMutex.c create mode 100644 src/pal/tests/palsuite/threading/ReleaseMutex/test3/ReleaseMutex.cpp delete mode 100644 src/pal/tests/palsuite/threading/ResetEvent/test1/test1.c create mode 100644 src/pal/tests/palsuite/threading/ResetEvent/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/threading/ResetEvent/test2/test2.c create mode 100644 src/pal/tests/palsuite/threading/ResetEvent/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/threading/ResetEvent/test3/test3.c create mode 100644 src/pal/tests/palsuite/threading/ResetEvent/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/threading/ResetEvent/test4/test4.c create mode 100644 src/pal/tests/palsuite/threading/ResetEvent/test4/test4.cpp delete mode 100644 src/pal/tests/palsuite/threading/ResumeThread/test1/test1.c create mode 100644 src/pal/tests/palsuite/threading/ResumeThread/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/threading/SetErrorMode/test1/test1.c create mode 100644 src/pal/tests/palsuite/threading/SetErrorMode/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/threading/SetEvent/test1/test1.c create mode 100644 src/pal/tests/palsuite/threading/SetEvent/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/threading/SetEvent/test2/test2.c create mode 100644 src/pal/tests/palsuite/threading/SetEvent/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/threading/SetEvent/test3/test3.c create mode 100644 src/pal/tests/palsuite/threading/SetEvent/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/threading/SetEvent/test4/test4.c create mode 100644 src/pal/tests/palsuite/threading/SetEvent/test4/test4.cpp delete mode 100644 src/pal/tests/palsuite/threading/Sleep/test1/Sleep.c create mode 100644 src/pal/tests/palsuite/threading/Sleep/test1/Sleep.cpp delete mode 100644 src/pal/tests/palsuite/threading/Sleep/test2/sleep.c create mode 100644 src/pal/tests/palsuite/threading/Sleep/test2/sleep.cpp delete mode 100644 src/pal/tests/palsuite/threading/SleepEx/test1/test1.c create mode 100644 src/pal/tests/palsuite/threading/SleepEx/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/threading/SleepEx/test2/test2.c create mode 100644 src/pal/tests/palsuite/threading/SleepEx/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/threading/SwitchToThread/test1/test1.c create mode 100644 src/pal/tests/palsuite/threading/SwitchToThread/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/threading/TLS/test1/TLS.c create mode 100644 src/pal/tests/palsuite/threading/TLS/test1/TLS.cpp delete mode 100644 src/pal/tests/palsuite/threading/TLS/test2/TLS.c create mode 100644 src/pal/tests/palsuite/threading/TLS/test2/TLS.cpp delete mode 100644 src/pal/tests/palsuite/threading/TLS/test3/TLS.c create mode 100644 src/pal/tests/palsuite/threading/TLS/test3/TLS.cpp delete mode 100644 src/pal/tests/palsuite/threading/TLS/test4/test4.c create mode 100644 src/pal/tests/palsuite/threading/TLS/test4/test4.cpp delete mode 100644 src/pal/tests/palsuite/threading/TLS/test5/test5.c create mode 100644 src/pal/tests/palsuite/threading/TLS/test5/test5.cpp delete mode 100644 src/pal/tests/palsuite/threading/TLS/test6_optimizedtls/test.c create mode 100644 src/pal/tests/palsuite/threading/TLS/test6_optimizedtls/test.cpp delete mode 100644 src/pal/tests/palsuite/threading/TerminateProcess/test1/TerminateProcess.c create mode 100644 src/pal/tests/palsuite/threading/TerminateProcess/test1/TerminateProcess.cpp delete mode 100644 src/pal/tests/palsuite/threading/ThreadPriority/test1/ThreadPriority.c create mode 100644 src/pal/tests/palsuite/threading/ThreadPriority/test1/ThreadPriority.cpp delete mode 100644 src/pal/tests/palsuite/threading/WaitForMultipleObjects/test1/test1.c create mode 100644 src/pal/tests/palsuite/threading/WaitForMultipleObjects/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/threading/WaitForMultipleObjectsEx/test1/test1.c create mode 100644 src/pal/tests/palsuite/threading/WaitForMultipleObjectsEx/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/threading/WaitForMultipleObjectsEx/test2/test2.c create mode 100644 src/pal/tests/palsuite/threading/WaitForMultipleObjectsEx/test2/test2.cpp delete mode 100644 src/pal/tests/palsuite/threading/WaitForMultipleObjectsEx/test3/test3.c create mode 100644 src/pal/tests/palsuite/threading/WaitForMultipleObjectsEx/test3/test3.cpp delete mode 100644 src/pal/tests/palsuite/threading/WaitForMultipleObjectsEx/test4/test4.c create mode 100644 src/pal/tests/palsuite/threading/WaitForMultipleObjectsEx/test4/test4.cpp delete mode 100644 src/pal/tests/palsuite/threading/WaitForMultipleObjectsEx/test5/helper.c create mode 100644 src/pal/tests/palsuite/threading/WaitForMultipleObjectsEx/test5/helper.cpp delete mode 100644 src/pal/tests/palsuite/threading/WaitForMultipleObjectsEx/test5/test5.c create mode 100644 src/pal/tests/palsuite/threading/WaitForMultipleObjectsEx/test5/test5.cpp delete mode 100644 src/pal/tests/palsuite/threading/WaitForMultipleObjectsEx/test6/child6.c create mode 100644 src/pal/tests/palsuite/threading/WaitForMultipleObjectsEx/test6/child6.cpp delete mode 100644 src/pal/tests/palsuite/threading/WaitForMultipleObjectsEx/test6/test6.c create mode 100644 src/pal/tests/palsuite/threading/WaitForMultipleObjectsEx/test6/test6.cpp delete mode 100644 src/pal/tests/palsuite/threading/WaitForSingleObject/WFSOExMutexTest/WFSOExMutexTest.c create mode 100644 src/pal/tests/palsuite/threading/WaitForSingleObject/WFSOExMutexTest/WFSOExMutexTest.cpp delete mode 100644 src/pal/tests/palsuite/threading/WaitForSingleObject/WFSOExSemaphoreTest/WFSOExSemaphoreTest.c create mode 100644 src/pal/tests/palsuite/threading/WaitForSingleObject/WFSOExSemaphoreTest/WFSOExSemaphoreTest.cpp delete mode 100644 src/pal/tests/palsuite/threading/WaitForSingleObject/WFSOExThreadTest/WFSOExThreadTest.c create mode 100644 src/pal/tests/palsuite/threading/WaitForSingleObject/WFSOExThreadTest/WFSOExThreadTest.cpp delete mode 100644 src/pal/tests/palsuite/threading/WaitForSingleObject/WFSOMutexTest/WFSOMutexTest.c create mode 100644 src/pal/tests/palsuite/threading/WaitForSingleObject/WFSOMutexTest/WFSOMutexTest.cpp delete mode 100644 src/pal/tests/palsuite/threading/WaitForSingleObject/WFSOProcessTest/ChildProcess.c create mode 100644 src/pal/tests/palsuite/threading/WaitForSingleObject/WFSOProcessTest/ChildProcess.cpp delete mode 100644 src/pal/tests/palsuite/threading/WaitForSingleObject/WFSOProcessTest/WFSOProcessTest.c create mode 100644 src/pal/tests/palsuite/threading/WaitForSingleObject/WFSOProcessTest/WFSOProcessTest.cpp delete mode 100644 src/pal/tests/palsuite/threading/WaitForSingleObject/WFSOSemaphoreTest/WFSOSemaphoreTest.c create mode 100644 src/pal/tests/palsuite/threading/WaitForSingleObject/WFSOSemaphoreTest/WFSOSemaphoreTest.cpp delete mode 100644 src/pal/tests/palsuite/threading/WaitForSingleObject/WFSOThreadTest/WFSOThreadTest.c create mode 100644 src/pal/tests/palsuite/threading/WaitForSingleObject/WFSOThreadTest/WFSOThreadTest.cpp delete mode 100644 src/pal/tests/palsuite/threading/WaitForSingleObject/test1/test1.c create mode 100644 src/pal/tests/palsuite/threading/WaitForSingleObject/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/threading/YieldProcessor/test1/test1.c create mode 100644 src/pal/tests/palsuite/threading/YieldProcessor/test1/test1.cpp delete mode 100644 src/pal/tests/palsuite/threading/releasesemaphore/test1/test.c create mode 100644 src/pal/tests/palsuite/threading/releasesemaphore/test1/test.cpp delete mode 100644 src/vm/gc.h create mode 100644 src/vm/gcheaputilities.cpp create mode 100644 src/vm/gcheaputilities.h create mode 100644 src/vm/gcinterface.h create mode 100644 src/vm/i386/asmhelpers.S create mode 100644 src/vm/i386/gmsasm.S create mode 100644 src/vm/i386/jithelp.S create mode 100644 src/vm/i386/umthunkstub.S create mode 100644 src/vm/i386/unixstubs.cpp create mode 100644 tests/debugger_tests/ConfigFilesGenerators/ConfigTemplate.txt create mode 100644 tests/debugger_tests/ConfigFilesGenerators/GenerateConfig.cmd create mode 100644 tests/debugger_tests/ConfigFilesGenerators/GenerateConfig.sh create mode 100644 tests/debugger_tests/ScriptGenerator/Program.cs create mode 100644 tests/debugger_tests/ScriptGenerator/project.json create mode 100644 tests/debugger_tests/setup-debuggertests.cmd create mode 100644 tests/debugger_tests/setup-debuggertests.sh delete mode 100644 tests/helix.targets create mode 100644 tests/scripts/arm64_post_build.py create mode 100755 tests/scripts/perf-prep.sh mode change 100644 => 100755 tests/scripts/run-xunit-perf.sh create mode 100644 tests/src/CLRTest.Jit.targets create mode 100644 tests/src/Common/build_against_pkg_dependencies/build_against_pkg_dependencies.csproj create mode 100644 tests/src/Common/build_against_pkg_dependencies/project.json create mode 100644 tests/src/Common/netcoreapp/project.json create mode 100644 tests/src/Common/targeting_pack_ref/project.json create mode 100644 tests/src/Common/targeting_pack_ref/targeting_pack_ref.csproj create mode 100644 tests/src/CoreMangLib/system/span/BasicSpanTest.cs create mode 100644 tests/src/GC/Stress/Tests/dir.targets create mode 100644 tests/src/JIT/CodeGenBringUpTests/Shift.cs create mode 100644 tests/src/JIT/CodeGenBringUpTests/Shift.csproj create mode 100644 tests/src/JIT/Directed/pinvoke/pinvoke-examples.cs create mode 100644 tests/src/JIT/Directed/pinvoke/pinvoke-examples.csproj create mode 100644 tests/src/JIT/Methodical/structs/valuetuple.cs create mode 100644 tests/src/JIT/Methodical/structs/valuetuple.csproj create mode 100644 tests/src/JIT/Performance/CodeQuality/Inlining/InlineGCStruct.cs create mode 100644 tests/src/JIT/Performance/CodeQuality/Inlining/InlineGCStruct.csproj create mode 100644 tests/src/JIT/Performance/CodeQuality/SIMD/SeekUnroll/SeekUnroll.cs create mode 100644 tests/src/JIT/Performance/CodeQuality/SIMD/SeekUnroll/SeekUnroll.csproj create mode 100755 tests/src/JIT/Performance/RunBenchmarks/RunBenchmarks.sh delete mode 100644 tests/src/JIT/Regression/CLR-x86-JIT/V2.0-RTM/b475589/b475589.il delete mode 100644 tests/src/JIT/Regression/CLR-x86-JIT/V2.0-RTM/b475589/b475589.ilproj create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_142976/DevDiv_142976.cs create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_142976/DevDiv_142976.csproj create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_255294/DevDiv_255294.cs create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_255294/DevDiv_255294.csproj create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_278365/DevDiv_278365.cs create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_278365/DevDiv_278365.csproj create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_278369/DevDiv_278369.il create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_278369/DevDiv_278369.ilproj create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_278371/DevDiv_278371.il create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_278371/DevDiv_278371.ilproj create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_278372/DevDiv_278372.il create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_278372/DevDiv_278372.ilproj create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_278375/DevDiv_278375.cs create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_278375/DevDiv_278375.csproj create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_278376/DevDiv_278376.cs create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_278376/DevDiv_278376.csproj create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_278523/DevDiv_278523.il create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_278523/DevDiv_278523.ilproj create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_278526/DevDiv_278526.cs create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_278526/DevDiv_278526.csproj create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_279396/DevDiv_279396.il create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_279396/DevDiv_279396.ilproj create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_279829/DevDiv_279829.il create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_279829/DevDiv_279829.ilproj create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_280120/DevDiv_280120.cs create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_280120/DevDiv_280120.csproj create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_280123/DevDiv_280123.cs create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_280123/DevDiv_280123.csproj create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_280127/DevDiv_280127.cs create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_280127/DevDiv_280127.csproj create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_283795/DevDiv_283795.cs create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_283795/DevDiv_283795.csproj create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_284785/DevDiv_284785.cs create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_284785/DevDiv_284785.csproj create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_288222/DevDiv_288222.cs create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_288222/DevDiv_288222.csproj create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_359734/DevDiv_359734.il create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_359734/DevDiv_359734.ilproj create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_359736/DevDiv_359736.cs create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_359736/DevDiv_359736_d.csproj create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_359736/DevDiv_359736_do.csproj create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_359736/DevDiv_359736_r.csproj create mode 100644 tests/src/JIT/Regression/JitBlue/DevDiv_359736/DevDiv_359736_ro.csproj create mode 100644 tests/src/JIT/Regression/JitBlue/GitHub_7906/GitHub_7906.cs create mode 100644 tests/src/JIT/Regression/JitBlue/GitHub_7906/GitHub_7906.csproj create mode 100644 tests/src/JIT/Regression/JitBlue/GitHub_7907/GitHub_7907.cs create mode 100644 tests/src/JIT/Regression/JitBlue/GitHub_7907/GitHub_7907.csproj create mode 100644 tests/src/JIT/Regression/JitBlue/GitHub_8133/GitHub_8133.il create mode 100644 tests/src/JIT/Regression/JitBlue/GitHub_8133/GitHub_8133.ilproj create mode 100644 tests/src/JIT/Regression/JitBlue/GitHub_8170/GitHub_8170.cs create mode 100644 tests/src/JIT/Regression/JitBlue/GitHub_8170/GitHub_8170.csproj create mode 100644 tests/src/JIT/Regression/JitBlue/GitHub_8220/GitHub_8220.cs create mode 100644 tests/src/JIT/Regression/JitBlue/GitHub_8220/GitHub_8220.csproj create mode 100644 tests/src/JIT/Regression/JitBlue/GitHub_8231/GitHub_8231.cs create mode 100644 tests/src/JIT/Regression/JitBlue/GitHub_8231/GitHub_8231.csproj create mode 100644 tests/src/JIT/Regression/JitBlue/GitHub_8460/GitHub_8460.cs create mode 100644 tests/src/JIT/Regression/JitBlue/GitHub_8460/GitHub_8460.csproj create mode 100644 tests/src/JIT/Regression/JitBlue/GitHub_8599/GitHub_8599.cs create mode 100644 tests/src/JIT/Regression/JitBlue/GitHub_8599/GitHub_8599.csproj create mode 100644 tests/src/JIT/Regression/JitBlue/GitHub_CoreRT_2073/GitHub_CoreRT_2073.il create mode 100644 tests/src/JIT/Regression/JitBlue/GitHub_CoreRT_2073/GitHub_CoreRT_2073.ilproj delete mode 100644 tests/src/Loader/classloader/PrivateInterfaceImpl/Test2_NonFriendPriInterface.csproj delete mode 100644 tests/src/Loader/classloader/generics/Visibility/A_Types.csproj delete mode 100644 tests/src/Loader/classloader/generics/Visibility/B_Types.csproj create mode 100644 tests/src/baseservices/compilerservices/FixedAddressValueType/FixedAddressValueType.cs create mode 100644 tests/src/baseservices/compilerservices/FixedAddressValueType/FixedAddressValueType.csproj create mode 100644 tests/src/baseservices/compilerservices/RuntimeHelpers/ExecuteCodeWithGuaranteedCleanup.cs create mode 100644 tests/src/baseservices/compilerservices/RuntimeHelpers/ExecuteCodeWithGuaranteedCleanup.csproj create mode 100644 tests/src/baseservices/compilerservices/RuntimeWrappedException/RuntimeWrappedException.cs create mode 100644 tests/src/baseservices/compilerservices/RuntimeWrappedException/RuntimeWrappedException.csproj create mode 100644 tests/src/baseservices/compilerservices/RuntimeWrappedException/StringThrower.il create mode 100644 tests/src/baseservices/compilerservices/RuntimeWrappedException/StringThrower.ilproj create mode 100644 tests/src/baseservices/compilerservices/modulector/moduleCctor.il create mode 100644 tests/src/baseservices/compilerservices/modulector/moduleCctor.ilproj create mode 100644 tests/src/baseservices/compilerservices/modulector/runmoduleconstructor.cs create mode 100644 tests/src/baseservices/compilerservices/modulector/runmoduleconstructor.csproj create mode 100644 tests/src/jit/Directed/pinvoke/pinvoke-bug.cs create mode 100644 tests/src/jit/Directed/pinvoke/pinvoke-bug.csproj create mode 100644 tests/src/reflection/ldtoken/byrefs.il create mode 100644 tests/src/reflection/ldtoken/byrefs.ilproj create mode 100644 tests/x86/compatjit_x86_testenv.cmd create mode 100644 tests/x86/legacyjit_x86_testenv.cmd create mode 100755 verify-so.sh diff --git a/.gitignore b/.gitignore deleted file mode 100644 index b3ac01b..0000000 --- a/.gitignore +++ /dev/null @@ -1,306 +0,0 @@ -syntax: glob - -[Bb]inaries/ - -# Build tools related files -/[Tt]ools/ - -### VisualStudio ### - -# User-specific files -*.suo -*.user -*.userosscache -*.sln.docstates - -# Build results -[Dd]ebug/ -[Dd]ebugPublic/ -[Rr]elease/ -[Rr]eleases/ -x64/ -x86/ -build/ -bld/ -[Bb]in/ -[Oo]bj/ -msbuild.log - -# Visual Studio 2015 -.vs/ - -# Visual Studio 2015 Pre-CTP6 -*.sln.ide -*.ide/ - -# MSTest test Results -[Tt]est[Rr]esult*/ -[Bb]uild[Ll]og.* - -#NUNIT -*.VisualState.xml -TestResult.xml - -# Build Results of an ATL Project -[Dd]ebugPS/ -[Rr]eleasePS/ -dlldata.c - -*_i.c -*_p.c -*_i.h -*.ilk -*.meta -*.obj -*.pch -*.pdb -*.pgc -*.pgd -*.rsp -*.sbr -*.tlb -*.tli -*.tlh -*.tmp -*.tmp_proj -*.log -*.html -*.vspscc -*.vssscc -.builds -*.pidb -*.svclog -*.scc - -# Chutzpah Test files -_Chutzpah* - -# Visual C++ cache files -ipch/ -*.aps -*.ncb -*.opendb -*.opensdf -*.sdf -*.cachefile -*.VC.db - -# Visual Studio profiler -*.psess -*.vsp -*.vspx - -# TFS 2012 Local Workspace -$tf/ - -# Guidance Automation Toolkit -*.gpState - -# ReSharper is a .NET coding add-in -_ReSharper*/ -*.[Rr]e[Ss]harper -*.DotSettings.user - -# JustCode is a .NET coding addin-in -.JustCode - -# TeamCity is a build add-in -_TeamCity* - -# DotCover is a Code Coverage Tool -*.dotCover - -# NCrunch -_NCrunch_* -.*crunch*.local.xml - -# MightyMoose -*.mm.* -AutoTest.Net/ - -# Web workbench (sass) -.sass-cache/ - -# Installshield output folder -[Ee]xpress/ - -# DocProject is a documentation generator add-in -DocProject/buildhelp/ -DocProject/Help/*.HxT -DocProject/Help/*.HxC -DocProject/Help/*.hhc -DocProject/Help/*.hhk -DocProject/Help/*.hhp -DocProject/Help/Html2 -DocProject/Help/html - -# Click-Once directory -publish/ - -# Publish Web Output -*.[Pp]ublish.xml -*.azurePubxml -*.pubxml -*.publishproj - -# NuGet Packages -*.nupkg -**/packages/* -project.lock.json - -# Windows Azure Build Output -csx/ -*.build.csdef - -# Windows Store app package directory -AppPackages/ - -# Others -sql/ -*.Cache -ClientBin/ -[Ss]tyle[Cc]op.* -~$* -*.dbmdl -*.dbproj.schemaview -*.pfx -*.publishsettings -node_modules/ -*.metaproj -*.metaproj.tmp -.atom-build.json -tags -TAGS - -# RIA/Silverlight projects -Generated_Code/ - -# Backup & report files from converting an old project file -# to a newer Visual Studio version. Backup files are not needed, -# because we have git ;-) -_UpgradeReport_Files/ -Backup*/ -UpgradeLog*.XML -UpgradeLog*.htm - -# SQL Server files -*.mdf -*.ldf - -# Business Intelligence projects -*.rdl.data -*.bim.layout -*.bim_*.settings - -# Microsoft Fakes -FakesAssemblies/ - -# C/C++ extension for Visual Studio Code -browse.VC.db - -# Local settings folder for Visual Studio Code -.vscode/ - -### MonoDevelop ### - -*.pidb -*.userprefs - -### Windows ### - -# Windows image file caches -Thumbs.db -ehthumbs.db - -# Folder config file -Desktop.ini - -# Recycle Bin used on file shares -$RECYCLE.BIN/ - -# Windows Installer files -*.cab -*.msi -*.msm -*.msp - -# Windows shortcuts -*.lnk - -# Common binary extensions on Windows -*.exe -*.dll -*.lib - -### Linux ### - -*~ -\#*\# - -# KDE directory preferences -.directory - -### OSX ### - -.DS_Store -.AppleDouble -.LSOverride - -# Icon must end with two \r -Icon - -# Thumbnails -._* - -# Files that might appear on external disk -.Spotlight-V100 -.Trashes - -# Directories potentially created on remote AFP share -.AppleDB -.AppleDesktop -Network Trash Folder -Temporary Items -.apdisk - -# We have some checked in prebuilt generated files -!src/pal/prebuilt/idl/*_i.c - -# Valid 'debug' folder, that contains CLR debugging code -!src/debug - -# Ignore folders created by the test build -TestWrappers_x64_[d|D]ebug -TestWrappers_x64_[c|C]hecked -TestWrappers_x64_[r|R]elease -TestWrappers_x86_[d|D]ebug -TestWrappers_x86_[c|C]hecked -TestWrappers_x86_[r|R]elease -TestWrappers_arm_[d|D]ebug -TestWrappers_arm_[c|C]hecked -TestWrappers_arm_[r|R]elease -TestWrappers_arm64_[d|D]ebug -TestWrappers_arm64_[c|C]hecked -TestWrappers_arm64_[r|R]elease -tests/src/common/test_runtime/project.json - -Vagrantfile -.vagrant - -# CMake files -CMakeFiles/ -cmake_install.cmake -CMakeCache.txt -Makefile - -# Cross compilation -cross/rootfs/* - -#python import files -*.pyc - -# JIT32 files -src/jit32 - -# performance testing sandbox -sandbox diff --git a/.gitmirror b/.gitmirror deleted file mode 100644 index f507630..0000000 --- a/.gitmirror +++ /dev/null @@ -1 +0,0 @@ -Only contents of this folder, excluding subfolders, will be mirrored by the Git-TFS Mirror. \ No newline at end of file diff --git a/.gitmirrorselective b/.gitmirrorselective new file mode 100644 index 0000000..e831038 --- /dev/null +++ b/.gitmirrorselective @@ -0,0 +1 @@ +src \ No newline at end of file diff --git a/BuildToolsVersion.txt b/BuildToolsVersion.txt index acf5f59..f271787 100644 --- a/BuildToolsVersion.txt +++ b/BuildToolsVersion.txt @@ -1 +1 @@ -1.0.26-prerelease-00719-02 \ No newline at end of file +1.0.27-prerelease-01008-01 \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index a257421..61c689b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,7 +14,6 @@ include(functions.cmake) if (WIN32) message(STATUS "VS_PLATFORM_TOOLSET is ${CMAKE_VS_PLATFORM_TOOLSET}") message(STATUS "VS_PLATFORM_NAME is ${CMAKE_VS_PLATFORM_NAME}") - message(STATUS "VS_WINDOWS_TARGET_PLATFORM_VERSION is ${CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION}") endif (WIN32) # Set commonly used directory names @@ -40,11 +39,19 @@ endif() # Ensure other tools are present if (WIN32) if(CLR_CMAKE_HOST_ARCH STREQUAL arm) + + # Confirm that Windows SDK is present + if(NOT DEFINED CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION OR CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION STREQUAL "" ) + message(FATAL_ERROR "Windows SDK is required for the Arm32 build.") + else() + message("Using Windows SDK version ${CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION}") + endif() + # Explicitly specify the assembler to be used for Arm32 compile file(TO_CMAKE_PATH "$ENV{VCINSTALLDIR}\\bin\\x86_arm\\armasm.exe" CMAKE_ASM_COMPILER) set(CMAKE_ASM_MASM_COMPILER ${CMAKE_ASM_COMPILER}) - message(CMAKE_ASM_MASM_COMPILER explicitly set to: ${CMAKE_ASM_MASM_COMPILER}) + message("CMAKE_ASM_MASM_COMPILER explicitly set to: ${CMAKE_ASM_MASM_COMPILER}") # Enable generic assembly compilation to avoid CMake generate VS proj files that explicitly # use ml[64].exe as the assembler. @@ -94,9 +101,11 @@ else (WIN32) else (CMAKE_SYSTEM_NAME STREQUAL Darwin) # Ensure that objcopy is present - if (DEFINED ENV{CROSSCOMPILE}) + if (DEFINED ENV{CROSSCOMPILE} AND NOT DEFINED CLR_CROSS_COMPONENTS_BUILD) if (CMAKE_SYSTEM_PROCESSOR STREQUAL armv7l OR CMAKE_SYSTEM_PROCESSOR STREQUAL aarch64) find_program(OBJCOPY ${TOOLCHAIN}-objcopy) + elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL i686) + find_program(OBJCOPY objcopy) else() clr_unknown_arch() endif() @@ -113,25 +122,52 @@ endif(WIN32) #---------------------------------------- # Detect and set platform variable names -# - for non-windows build platform & architecture is detected using inbuilt CMAKE variables +# - for non-windows build platform & architecture is detected using inbuilt CMAKE variables and cross target component configure # - for windows we use the passed in parameter to CMAKE to determine build arch #---------------------------------------- if(CMAKE_SYSTEM_NAME STREQUAL Linux) set(CLR_CMAKE_PLATFORM_UNIX 1) - # CMAKE_SYSTEM_PROCESSOR returns the value of `uname -p`. - # For the AMD/Intel 64bit architecure two different strings are common. - # Linux and Darwin identify it as "x86_64" while FreeBSD and netbsd uses the - # "amd64" string. Accept either of the two here. - if(CMAKE_SYSTEM_PROCESSOR STREQUAL x86_64 OR CMAKE_SYSTEM_PROCESSOR STREQUAL amd64) - set(CLR_CMAKE_PLATFORM_UNIX_AMD64 1) - elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL armv7l) - set(CLR_CMAKE_PLATFORM_UNIX_ARM 1) - elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL aarch64) - set(CLR_CMAKE_PLATFORM_UNIX_ARM64 1) + if(CLR_CROSS_COMPONENTS_BUILD) + # CMAKE_HOST_SYSTEM_PROCESSOR returns the value of `uname -p` on host. + if(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL x86_64 OR CMAKE_SYSTEM_PROCESSOR STREQUAL amd64) + if(CLR_CMAKE_TARGET_ARCH STREQUAL "arm") + set(CLR_CMAKE_PLATFORM_UNIX_X86 1) + else() + set(CLR_CMAKE_PLATFORM_UNIX_AMD64 1) + endif() + elseif(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL i686) + set(CLR_CMAKE_PLATFORM_UNIX_X86 1) + else() + clr_unknown_arch() + endif() else() - clr_unknown_arch() + # CMAKE_SYSTEM_PROCESSOR returns the value of `uname -p` on target. + # For the AMD/Intel 64bit architecure two different strings are common. + # Linux and Darwin identify it as "x86_64" while FreeBSD and netbsd uses the + # "amd64" string. Accept either of the two here. + if(CMAKE_SYSTEM_PROCESSOR STREQUAL x86_64 OR CMAKE_SYSTEM_PROCESSOR STREQUAL amd64) + set(CLR_CMAKE_PLATFORM_UNIX_AMD64 1) + elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL armv7l) + set(CLR_CMAKE_PLATFORM_UNIX_ARM 1) + elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL aarch64) + set(CLR_CMAKE_PLATFORM_UNIX_ARM64 1) + elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL i686) + set(CLR_CMAKE_PLATFORM_UNIX_X86 1) + else() + clr_unknown_arch() + endif() endif() set(CLR_CMAKE_PLATFORM_LINUX 1) + + # Detect Alpine Linux + SET(OS_RELEASE_FILENAME "/etc/os-release") + if (EXISTS ${OS_RELEASE_FILENAME}) + file(READ ${OS_RELEASE_FILENAME} OS_RELEASE) + string(FIND "${OS_RELEASE}" "ID=alpine" CLR_CMAKE_PLATFORM_ALPINE_LINUX) + if(CLR_CMAKE_PLATFORM_ALPINE_LINUX EQUAL -1) + unset(CLR_CMAKE_PLATFORM_ALPINE_LINUX) + endif(CLR_CMAKE_PLATFORM_ALPINE_LINUX EQUAL -1) + endif(EXISTS ${OS_RELEASE_FILENAME}) endif(CMAKE_SYSTEM_NAME STREQUAL Linux) if(CMAKE_SYSTEM_NAME STREQUAL Darwin) @@ -190,27 +226,30 @@ endif(CMAKE_SYSTEM_NAME STREQUAL SunOS) #------------------------------------------------------------- # Set HOST architecture variables if(CLR_CMAKE_PLATFORM_UNIX_ARM) - set(CLR_CMAKE_PLATFORM_ARCH_ARM 1) - set(CLR_CMAKE_HOST_ARCH "arm") + set(CLR_CMAKE_PLATFORM_ARCH_ARM 1) + set(CLR_CMAKE_HOST_ARCH "arm") elseif(CLR_CMAKE_PLATFORM_UNIX_ARM64) - set(CLR_CMAKE_PLATFORM_ARCH_ARM64 1) - set(CLR_CMAKE_HOST_ARCH "arm64") + set(CLR_CMAKE_PLATFORM_ARCH_ARM64 1) + set(CLR_CMAKE_HOST_ARCH "arm64") elseif(CLR_CMAKE_PLATFORM_UNIX_AMD64) - set(CLR_CMAKE_PLATFORM_ARCH_AMD64 1) - set(CLR_CMAKE_HOST_ARCH "x64") -elseif(WIN32) - # CLR_CMAKE_HOST_ARCH is passed in as param to cmake - if (CLR_CMAKE_HOST_ARCH STREQUAL x64) set(CLR_CMAKE_PLATFORM_ARCH_AMD64 1) - elseif(CLR_CMAKE_HOST_ARCH STREQUAL x86) + set(CLR_CMAKE_HOST_ARCH "x64") +elseif(CLR_CMAKE_PLATFORM_UNIX_X86) set(CLR_CMAKE_PLATFORM_ARCH_I386 1) - elseif(CLR_CMAKE_HOST_ARCH STREQUAL arm) - set(CLR_CMAKE_PLATFORM_ARCH_ARM 1) - elseif(CLR_CMAKE_HOST_ARCH STREQUAL arm64) - set(CLR_CMAKE_PLATFORM_ARCH_ARM64 1) - else() - clr_unknown_arch() - endif() + set(CLR_CMAKE_HOST_ARCH "x86") +elseif(WIN32) + # CLR_CMAKE_HOST_ARCH is passed in as param to cmake + if (CLR_CMAKE_HOST_ARCH STREQUAL x64) + set(CLR_CMAKE_PLATFORM_ARCH_AMD64 1) + elseif(CLR_CMAKE_HOST_ARCH STREQUAL x86) + set(CLR_CMAKE_PLATFORM_ARCH_I386 1) + elseif(CLR_CMAKE_HOST_ARCH STREQUAL arm) + set(CLR_CMAKE_PLATFORM_ARCH_ARM 1) + elseif(CLR_CMAKE_HOST_ARCH STREQUAL arm64) + set(CLR_CMAKE_PLATFORM_ARCH_ARM64 1) + else() + clr_unknown_arch() + endif() endif() # Set TARGET architecture variables @@ -235,9 +274,9 @@ endif() # check if host & target arch combination are valid if(NOT(CLR_CMAKE_TARGET_ARCH STREQUAL CLR_CMAKE_HOST_ARCH)) - if(NOT((CLR_CMAKE_PLATFORM_ARCH_AMD64 AND CLR_CMAKE_TARGET_ARCH_ARM64) OR (CLR_CMAKE_PLATFORM_ARCH_I386 AND CLR_CMAKE_TARGET_ARCH_ARM))) - message(FATAL_ERROR "Invalid host and target arch combination") - endif() + if(NOT((CLR_CMAKE_PLATFORM_ARCH_AMD64 AND CLR_CMAKE_TARGET_ARCH_ARM64) OR (CLR_CMAKE_PLATFORM_ARCH_I386 AND CLR_CMAKE_TARGET_ARCH_ARM))) + message(FATAL_ERROR "Invalid host and target arch combination") + endif() endif() #----------------------------------------------------- @@ -265,10 +304,8 @@ if (WIN32) endforeach (Definition) endforeach (Config) - if(NOT CLR_CMAKE_PLATFORM_ARCH_ARM64) - set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /guard:cf") - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /guard:cf") - endif (NOT CLR_CMAKE_PLATFORM_ARCH_ARM64) + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /guard:cf") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /guard:cf") # Incremental linking with CFG is broken until next VS release. # This needs to be appended to the last for each build type to override the default flag. @@ -278,7 +315,15 @@ if (WIN32) # # Disable the following line for UNIX altjit on Windows set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /MANIFEST:NO") #Do not create Side-by-Side Assembly Manifest - set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /SUBSYSTEM:WINDOWS,6.00") #windows subsystem + + if (CLR_CMAKE_PLATFORM_ARCH_ARM) + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /SUBSYSTEM:WINDOWS,6.02") #windows subsystem - arm minimum is 6.02 + elseif(CLR_CMAKE_PLATFORM_ARCH_ARM64) + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /SUBSYSTEM:WINDOWS,6.03") #windows subsystem - arm64 minimum is 6.03 + else () + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /SUBSYSTEM:WINDOWS,6.01") #windows subsystem + endif () + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /LARGEADDRESSAWARE") # can handle addresses larger than 2 gigabytes set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /RELEASE") #sets the checksum in the header set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /NXCOMPAT") #Compatible with Data Execution Prevention @@ -425,6 +470,9 @@ if (CLR_CMAKE_PLATFORM_UNIX) elseif(CLR_CMAKE_PLATFORM_UNIX_ARM64) message("Detected Linux ARM64") add_definitions(-DLINUX64) + elseif(CLR_CMAKE_PLATFORM_UNIX_X86) + message("Detected Linux i686") + add_definitions(-DLINUX32) else() clr_unknown_arch() endif() @@ -567,4 +615,4 @@ if(CLR_CMAKE_BUILD_TESTS) add_subdirectory(tests) endif(CLR_CMAKE_BUILD_TESTS) -include(definitionsconsistencycheck.cmake) \ No newline at end of file +include(definitionsconsistencycheck.cmake) diff --git a/Documentation/README.md b/Documentation/README.md index 7e29013..1a3906b 100644 --- a/Documentation/README.md +++ b/Documentation/README.md @@ -59,7 +59,7 @@ Book of the Runtime The Book of the Runtime is a set of chapters that go in depth into various interesting aspects of the design of the .NET Framework. -- [Book of the Runtime](botr/_tableOfContents.md) +- [Book of the Runtime](botr/README.md) For your convenience, here are a few quick links to popular chapters: diff --git a/Documentation/botr/README.md b/Documentation/botr/README.md new file mode 100644 index 0000000..db4ffc1 --- /dev/null +++ b/Documentation/botr/README.md @@ -0,0 +1,34 @@ + +#The Book of the Runtime + +Welcome to the Book of the Runtime (BOTR) for the .NET Runtime. This contains +a collection of articles about the non-trivial internals of the .NET Runtime. Its +intended audience are people actually modifying the code or simply wishing to have a +deep understanding of the runtime. + +Below is a table of contents. + +- [Book of the Runtime FAQ](botr-faq.md) +- [Introduction to the Common Language Runtime](intro-to-clr.md) +- [Garbage Collection Design](garbage-collection.md) +- [Threading](threading.md) +- [RyuJIT Overview](ryujit-overview.md) + - [Porting RyuJIT to other platforms](porting-ryujit.md) +- [Type System](type-system.md) +- [Type Loader](type-loader.md) +- [Method Descriptor](method-descriptor.md) +- [Virtual Stub Dispatch](virtual-stub-dispatch.md) +- [Stack Walking](stackwalking.md) +- [Mscorlib and Calling Into the Runtime](mscorlib.md) +- [Data Access Component (DAC) Notes](dac-notes.md) +- [Profiling](profiling.md) +- [Implementing Profilability](profilability.md) +- [What Every Dev needs to Know About Exceptions in the Runtime](exceptions.md) +- [ReadyToRun Overview](readytorun-overview.md) +- [CLR ABI](clr-abi.md) + + +It may be possible that this table is not complete. You can get a complete list +by looking at the directory where all the chapters are stored: + +* [All Book of the Runtime (BOTR) chapters on GitHub](../botr) diff --git a/Documentation/botr/_tableOfContents.md b/Documentation/botr/_tableOfContents.md deleted file mode 100644 index db4ffc1..0000000 --- a/Documentation/botr/_tableOfContents.md +++ /dev/null @@ -1,34 +0,0 @@ - -#The Book of the Runtime - -Welcome to the Book of the Runtime (BOTR) for the .NET Runtime. This contains -a collection of articles about the non-trivial internals of the .NET Runtime. Its -intended audience are people actually modifying the code or simply wishing to have a -deep understanding of the runtime. - -Below is a table of contents. - -- [Book of the Runtime FAQ](botr-faq.md) -- [Introduction to the Common Language Runtime](intro-to-clr.md) -- [Garbage Collection Design](garbage-collection.md) -- [Threading](threading.md) -- [RyuJIT Overview](ryujit-overview.md) - - [Porting RyuJIT to other platforms](porting-ryujit.md) -- [Type System](type-system.md) -- [Type Loader](type-loader.md) -- [Method Descriptor](method-descriptor.md) -- [Virtual Stub Dispatch](virtual-stub-dispatch.md) -- [Stack Walking](stackwalking.md) -- [Mscorlib and Calling Into the Runtime](mscorlib.md) -- [Data Access Component (DAC) Notes](dac-notes.md) -- [Profiling](profiling.md) -- [Implementing Profilability](profilability.md) -- [What Every Dev needs to Know About Exceptions in the Runtime](exceptions.md) -- [ReadyToRun Overview](readytorun-overview.md) -- [CLR ABI](clr-abi.md) - - -It may be possible that this table is not complete. You can get a complete list -by looking at the directory where all the chapters are stored: - -* [All Book of the Runtime (BOTR) chapters on GitHub](../botr) diff --git a/Documentation/botr/clr-abi.md b/Documentation/botr/clr-abi.md index cbd5fc9..caa5c7a 100644 --- a/Documentation/botr/clr-abi.md +++ b/Documentation/botr/clr-abi.md @@ -6,6 +6,8 @@ It describes requirements that the Just-In-Time (JIT) compiler imposes on the VM A note on the JIT codebases: JIT32 refers to the original JIT codebase that originally generated x86 code and was later ported to generate ARM code. Later, it was ported and re-architected to generate AMD64 code (making its name something of a confusing misnomer). This work is referred to as RyuJIT. RyuJIT is being ported to generate ARM64 code. JIT64 refers to the legacy codebase that supports AMD64. +CoreRT refers to https://github.com/dotnet/corert runtime that is optimized for AOT. The CoreRT ABI differs in a few details for simplicity and consistency across platforms. + # Getting started Read everything in the documented Windows ABI. @@ -289,6 +291,8 @@ On ARM and ARM64, for all second pass funclets (finally, fault, catch, and filte Catch, Filter, and Filter-handlers also get an Exception object (GC ref) as an argument (`REG_EXCEPTION_OBJECT`). On AMD64 it is the second argument and thus passed in RDX. On ARM and ARM64 this is the first argument and passed in R0. +CoreRT does not use PSPSym. For filter funclets the VM sets the frame register to be the same as the parent function. For second pass funclets the VM restores all non-volatile registers. The same convention is used across all platforms. + (Note that the JIT64 source code contains a comment that says, "The current CLR doesn't always pass the correct establisher frame to the funclet. Funclet may receive establisher frame of funclet when expecting that of original routine." It indicates this is the reason that a PSPSym is required in all funclets as well as the main function, whereas if the establisher frame was correctly reported, the PSPSym could be omitted in some cases.) ## Funclet Return Values @@ -468,7 +472,7 @@ Filters are invoked in the 1st pass of EH processing and as such execution might Duplicated clauses are a special set of entries in the EH tables to assist the VM. Specifically, if handler 'A' is also protected by an outer EH clause 'B', then the JIT must emit a duplicated clause, a duplicate of 'B', that marks the whole handler 'A' (which is now lexically disjoint for the range of code for the corresponding try body 'A') as being protected by the handler for 'B'. -Duplicated clauses are not needed for x86. +Duplicated clauses are not needed for x86 and for CoreRT ABI. During exception dispatch the VM uses these duplicated clauses to know when to skip any frames between the handler and its parent function. After skipping to the parent function, due to a duplicated clause, the VM searches for a regular/non-duplicate clause in the parent function. The order of duplicated clauses is important. They should appear after all of the main function clauses. They should still follow the normal sorting rules (inner-to-outer, top-to-bottom), but because the try-start/try-end will all be the same for a given handler, they should maintain the ordering, regarding inner-to-outer, as the corresponding original clause. diff --git a/Documentation/botr/exceptions.md b/Documentation/botr/exceptions.md index daa684b..8e4b77a 100644 --- a/Documentation/botr/exceptions.md +++ b/Documentation/botr/exceptions.md @@ -278,10 +278,16 @@ To use the callout filter, instead of this: write this: BOOL OneShot = TRUE; - - PAL_TRY + struct Param { + BSTR* pBSTR; + int length; + }; + struct Param param; + param.pBSTR = pBSTR; + + PAL_TRY(Param*, pParam, ¶m) { - length = SysStringLen(pBSTR); + pParam->length = SysStringLen(pParam->pBSTR); } PAL_EXCEPT_FILTER(CallOutFilter, &OneShot) { diff --git a/Documentation/botr/garbage-collection.md b/Documentation/botr/garbage-collection.md index 9e16131..789c4e9 100644 --- a/Documentation/botr/garbage-collection.md +++ b/Documentation/botr/garbage-collection.md @@ -2,7 +2,7 @@ Garbage Collection Design ========================= Author: Maoni Stephens ([@maoni0](https://github.com/maoni0)) - 2015 -Note: See the The Garbage Collection Handbook referenced in the resources section at the end of this document to learn more about garbage collection topics. +Note: See _The Garbage Collection Handbook_ (referenced in the resources section at the end of this document) to learn more about garbage collection topics. Component Architecture ====================== diff --git a/Documentation/building/crossgen.md b/Documentation/building/crossgen.md index c74a5e6..bf013e2 100644 --- a/Documentation/building/crossgen.md +++ b/Documentation/building/crossgen.md @@ -7,7 +7,7 @@ Introduction When you create a .NET assembly using C# compiler, your assembly contains only MSIL code. When the app runs, the JIT compiler translates the MSIL code into native code, before the CPU can execute them. This execution model has some advantages. For example, your assembly code can be portable across all platforms and architectures that support .NET Core. -However, this portability comes with a performance penalty. Your app starts up slower, because the JIT compiler has to spend time to translate the code. +However, this portability comes with a performance cost. Your app starts up more slowly, because the JIT compiler has to spend time to translate the code. To help make your app start up faster, CoreCLR includes a tool called CrossGen, which can pre-compile the MSIL code into native code. @@ -18,7 +18,7 @@ If you build CoreCLR yourself, the CrossGen tool (`crossgen.exe` on Windows, or If you install CoreCLR using a NuGet package, you can find CrossGen in the `tools` folder of the NuGet package. Regardless of how you obtain CrossGen, it is very important that it must match other CoreCLR binaries. -- If you build CrossGen yourself, you should use it with coreclr and mscorlib generated from the same build. Do not attempt to mix CrossGen from one build with binaries generated from another build. +- If you build CrossGen yourself, you should use it with runtime and `System.Private.CoreLib.dll` generated from the same build. Do not attempt to mix CrossGen from one build with binaries generated from another build. - If you install CrossGen from NuGet, make sure you use CrossGen from exactly the same NuGet package as the rest of your CoreCLR binaries. Do not attempt to mix binaries from multiple NuGet packages. If you do not follow the above rules, you are likely to encounter errors while running CrossGen. @@ -26,26 +26,30 @@ If you do not follow the above rules, you are likely to encounter errors while r Using CrossGen -------------- -In most cases, the build script automatically runs CrossGen to create the native image for mscorlib. -When this happens, you will find both `mscorlib.dll` and `mscorlib.ni.dll` in your output directory. -`mscorlib.dll` is the MSIL assembly created by the C# compiler, while `mscorlib.ni.dll` is the native image that contains CPU-specific code. -Once the build is done, you only need `mscorlib.ni.dll` to use CoreCLR. -As a matter of fact, most CoreCLR NuGet packages contain only `mscorlib.ni.dll`, without `mscorlib.dll` +In most cases, the build script automatically runs CrossGen to create the native image for `System.Private.CoreLib.dll` and `mscorlib.dll`. +When this happens, you will find `System.Private.CoreLib.ni.dll` and `mscorlib.ni.dll` in your output directory. +`System.Private.CoreLib.dll` and `mscorlib.dll` are the MSIL assemblies created by the C# compiler, while `System.Private.CoreLib.ni.dll` and `mscorlib.ni.dll` are the native images that contain CPU-specific code. +Once the build is done, you only need `System.Private.CoreLib.ni.dll` and `mscorlib.ni.dll` to use CoreCLR. +The original MSIL assemblies are no longer needed by the runtime. -If for some reason you did not get `mscorlib.ni.dll` with the rest of your CoreCLR, you can easily create it yourself using CrossGen. -First, make sure you have `crossgen.exe` (on Windows) or `crossgen` (other platforms) in the same directory as `mscorlib.dll`. -Then, run one of the following two commands (first command for Windows, second command for other platforms): +If you installed CoreCLR from a NuGet package, `System.Private.CoreLib.ni.dll` and `mscorlib.ni.dll` are included in the package. +If for some reason you did not get `System.Private.CoreLib.dll` or `mscorlib.ni.dll` with the rest of your CoreCLR, you can easily create it yourself using CrossGen. + +If your `System.Private.CoreLib.dll`, `mscorlib.dll` and JIT compiler (`clrjit.dll` on Windows or `libclrjit.*` on other platforms) are all in the same directory as CrossGen itself, you can compile `System.Private.CoreLib.dll` and `mscorlib.dll` with the following commands (first two commands for Windows, next two commands for other platforms): + + .\crossgen.exe System.Private.CoreLib.dll .\crossgen.exe mscorlib.dll + ./crossgen System.Private.CoreLib.dll ./crossgen mscorlib.dll -To create native images for other assemblies, the command line is slightly more complex: +If your files are scattered in different directories, or if you want to create native images for other assemblies, the command line is slightly more complex: - .\crossgen.exe /Platform_Assemblies_Paths "path1;path2;..." assemblyName.dll - ./crossgen /Platform_Assemblies_Paths "path1:path2:..." assemblyName.dll + .\crossgen.exe /JITPath path\clrjit.dll /Platform_Assemblies_Paths "path1;path2;..." path\assemblyName.dll + ./crossgen -JITPath path/libclrjit.so -Platform_Assemblies_Paths "path1:path2:..." path/assemblyName.dll -The /Platform_Assemblies_Paths is used to specify the location of all the dependencies of the input assembly. -You should use full paths for this locations. Relative paths do not always work. +The /Platform_Assemblies_Paths is used to specify the locations of all the dependencies of the input assembly, including the input assembly itself. +You should use full paths for these locations. Relative paths do not always work. If there are multiple paths, separate them with semicolons (`;`) on Windows, or colons (`:`) on non-Windows platforms. It is generally a good idea to enclose the path list in quotes to protect any special characters from the shell. @@ -53,14 +57,13 @@ Using native images ------------------- Running CrossGen on an assembly creates a "native image" file, with the extension of `.ni.dll` or `.ni.exe`. -You should include the native images in your app, at the same location where you normally install the MSIL assemblies. -Once you have included native images, you do not need to include the original MSIL assemblies in your apps. +You should include the native images in your app, either by replacing the original MSIL assmblies with the native images, or by putting the native images next to the MSIL assemblies. +When the native images are present, CoreCLR runtime will automatically use it instead of the original MSIL assemblies. Common errors ------------- The following are some of the command errors while creating or using native images: -- "Could not load file or assembly 'mscorlib.dll' or one of its dependencies. The native image could not be loaded, because it was generated for use by a different version of the runtime. (Exception from HRESULT: 0x80131059)": This error indicates that there is a mismatch between CrossGen and mscorlib.ni.dll. Make sure to use CrossGen and mscorlib.ni.dll from the same build or NuGet package. - "Error: Could not load file or assembly '...' or one of its dependencies. The system cannot find the file specified. (Exception from HRESULT: 0x80070002)": CrossGen wasn't able to find a particular dependency that it needs. Verify that you have the assembly specified in the error message, and make sure its location is included in `/Platform_Assemblies_Paths`. -- CoreCLR unable to initialize: While there are many possible causes of this error, one possibility is a mismatch between mscorlib.ni.dll and coreclr.dll (or libcoreclr.so). Make sure they come from the same build or NuGet package. -- "Unable to load Jit Compiler": Please get a copy of `clrjit.dll` (or `libclrjit.so` or `libclrjit.dylib`, depending on your platform), and place it in the same directory as CrossGen. You can either build `clrjit.dll` yourself, or get it from `Microsoft.NETCore.Jit` NuGet package. To avoid possible issues, please use `clrjit.dll` from the same build as `crossgen.exe` if possible. +- CoreCLR unable to initialize: While there are many possible causes of this error, one possibility is a mismatch between System.Private.CoreLib.ni.dll and coreclr.dll (or libcoreclr.so). Make sure they come from the same build or NuGet package. +- "Unable to load Jit Compiler": Please get a copy of `clrjit.dll` (or `libclrjit.so` or `libclrjit.dylib`, depending on your platform), and place it in the same directory as CrossGen (or use /JITPath option). You can either build `clrjit.dll` yourself, or get it from `Microsoft.NETCore.Jit` NuGet package. To avoid possible issues, please use `clrjit.dll` from the same build as `crossgen.exe` if possible. diff --git a/Documentation/building/linux-instructions.md b/Documentation/building/linux-instructions.md index c948ecd..ddd4274 100644 --- a/Documentation/building/linux-instructions.md +++ b/Documentation/building/linux-instructions.md @@ -47,6 +47,10 @@ ellismg@linux:~$ sudo apt-get install cmake llvm-3.5 clang-3.5 lldb-3.6 lldb-3.6 You now have all the required components. +If you are using Fedora 23 or 24, then you will need to install the following packages: + +`$ sudo dnf install llvm cmake clang lldb-devel libunwind-devel lttng-ust-devel libuuid-devel libicu-devel` + Git Setup --------- @@ -57,6 +61,10 @@ Set the maximum number of file-handles To ensure that your system can allocate enough file-handles for the corefx build run `sysctl fs.file-max`. If it is less than 100000, add `fs.file-max = 100000` to `/etc/sysctl.conf`, and then run `sudo sysctl -p`. +On Fedora 23 or 24: + +`$ sudo dnf install mono-devel` + Build the Runtime and Microsoft Core Library ============================================= diff --git a/Documentation/building/osx-instructions.md b/Documentation/building/osx-instructions.md index 6d3469b..9e6b913 100644 --- a/Documentation/building/osx-instructions.md +++ b/Documentation/building/osx-instructions.md @@ -51,7 +51,25 @@ The CoreFX cryptography libraries are built on OpenSSL. The version of OpenSSL i ```sh brew install openssl -brew link --force openssl + +# We need to make the runtime libraries discoverable, as well as make +# pkg-config be able to find the headers and current ABI version. +# +# Ensure the paths we will need exist +mkdir -p /usr/local/lib/pkgconfig + +# The rest of these instructions assume a default Homebrew path of +# /usr/local/opt/, with /usr/local being the answer to +# `brew --prefix`. +# +# Runtime dependencies +ln -s /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/lib/ +ln -s /usr/local/opt/openssl/lib/libssl.1.0.0.dylib /usr/local/lib/ + +# Compile-time dependences (for pkg-config) +ln -s /usr/local/opt/openssl/lib/pkgconfig/libcrypto.pc /usr/local/lib/pkgconfig/ +ln -s /usr/local/opt/openssl/lib/pkgconfig/libssl.pc /usr/local/lib/pkgconfig/ +ln -s /usr/local/opt/openssl/lib/pkgconfig/openssl.pc /usr/local/lib/pkgconfig/ ``` Build the Runtime and Microsoft Core Library diff --git a/Documentation/building/testing-with-corefx.md b/Documentation/building/testing-with-corefx.md index 6609a0a..4f9886f 100644 --- a/Documentation/building/testing-with-corefx.md +++ b/Documentation/building/testing-with-corefx.md @@ -7,7 +7,11 @@ It may be valuable to use CoreFX tests to validate your changes to CoreCLR or ms As part of building tests, CoreFX restores a copy of the runtime from myget, in order to update the runtime that is deployed, a special build property `BUILDTOOLS_OVERRIDE_RUNTIME` can be used. If this is set, the CoreFX testing targets will copy all the files in the folder it points to into the test folder, overwriting any files that exist. -To run tests, follow the procedure for [running tests in CoreFX](https://github.com/dotnet/corefx/blob/master/Documentation/building/windows-instructions.md). You can pass `/p:BUILDTOOLS_OVERRIDE_RUNTIME=\bin\Product\Windows_NT.x64.Release` to build.cmd to set this property. +To run tests, follow the procedure for [running tests in CoreFX](https://github.com/dotnet/corefx/blob/master/Documentation/building/windows-instructions.md). You can pass `/p:BUILDTOOLS_OVERRIDE_RUNTIME=\bin\Product\Windows_NT.x64.Release` to build.cmd to set this property, e.g. (note the space between the "--" and the "/p" option): + +``` +build.cmd -Release -- /p:BUILDTOOLS_OVERRIDE_RUNTIME=\bin\Product\Windows_NT.x64.Checked +``` **FreeBSD, Linux, NetBSD, OS X** diff --git a/Documentation/building/viewing-jit-dumps.md b/Documentation/building/viewing-jit-dumps.md index 5303b47..607c5e6 100644 --- a/Documentation/building/viewing-jit-dumps.md +++ b/Documentation/building/viewing-jit-dumps.md @@ -35,7 +35,7 @@ The first thing we want to do is setup the .NET Core app we want to dump. Here a } ``` -You can find a list of RIDs and their corresponding OSes [here](http://dotnet.github.io/docs/core-concepts/rid-catalog.html). +You can find a list of RIDs and their corresponding OSes [here](https://docs.microsoft.com/en-us/dotnet/articles/core/rid-catalog). * Edit `Program.cs`, and call the method(s) you want to dump in there. Make sure they are, directly or indirectly, called from `Main`. In this example, we'll be looking at the disassembly of our custom function `InefficientJoin`: diff --git a/Documentation/building/windows-instructions.md b/Documentation/building/windows-instructions.md index f68ed2c..8ba021b 100644 --- a/Documentation/building/windows-instructions.md +++ b/Documentation/building/windows-instructions.md @@ -1,21 +1,19 @@ Build CoreCLR on Windows ======================== -These instructions will lead you through building CoreCLR and running a "Hello World" demo on Windows. +These instructions will lead you through building CoreCLR. -Environment -=========== +---------------- +#Environment You must install several components to build the CoreCLR and CoreFX repos. These instructions were tested on Windows 7+. -Visual Studio -------------- +## Visual Studio Visual Studio must be installed. Supported versions: +- [Visual Studio 2015](https://www.visualstudio.com/downloads/visual-studio-2015-downloads-vs) (Community, Professional, Enterprise). The community version is completely free. -- [Visual Studio 2015](https://www.visualstudio.com/downloads/visual-studio-2015-downloads-vs) (Community, Professional, Enterprise) - -To debug managed code, ensure you have installed atleast [Visual Studio 2015 Update 3](https://www.visualstudio.com/en-us/news/releasenotes/vs2015-update3-vs). +To debug managed code, ensure you have installed at least [Visual Studio 2015 Update 3](https://www.visualstudio.com/en-us/news/releasenotes/vs2015-update3-vs). Make sure that you install "VC++ Tools". By default, they will not be installed. @@ -23,166 +21,100 @@ To build for Arm32, you need to have [Windows SDK for Windows 10](https://develo Visual Studio Express is not supported. -CMake ------ +##CMake The CoreCLR repo build has been validated using CMake 3.5.2. - Install [CMake](http://www.cmake.org/download) for Windows. -- Add it to the PATH environment variable. +- Add its location (e.g. C:\Program Files (x86)\CMake\bin) to the PATH environment variable. + The installation script has a check box to do this, but you can do it yourself after the fact + following the instructions at [Adding to the Default PATH variable](#adding-to-the-default-path-variable) + + +##Python -Python ---------- Python is used in the build system. We are currently using python 2.7.9, although any recent (2.4+) version of Python should work, including Python 3. - Install [Python](https://www.python.org/downloads/) for Windows. -- Add it to the PATH environment variable. - -PowerShell ----------- -PowerShell is used in the build system. Ensure that it is accessible via the PATH environment variable. Typically this is %SYSTEMROOT%\System32\WindowsPowerShell\v1.0\. +- Add its location (e.g. C:\Python*\) to the PATH environment variable. + The installation script has a check box to do this, but you can do it yourself after the fact + following the instructions at [Adding to the Default PATH variable](#adding-to-the-default-path-variable) -Powershell version must be 3.0 or higher. This should be the case for Windows 8 and later builds. -- Windows 7 SP1 can install Powershell version 4 [here](https://www.microsoft.com/en-us/download/details.aspx?id=40855). +##Git -Git Setup ---------- +For actual user operations, it is often more convinient to use the GIT features built into Visual Studio 2015. +However the CoreCLR and the tests use the GIT command line utilities directly so you need to install them +for these to work properly. You can get it from -Clone the CoreCLR and CoreFX repositories (either upstream or a fork). +- Install [Git For Windows](https://git-for-windows.github.io/) +- Add its location (e.g. C:\Program Files\Git\cmd) to the PATH environment variable. + The installation script has a check box to do this, but you can do it yourself after the fact + following the instructions at [Adding to the Default PATH variable](#adding-to-the-default-path-variable) -```bat -C:\git>git clone https://github.com/dotnet/coreclr -C:\git>git clone https://github.com/dotnet/corefx -``` +##PowerShell +PowerShell is used in the build system. Ensure that it is accessible via the PATH environment variable. +Typically this is %SYSTEMROOT%\System32\WindowsPowerShell\v1.0\. -This guide assumes that you've cloned the CoreCLR and CoreFX repositories into C:\git using the default repo names. If your setup is different, you'll need to pay attention to the commands you run. The guide will always show you the current directory. +Powershell version must be 3.0 or higher. This should be the case for Windows 8 and later builds. +- Windows 7 SP1 can install Powershell version 4 [here](https://www.microsoft.com/en-us/download/details.aspx?id=40855). -The repository is configured to allow Git to make the right decision about handling CRLF. Specifically, if you are working on **Windows**, please ensure that **core.autocrlf** is set to **true**. On **non-Windows** platforms, please set it to **input**. +##DotNet Core SDK +While not strictly needed to build or tests the .NET Core repository, having the .NET Core SDK installed lets +you use the dotnet.exe command to run .NET Core applications in the 'normal' way. We use this in the +[Using Your Build](Documentation/workflow/UsingYourBuild.md) instructions. Visual Studio 2015 (update 3) should have +installed the .NET Core SDK, but in case it did not you can get it from the [Installing the .Net Core SDK](https://www.microsoft.com/net/core) page. -Demo directory --------------- +##Adding to the default PATH variable -In order to keep everything tidy, create a new directory for the files that you will build or acquire. +The commands above need to be on your command lookup path. Some installers will automatically add them to +the path as part of installation, but if not here is how you can do it. -```bat -c:\git>mkdir \coreclr-demo\runtime -c:\git>mkdir \coreclr-demo\ref +You can of course add a directory to the PATH environment variable with the syntax +``` + set PATH=%PATH%;DIRECTORY_TO_ADD_TO_PATH ``` +However the change above will only last until the command windows closes. You can make your change to +the PATH variable persistent by going to Control Panel -> System And Security -> System -> Advanced system settings -> Environment Variables, +and select the 'Path' variable in the 'System variables' (if you want to change it for all users) or 'User variables' (if you only want +to change it for the currnet user). Simply edit the PATH variable's value and add the directory (with a semicolon separator). -Build the Runtime -================= +------------------------------------- +#Building -To build CoreCLR, run `build.cmd` from the root of the coreclr repository. This will do a x64/Debug build of CoreCLR, its native components, mscorlib.dll, and the tests. +Once all the necessary tools are in place, building is trivial. Simply run build build.cmd script that lives at +the base of the repository. - C:\git\coreclr>build -rebuild +```bat + .\build [Lots of build spew] - Repo successfully built. - Product binaries are available at C:\git\coreclr\bin\Product\Windows_NT.x64.debug Test binaries are available at C:\git\coreclr\bin\tests\Windows_NT.x64.debug +``` -**Note:** To avoid building the tests, pass the 'skiptestbuild' option to build. - -**build -?** will list supported parameters. - -Check the build output. +As shown above the product will be placed in - Product binaries will be dropped in `bin\Product\..` folder. - A NuGet package, Microsoft.Dotnet.CoreCLR, will be created under `bin\Product\..\.nuget` folder. - Test binaries will be dropped under `bin\Tests\..` folder -You will see several files. The interesting ones are: - -- `corerun`: The command line host. This program loads and starts the CoreCLR runtime and passes the managed program you want to run to it. -- `coreclr.dll`: The CoreCLR runtime itself. -- `mscorlib.dll`: The core managed library for CoreCLR, which contains all of the fundamental data types and functionality. - -Copy these files into the demo directory. - -```bat -C:\git\coreclr>copy bin\Product\Windows_NT.x64.debug\clrjit.dll \coreclr-demo\runtime -C:\git\coreclr>copy bin\Product\Windows_NT.x64.debug\CoreRun.exe \coreclr-demo\runtime -C:\git\coreclr>copy bin\Product\Windows_NT.x64.debug\coreclr.dll \coreclr-demo\runtime -C:\git\coreclr>copy bin\Product\Windows_NT.x64.debug\mscorlib.dll \coreclr-demo\runtime -C:\git\coreclr>copy bin\Product\Windows_NT.x64.debug\System.Private.CoreLib.dll \coreclr-demo\runtime -``` - -Build the Framework -=================== - -Build the framework out of the corefx directory. +By default build generates a 'Debug' build type, that has extra checking (assert) compiled into it. You can +also build the 'release' version which does not have these checks - c:\git\corefx>build.cmd +The build places logs in `bin\Logs` and these are useful when the build fails. - [Lots of build spew] - - 0 Warning(s) - 0 Error(s) - Time Elapsed 00:03:14.53 - Build Exit Code = 0 - -It's also possible to add -rebuild to build.cmd to force it to delete the previously built assemblies. - -For the purposes of this demo, you need to copy a few required assemblies to the demo folder. - -```bat -C:\git\corefx>copy bin\Windows_NT.AnyCPU.Debug\System.Console\System.Console.dll \coreclr-demo\runtime -C:\git\corefx>copy bin\Windows_NT.AnyCPU.Debug\System.Diagnostics.Debug\System.Diagnostics.Debug.dll \coreclr-demo\runtime -C:\git\corefx>copy bin\AnyOS.AnyCPU.Debug\System.IO\System.IO.dll \coreclr-demo\runtime -C:\git\corefx>copy bin\AnyOS.AnyCPU.Debug\System.IO.FileSystem.Primitives\System.IO.FileSystem.Primitives.dll \coreclr-demo\runtime -C:\git\corefx>copy bin\AnyOS.AnyCPU.Debug\System.Runtime\System.Runtime.dll \coreclr-demo\runtime -C:\git\corefx>copy bin\AnyOS.AnyCPU.Debug\System.Runtime.InteropServices\System.Runtime.InteropServices.dll \coreclr-demo\runtime -C:\git\corefx>copy bin\AnyOS.AnyCPU.Debug\System.Text.Encoding\System.Text.Encoding.dll \coreclr-demo\runtime -C:\git\corefx>copy bin\AnyOS.AnyCPU.Debug\System.Text.Encoding.Extensions\System.Text.Encoding.Extensions.dll \coreclr-demo\runtime -C:\git\corefx>copy bin\AnyOS.AnyCPU.Debug\System.Threading\System.Threading.dll \coreclr-demo\runtime -C:\git\corefx>copy bin\AnyOS.AnyCPU.Debug\System.Threading.Tasks\System.Threading.Tasks.dll \coreclr-demo\runtime -``` - -You also need to copy reference assemblies, which will be used during compilation. - -```bat -C:\git\corefx>copy bin\ref\System.Runtime\4.0.0.0\System.Runtime.dll \coreclr-demo\ref -C:\git\corefx>copy bin\ref\System.Console\4.0.0.0\System.Console.dll \coreclr-demo\ref -``` - -Compile the Demo -================ +The build places all of its output in the `bin` directory, so if you remove that directory you can force a +full rebuild. -Now you need a Hello World application to run. You can write your own, if you'd like. Here's a very simple one: +Build has a number of options that you can learn about using build -?. Some of the more important options are -```C# -using System; + * skiptests - don't build the tests. This can shorten build times quite a bit, but means you can't run tests. + * release - build the 'Release' build type that does not have extra development-time checking compiled in. + * -rebuild - force the build not to be incremental but to recompile everything. + You want this if you are going to do performance testing on your build. -public class Program -{ - public static void Main() - { - Console.WriteLine("Hello, Windows"); - Console.WriteLine("Love from CoreCLR."); - } -} -``` - -Personally, I'm partial to the one on corefxlab which will print a picture for you. Download the [corefxlab demo](https://raw.githubusercontent.com/dotnet/corefxlab/master/demos/CoreClrConsoleApplications/HelloWorld/HelloWorld.cs) to `\coreclr-demo`. - -Then you just need to build it, with csc, the .NET Framework C# compiler. It may be easier to do this step within the "Developer Command Prompt for VS2015", if csc is not in your path. Because you need to compile the app against the .NET Core surface area, you need to pass references to the contract assemblies you restored using NuGet: - -```bat -csc /nostdlib /noconfig /r:ref\System.Runtime.dll /r:ref\System.Console.dll /out:runtime\hello.exe hello.cs -``` - -Run the demo -============ - -You're ready to run Hello World! To do that, run corerun, passing the path to the managed exe, plus any arguments. In this case, no arguments are necessary. - -```bat -C:\coreclr-demo>cd runtime -C:\coreclr-demo\runtime>CoreRun.exe hello.exe -``` +See [Using Your Build](../workflow/UsingYourBuild.md) for instructions on running code with your build. -If `CoreRun.exe` fails for some reason, you will see an empty output. To diagnose the issue, you can use `/v` to switch verbose mode on: `CoreRun.exe /v hello.exe`. +See [Running Tests](../workflow/RunningTests.md) for instructions on running the tests. -Over time, this process will get easier. Thanks for trying out CoreCLR. Feel free to try a more interesting demo. diff --git a/Documentation/coding-guidelines/clr-code-guide.md b/Documentation/coding-guidelines/clr-code-guide.md index 84ba5f2..c1f69b0 100644 --- a/Documentation/coding-guidelines/clr-code-guide.md +++ b/Documentation/coding-guidelines/clr-code-guide.md @@ -27,7 +27,7 @@ Written in 2006, by: * [2.1.10 How to know if a function can trigger a GC](#2.1.10) * [2.1.10.1 GC_NOTRIGGER/TRIGGERSGC on a scope](#2.1.10.1) * [2.2 Are you using holders to track your resources?](#2.2) - * [2.2.1 What are holders and we are they important?](#2.2.1) + * [2.2.1 What are holders and why are they important?](#2.2.1) * [2.2.2 An example of holder usage:](#2.2.2) * [2.2.3 Common Features of Holders](#2.2.3) * [2.2.4 Where do I find a holder?](#2.2.4) @@ -462,7 +462,7 @@ One difference between the standalone TRIGGERSGC and the contract GC_TRIGGERS: t ## 2.2 Are you using holders to track your resources? -### 2.2.1 What are holders and we are they important? +### 2.2.1 What are holders and why are they important? The CLR team has coined the name **holder** to refer to the infrastructure that encapsulates the common grunt work of writing robust **backout code**. **Backout code** is code that deallocate resources or restore CLR data structure consistency when we abort an operation due to an error or an asynchronous event. Oftentimes, the same backout code will execute in non-error paths for resources allocated for use of a single scope, but error-time backout is still needed even for longer lived resources. @@ -616,6 +616,7 @@ Holders consistently release on destruction – that's their whole purpose. Sadl #### 2.2.8.4 Critical Section Holder **Wrong:** + pCrst->Enter(); pCrst->Leave(); diff --git a/Documentation/design-docs/multi-reg-call-nodes.md b/Documentation/design-docs/multi-reg-call-nodes.md new file mode 100644 index 0000000..e89ca2a --- /dev/null +++ b/Documentation/design-docs/multi-reg-call-nodes.md @@ -0,0 +1,230 @@ +Support for multiple destination regs, GT_CALL and GT_RETURN nodes that return a value in multiple registers: +============================================================================================================ + +The following targets allow a GT_CALL/GT_RETURN node to return a value in more than one register: + +x64 Unix: +Structs of size betwee 9-16 bytes will be returned in RAX/RDX and/or XMM0/XMM1. + +Arm64: +HFA structs will be returned in 1-4 successive VFP registers s0-s3 or d0-d3. +Structs of size 16-bytes will be returned in two return registers. + +Arm32: +Long type value is returned in two return registers r0 and r1. +HFA structs will be returned in 1-4 successive VFP registers s0-s3 or d0-d3 + +x86: +Long type value is returned in two return registers EDX and EAX. + +Legacy backend used reg-pairs for representing long return value on 32-bit targets, which makes reg allocation and codegen complex. Also this approach doesn't scale well to types that are returned in more than 2 registers. Arm32 HFA support in Legacy backend requires that HFA return value of a call is always stored to local in memory and with the local marked as not promotable. Original implementation of multi-reg return of structs on x64 Unix was similar to Arm32 and further LSRA was not ware of multi-reg call nodes because of which Codegen made some assumptions (e.g. multi-reg return value of a call node is never spilled) that are not always guaranteed. + +This doc proposes new IR forms and an implementation design to support multi-reg call nodes in RyuJIT that is scalable without the limitations/complexity that Legacy backend implementation had. + +Post Importation IR Forms +------------------------- +In importer any call returning a (struct or long type) value in two or more registers is forced to a temp +and temp is used in place of call node subsequently in IR. Note that creation of 'tmp' is avoided if return value of call is getting assigned to a local in IL. + +``` +// tmp = GT_CALL, where tmp is of TYP_STRUCT or TYP_LONG +GT_ASG(TYP_STRUCT or TYP_LONG, tmp, GT_CALL node) +``` + +Similarly importer will force IR of GT_RETURN node returning a value in multiple return registers to be +of the following form if operand of GT_RETURN is anything but a lclVar. + +``` +GT_ASG(TYP_STRUCT or TYP_LONG, tmp, op1) +GT_RETURN(tmp) +``` + +Post struct promotion IR forms +------------------------------ +Before global morph of basic blocks, struct promotion takes place. It will give rise to the following +three cases: + +Case 1: +tmp is not struct promoted or Type Dependently Promoted (P-DEP). + +Case 2: +tmp is Type Independently Promoted (P-INDEP) but its field layout doesn't match the layout of return registers or tmp is P-FULL promoted struct (e.g. SIMD type structs). + +For example, tmp could be a struct of 4 integers. But on x64 unix, two fields of such a struct +will be returned in one 8-byte return register. + +Case 3: +tmp is P-INDEP promoted and its field layout matches the layout of return registers. That is one promoted field will get mapped to a single, un-shared register in the ABI for returning values. +An example is a struct containing two fields of `{TYP_REF, TYP_DOUBLE} `on X64 Unix. + +Post Global Morph, IR forms of tmp=GT_CALL where tmp is of TYP_STRUCT +--------------------------------------------------------------------- +Case 3 is morphed into + + `GT_STORE_MULTI_VAR(TYP_STRUCT, , op1 = GT_CALL)` + + Where FieldLcl[1..4] are lcl numbers of P-INDEP promoted fields of tmp. The limit of 2-4 locals + is statically dependent on target platform/architecture. + + GT_STORE_MULTI_VAR is a new GenTree node to represent the store operation to 2-4 locals + using multi-reg/mem value of a call/lclvar respectively. It also will have additional fields + to store the registers into which FieldLcl[1..4] need to be stored and also a spill mask + to indicate which of the locals needs to be spilled. + + During codegen, return value of call in multiple return registers need to be stored to the + corresponding registers of the locals by properly handling any circular dependencies. + +Case 1 is morphed as + `GT_OBJ(&tmp) = GT_CALL` + + Post rationalization this will get converted to GT_STORE_OBJ/BLK(&tmp, GT_CALL) and + block op codegen will special case for multi-reg call case. This case simpler because, although it is + consuming multiple registers from the call, it doesn't have the complication of multiple + destination registers. + +Case 2 can be handled one of the following two ways + a) Force tmp to memory and morph it as in case 1 above + b) Create 2-4 temp locals matching the type of respective return registers of GT_CALL and + use them to create following IR + +``` +GT_STORE_MULTI_VAR(TYP_STRUCT, , op1 = GT_CALL) +``` + + Example: say on x64 unix, return type is a struct with 3 fields: TYP_INT, TYP_INT and TYP_REF. + First two fields would be combined into a single local of TYP_LONG and third field would + would go into a single local of TYP_REF. + + Additional IR nodes can be created to extract/assemble fields of tmp struct from individual tmpLcls. + +Platform agnostic ReturnTypeDesc on a GT_CALL node +-------------------------------------------------- +Every GT_CALL node will have a light-weight ReturnTypeDesc that provides a platform independent interface to query the following: + - Respective return types of a multi-reg return value + - Respective Return register numbers in which the value is returned. + +ReturnTypeDesc is initialized during importation while creating GenTreeCall node. + +GT_CALL node is augmented with the following additional state: + gtOtherRegs - an array of MAX_RET_REG_COUNT-1 reg numbers of multi-reg return. gtRegNum field + will always be the first return reg. + gtSpillFlags - an array to hold GTF_SPILL/GTF_SPILLED state of each reg. This allows us to + spill/reload individual return registers of a multi-reg call node work. + +Post Global Morph, IR forms of GT_RETURN(tmp) where tmp is of TYP_STRUCT +------------------------------------------------------------------------ +Case 3 is morphed into + +``` + GT_RETURN (TYP_STRUCT, op1 = GT_MULTI_VAR(TYP_STRUCT, )) +``` + + Where FieldLcl[1..4] are lcl numbers of independently promoted fields of tmp and + GT_MULTI_VAR is a new node that represents 2-4 independent local vars. + +Case 1 remains unchanged + + `GT_RETURN(TYP_STRUCT, op1 = tmp)` + +Case 2 is handled as follows: + a) Force tmp to memory and morph it as in case 1 above + b) Create 2-4 temp locals matching the type of respective return registers of GT_RETURN and + use them to extract individual fields from tmp and morph it as in case 3 above. + + tmpLcl1 = GenTree Nodes to extract first 8-bytes from tmp + tmpLcl2 = GenTree Nodes to extract next 8-bytes from tmp and so on + +``` + GT_RETURN(TYP_STRUCT, op1 = GT_STORE_MULTI_VAR(TYP_STRUCT, , tmp)) +``` + + +Post Lowering, IR forms of GT_CALL node returning TYP_LONG value +---------------------------------------------------------------- +During Lowering, such call nodes are lowered into tmp=GT_CALL if the return value of call node is not already assigned to a local. Further tmp is decomposed into GT_LONG. + +Post IR lowering, GT_CALL will be transformed into + +``` + GT_STORE_LCL_VAR(TYP_LONG, lcl Num of tmp, op1 = GT_CALL) +``` + + where tmp is decomposed into GT_LONG(GT_LCL_VAR(tmpHi), GT_LCL_VAR(tmpLo)) + and finally GT_STORE_LCL_VAR is transformed into + +``` + GT_STORE_MULTI_VAR(TYP_LONG, , op1=GT_CALL) +``` + + where tmpHi and tmpLo are promoted lcl fields of tmp. + +Post Lowering, IR forms of GT_RETURN(tmp) where tmp is of TYP_LONG +------------------------------------------------------------------ +LclVar tmp will be decomposed into two locals and the resulting IR would be GT_RETURN(GT_LONG) + +Lowering Register specification +-------------------------------- +DstCount of GT_CALL node returning multi-reg return value will be set to 2 or 3 or 4 depending on the number of return registers and its dstCandidates is set to the fixed mask of return registers. + +SrcCount and DstCount of GT_STORE_MULTI_VAR will be set 2 or 3 or 4 depending on the number of locals to which a value is assigned. Note that those locals that do not require a value to be assigned are represented as BAD_VAR_NUM. + +SrcCount of GT_RETURN returning a multi-reg value will be set to 2 or 3 or 4 depending on the number of return registers. + +LSRA Considerations +------------------- +LSRA needs to add support for multi-reg destination GT_CALL, GT_MULTI_VAR and GT_STORE_MULTI_VAR nodes. + +Codegen Considerations +---------------------- +genProduceReg()/genConsumeReg() code paths need to support mullti-reg destination GT_CALL, GT_MULTI_VAR and GT_STORE_MULTI_VAR nodes. + +GT_RETURN(tmp) where tmp is of TYP_STRUCT + - tmp would either be in memory GT_LCL_VAR or GT_MULTI_VAR of TYP_STRUCT + +GT_RETURN(op1) where op1 is of TYP_LONG + - op1 should be always of the form GT_LONG(tmpLclHi, tmpLclLo) + + +Sub work items +-------------- + +The following are the sub work items and against each is indicated its current status: + +1. (Done) Refactor code to abstract structDesc field of GenTreeCall node +ReturnTypeDesc would abstract away existing structDesc (x64 unix) and implement +an API and replace all uses of structDesc of call node with the API. This would be +a pure code refactoring with the addition of ReturnTypeDesc on a GenTreeCall node. + +2. (Done) Get rid of structDesc and replace it with ReturnTypeDesc. +Note that on x64 Unix, we still query structDesc from VM and use it to initialize ReturnTypeDesc. + +3. (Done) Phase 1 Implementation of multi-reg GT_CALL/GT_RETURN node support for x64 Unix + - Importer changes to force IR to be of the form tmp=call always for multi-reg call nodes + - Importer changes to force IR to be of the form GT_RETURN(tmp) always for multi-reg return + - tmp will always be an in memory lcl var. + - Till First class struct support for GT_OBJ/GT_STORE_OBJ comes on-line IR will be of the form + + `GT_STORE_LCL_VAR(tmpLcl, op1 = GT_CALL)` + + where tmpLcl will always be an in memory lcl var of TYP_STRUCT + - Lowering/LSRA/Codegen support to allocate multiple regs to GT_CALL nodes. + - GT_CALL nodes will be governed by a single spill flag i.e. all return registers are spilled together. + - GT_RETURN(tmp) - lowering will mark op1=tmp as contained and generate code as existing code does. + +4. Phase 2 implementation of multi-reg GT_CALL/GT_RETURN node support for x64 unix + - Add new gentree nodes GT_MULTI_VAR and GT_STORE_MULTI_VAR and plumb through rest of JIT phases. + - Global morph code changes to support Case 3 (i.e P-DEP promoted structs) + - Lowering/LSRA/Codegen changes to support GT_MULTI_VAR and GT_STORE_MULTI_VAR + +5. When First class structs support comes on-line, leverage GT_OBJ/GT_STORE_OBJ to store multi-reg +return value of a GT_CALL node to memory cleaning up the code in GT_STORE_LCL_VAR. + +6. (Done) HFA and multi-reg struct return support for Arm64 + +7. (Done) x86 long return support + +8. (Optimization) Phase 3 implementation of multi-reg GT_CALL/GT_RETURN node support for x64 unix + - Global morph code changes to support some of the important Case 2 efficiently + +9. HFA struct and long return support for Arm32 RyuJIT - we should be able to leverage x86 long return and Arm64 HFA struct return work here. + diff --git a/Documentation/project-docs/adding_new_public_apis.md b/Documentation/project-docs/adding_new_public_apis.md index dbf305d..289ba7d 100644 --- a/Documentation/project-docs/adding_new_public_apis.md +++ b/Documentation/project-docs/adding_new_public_apis.md @@ -1,26 +1,25 @@ -Adding new public APIs to mscorlib -================================== +Adding new public APIs to System.Private.CoreLib +================================================ -Many of the CoreFX libraries type-forward their public APIs to the implementations in mscorlib. -- The CoreFX build uses published contracts for mscorlib, and the CoreFX test build uses published contracts for some of the CoreFX libraries. -- Some of the CoreFX libraries are not built in the CoreFX repository. For example, System.Runtime.Loader.dll is purely a facade and type-forwards everything to mscorlib. These libraries are built and published through a separate process. -- Hence, when adding a new public API to mscorlib, changes must be staged to ensure that new prerequisites are published before they are used. +Many of the CoreFX libraries type-forward their public APIs to the implementations in System.Private.CoreLib. +- The CoreFX build uses System.Private.CoreLib via Microsoft.TargetingPack.Private.CoreCLR Nuget package. +- Some of the CoreFX libraries are not built in the CoreFX repository. For example, System.Runtime.Loader.dll is purely a facade and type-forwards everything to System.Private.CoreLib. These libraries are built and published through a separate process. +- Hence, when adding a new public API to System.Private.CoreLib, changes must be staged to ensure that new prerequisites are published before they are used. **Staging the changes** -Make the changes to CoreCLR, including mscorlib +Make the changes to CoreCLR, including System.Private.CoreLib - Update `coreclr/src/mscorlib/model.xml` with the new APIs. APIs that are not listed in this file will be stripped out prior to publishing. -- Note that at the moment, merging changes with new public APIs will cause an internal build failure. Please work with your PR reviewer to have these build breaks be fixed soon after merging, otherwise it will block the publishing process. - Merge the changes -- Wait for a new mscorlib contract to be published. Check the latest published version [here](http://myget.org/gallery/dotnet-core). +- Wait for a new System.Private.CoreLib to be published. Check the latest published version [here](https://dotnet.myget.org/feed/dotnet-core/package/nuget/Microsoft.TargetingPack.Private.CoreCLR). -Make the changes to CoreFX consuming the new APIs in mscorlib +Make the changes to CoreFX consuming the new APIs in System.Private.CoreLib - If the changes are to libraries that are built out of the CoreFX repository: - - You will likely see a build failure until a new mscorlib contract is published + - You will likely see a build failure until a new System.Private.CoreLib contract is published - If the changes are to libraries that are **not** built out of the CoreFX repository: - For example, pure facades such as System.Runtime.Loader.dll - There will likely not be a build failure - - But you will still need to wait for the new mscorlib contract to be published before merging the change, otherwise, facade generation will fail + - But you will still need to wait for the new System.Private.CoreLib contract to be published before merging the change, otherwise, facade generation will fail - Merge the changes - Wait for new contracts to be published for libraries with new APIs. Check the latest published versions [here](http://myget.org/gallery/dotnet-core). diff --git a/Documentation/project-docs/ci-trigger-phrases.md b/Documentation/project-docs/ci-trigger-phrases.md index 3652565..03e071d 100644 --- a/Documentation/project-docs/ci-trigger-phrases.md +++ b/Documentation/project-docs/ci-trigger-phrases.md @@ -3,6 +3,8 @@ When submitting a PR to the CoreCLR repo, you may want to run more test suites than are included in the default set of checks run with each PR. In this document you will find a list of all possible jobs to trigger, as well as the phrase that will trigger that job. +You can also ask the CI system to show you all to available trigger phrases by using `@dotnet-bot help`. + These phrases are ordered by OS. They will usually be in the form of "{OS} {Architecture} {Configuration} {Scenario}", so use that format if you are trying to ctrl-f a certain job. To trigger a job, post a comment on your PR with "@dotnet-bot {trigger-phrase}". @@ -79,64 +81,64 @@ To trigger a job, post a comment on your PR with "@dotnet-bot {trigger-phrase}". - **Windows_NT x64 Checked CoreFX JitStressRegs=8 Build & Test:** "test Windows_NT corefx_jitstressregs8" - **Windows_NT x64 Checked CoreFX JitStressRegs=0x10 Build & Test:** "test Windows_NT corefx_jitstressregs0x10" - **Windows_NT x64 Checked CoreFX JitStressRegs=0x80 Build & Test:** "test Windows_NT corefx_jitstressregs0x80" -- **Windows_NT x86 RyuJit Checked Priority 0 Build & Test:** "test Windows_NT x86 ryujit" +- **Windows_NT x86 Checked Priority 0 Build & Test:** "test Windows_NT x86" - **Windows_NT x86 legacy_backend Checked Priority 0 Build & Test:** "test Windows_NT x86 legacy_backend" -- **Windows_NT x86 RyuJit Release Ready-To-Run Priority 0 Build & Test:** "test Windows_NT x86 ryujit Release r2r" +- **Windows_NT x86 Release Ready-To-Run Priority 0 Build & Test:** "test Windows_NT x86 Release r2r" - **Windows_NT x86 legacy_backend Release Ready-To-Run Priority 0 Build & Test:** "test Windows_NT x86 legacy_backend Release r2r" -- **Windows_NT x86 RyuJit Release Ready-To-Run Priority 1 Build & Test:** "test Windows_NT x86 ryujit Release pri1r2r" +- **Windows_NT x86 Release Ready-To-Run Priority 1 Build & Test:** "test Windows_NT x86 Release pri1r2r" - **Windows_NT x86 legacy_backend Release Ready-To-Run Priority 1 Build & Test:** "test Windows_NT x86 legacy_backend Release pri1r2r" -- **Windows_NT x86 RyuJit Release GCStress=15 Ready-To-Run Priority 1 Build & Test:** "test Windows_NT x86 ryujit Release gcstress15_pri1r2r" +- **Windows_NT x86 Release GCStress=15 Ready-To-Run Priority 1 Build & Test:** "test Windows_NT x86 Release gcstress15_pri1r2r" - **Windows_NT x86 legacy_backend Release GCStress=15 Ready-To-Run Priority 1 Build & Test:** "test Windows_NT x86 legacy_backend Release gcstress15_pri1r2r" -- **Windows_NT x86 RyuJit Release jitstress1 R2R Build & Test:** "test Windows_NT x86 ryujit Release jitstress1 R2R" -- **Windows_NT x86 RyuJit Checked jitstress1 R2R Build & Test:** "test Windows_NT x86 ryujit Checked jitstress1 R2R" -- **Windows_NT x86 RyuJit Release jitstress2 R2R Build & Test:** "test Windows_NT x86 ryujit Release jitstress2 R2R" -- **Windows_NT x86 RyuJit Checked jitstress2 R2R Build & Test:** "test Windows_NT x86 ryujit Checked jitstress2 R2R" -- **Windows_NT x86 RyuJit Release jitstressregs1 R2R Build & Test:** "test Windows_NT x86 ryujit Release jitstressregs1 R2R" -- **Windows_NT x86 RyuJit Checked jitstressregs1 R2R Build & Test:** "test Windows_NT x86 ryujit Checked jitstressregs1 R2R" -- **Windows_NT x86 RyuJit Release jitstressregs2 R2R Build & Test:** "test Windows_NT x86 ryujit Release jitstressregs2 R2R" -- **Windows_NT x86 RyuJit Checked jitstressregs2 R2R Build & Test:** "test Windows_NT x86 ryujit Checked jitstressregs2 R2R" -- **Windows_NT x86 RyuJit Release jitstressregs3 R2R Build & Test:** "test Windows_NT x86 ryujit Release jitstressregs3 R2R" -- **Windows_NT x86 RyuJit Checked jitstressregs3 R2R Build & Test:** "test Windows_NT x86 ryujit Checked jitstressregs3 R2R" -- **Windows_NT x86 RyuJit Release jitstressregs4 R2R Build & Test:** "test Windows_NT x86 ryujit Release jitstressregs4 R2R" -- **Windows_NT x86 RyuJit Checked jitstressregs4 R2R Build & Test:** "test Windows_NT x86 ryujit Checked jitstressregs4 R2R" -- **Windows_NT x86 RyuJit Release jitstressregs8 R2R Build & Test:** "test Windows_NT x86 ryujit Release jitstressregs8 R2R" -- **Windows_NT x86 RyuJit Checked jitstressregs8 R2R Build & Test:** "test Windows_NT x86 ryujit Checked jitstressregs8 R2R" -- **Windows_NT x86 RyuJit Release jitstressregsx10 R2R Build & Test:** "test Windows_NT x86 ryujit Release jitstressregsx10 R2R" -- **Windows_NT x86 RyuJit Checked jitstressregsx10 R2R Build & Test:** "test Windows_NT x86 ryujit Checked jitstressregsx10 R2R" -- **Windows_NT x86 RyuJit Release jitstressregsx80 R2R Build & Test:** "test Windows_NT x86 ryujit Release jitstressregsx80 R2R" -- **Windows_NT x86 RyuJit Checked jitstressregsx80 R2R Build & Test:** "test Windows_NT x86 ryujit Checked jitstressregsx80 R2R" -- **Windows_NT x86 RyuJit Release JITMinOpts R2R Build & Test:** "test Windows_NT x86 ryujit Release JITMinOpts R2R" -- **Windows_NT x86 RyuJit Checked JITMinOpts R2R Build & Test:** "test Windows_NT x86 ryujit Checked JITMinOpts R2R" -- **Windows_NT x86 RyuJit Release ForceRelocs R2R Build & Test:** "test Windows_NT x86 ryujit Release ForceRelocs R2R" -- **Windows_NT x86 RyuJit Checked ForceRelocs R2R Build & Test:** "test Windows_NT x86 ryujit Checked ForceRelocs R2R" -- **Windows_NT x86 RyuJit Checked JIT MinOpts Build & Test:** "test Windows_NT x86 ryujit minopts" -- **Windows_NT x86 RyuJit Checked JITStress=1 Build & Test:** "test Windows_NT x86 ryujit jitstress1" -- **Windows_NT x86 RyuJit Checked JITStress=2 Build & Test:** "test Windows_NT x86 ryujit jitstress2" -- **Windows_NT x86 RyuJit Checked Jit ForceRelocs Build & Test:** "test Windows_NT x86 ryujit forcerelocs" -- **Windows_NT x86 RyuJit Checked JITStressRegs=1 Build & Test:** "test Windows_NT x86 ryujit jitstressregs1" -- **Windows_NT x86 RyuJit Checked JITStressRegs=2 Build & Test:** "test Windows_NT x86 ryujit jitstressregs2" -- **Windows_NT x86 RyuJit Checked JITStressRegs=3 Build & Test:** "test Windows_NT x86 ryujit jitstressregs3" -- **Windows_NT x86 RyuJit Checked JITStressRegs=4 Build & Test:** "test Windows_NT x86 ryujit jitstressregs4" -- **Windows_NT x86 RyuJit Checked JITStressRegs=8 Build & Test:** "test Windows_NT x86 ryujit jitstressregs8" -- **Windows_NT x86 RyuJit Checked JITStressRegs=0x10 Build & Test:** "test Windows_NT x86 ryujit jitstressregs0x10" -- **Windows_NT x86 RyuJit Checked JITStressRegs=0x80 Build & Test:** "test Windows_NT x86 ryujit jitstressregs0x80" -- **Windows_NT x86 RyuJit Checked JitStress=2 JITStressRegs=1 Build & Test:** "test Windows_NT x86 ryujit jitstress2_jitstressregs1" -- **Windows_NT x86 RyuJit Checked JitStress=2 JITStressRegs=2 Build & Test:** "test Windows_NT x86 ryujit jitstress2_jitstressregs2" -- **Windows_NT x86 RyuJit Checked JitStress=2 JITStressRegs=3 Build & Test:** "test Windows_NT x86 ryujit jitstress2_jitstressregs3" -- **Windows_NT x86 RyuJit Checked JitStress=2 JITStressRegs=4 Build & Test:** "test Windows_NT x86 ryujit jitstress2_jitstressregs4" -- **Windows_NT x86 RyuJit Checked JitStress=2 JITStressRegs=8 Build & Test:** "test Windows_NT x86 ryujit jitstress2_jitstressregs8" -- **Windows_NT x86 RyuJit Checked JitStress=2 JITStressRegs=0x10 Build & Test:** "test Windows_NT x86 ryujit jitstress2_jitstressregs0x10" -- **Windows_NT x86 RyuJit Checked JitStress=2 JITStressRegs=0x80 Build & Test:** "test Windows_NT x86 ryujit jitstress2_jitstressregs0x80" -- **Windows_NT x86 RyuJit Checked GCStress=0x3 Build & Test:** "test Windows_NT x86 ryujit gcstress0x3" -- **Windows_NT x86 RyuJit Checked GCStress=0xc Build & Test:** "test Windows_NT x86 ryujit gcstress0xc" -- **Windows_NT x86 RyuJit Checked zapdisable Build & Test:** "test Windows_NT x86 ryujit zapdisable" -- **Windows_NT x86 RyuJit Checked Heap Verify 1 Build & Test:** "test Windows_NT x86 ryujit heapverify1" -- **Windows_NT x86 RyuJit Checked GCStress=0xc zapdisable Build & Test:** "test Windows_NT x86 ryujit gcstress0xc_zapdisable" -- **Windows_NT x86 RyuJit Checked GCStress=0xc JitStress=2 zapdisable Build & Test:** "test Windows_NT x86 ryujit gcstress0xc_zapdisable_jitstress2" -- **Windows_NT x86 RyuJit Checked GCStress=0xc zapdisable Heap Verify 1 Build & Test:** "test Windows_NT x86 ryujit gcstress0xc_zapdisable_heapverify1" -- **Windows_NT x86 RyuJit Checked GCStress=0xc JitStress=1 Build & Test:** "test Windows_NT x86 ryujit gcstress0xc_jitstress1" -- **Windows_NT x86 RyuJit Checked GCStress=0xc JitStress=2 Build & Test:** "test Windows_NT x86 ryujit gcstress0xc_jitstress2" -- **Windows_NT x86 RyuJit Checked GCStress=0xc MinOpts Heap Verify 1 Build & Test:** "test Windows_NT x86 ryujit gcstress0xc_minopts_heapverify1" +- **Windows_NT x86 Release jitstress1 R2R Build & Test:** "test Windows_NT x86 Release jitstress1 R2R" +- **Windows_NT x86 Checked jitstress1 R2R Build & Test:** "test Windows_NT x86 Checked jitstress1 R2R" +- **Windows_NT x86 Release jitstress2 R2R Build & Test:** "test Windows_NT x86 Release jitstress2 R2R" +- **Windows_NT x86 Checked jitstress2 R2R Build & Test:** "test Windows_NT x86 Checked jitstress2 R2R" +- **Windows_NT x86 Release jitstressregs1 R2R Build & Test:** "test Windows_NT x86 Release jitstressregs1 R2R" +- **Windows_NT x86 Checked jitstressregs1 R2R Build & Test:** "test Windows_NT x86 Checked jitstressregs1 R2R" +- **Windows_NT x86 Release jitstressregs2 R2R Build & Test:** "test Windows_NT x86 Release jitstressregs2 R2R" +- **Windows_NT x86 Checked jitstressregs2 R2R Build & Test:** "test Windows_NT x86 Checked jitstressregs2 R2R" +- **Windows_NT x86 Release jitstressregs3 R2R Build & Test:** "test Windows_NT x86 Release jitstressregs3 R2R" +- **Windows_NT x86 Checked jitstressregs3 R2R Build & Test:** "test Windows_NT x86 Checked jitstressregs3 R2R" +- **Windows_NT x86 Release jitstressregs4 R2R Build & Test:** "test Windows_NT x86 Release jitstressregs4 R2R" +- **Windows_NT x86 Checked jitstressregs4 R2R Build & Test:** "test Windows_NT x86 Checked jitstressregs4 R2R" +- **Windows_NT x86 Release jitstressregs8 R2R Build & Test:** "test Windows_NT x86 Release jitstressregs8 R2R" +- **Windows_NT x86 Checked jitstressregs8 R2R Build & Test:** "test Windows_NT x86 Checked jitstressregs8 R2R" +- **Windows_NT x86 Release jitstressregsx10 R2R Build & Test:** "test Windows_NT x86 Release jitstressregsx10 R2R" +- **Windows_NT x86 Checked jitstressregsx10 R2R Build & Test:** "test Windows_NT x86 Checked jitstressregsx10 R2R" +- **Windows_NT x86 Release jitstressregsx80 R2R Build & Test:** "test Windows_NT x86 Release jitstressregsx80 R2R" +- **Windows_NT x86 Checked jitstressregsx80 R2R Build & Test:** "test Windows_NT x86 Checked jitstressregsx80 R2R" +- **Windows_NT x86 Release JITMinOpts R2R Build & Test:** "test Windows_NT x86 Release JITMinOpts R2R" +- **Windows_NT x86 Checked JITMinOpts R2R Build & Test:** "test Windows_NT x86 Checked JITMinOpts R2R" +- **Windows_NT x86 Release ForceRelocs R2R Build & Test:** "test Windows_NT x86 Release ForceRelocs R2R" +- **Windows_NT x86 Checked ForceRelocs R2R Build & Test:** "test Windows_NT x86 Checked ForceRelocs R2R" +- **Windows_NT x86 Checked JIT MinOpts Build & Test:** "test Windows_NT x86 minopts" +- **Windows_NT x86 Checked JITStress=1 Build & Test:** "test Windows_NT x86 jitstress1" +- **Windows_NT x86 Checked JITStress=2 Build & Test:** "test Windows_NT x86 jitstress2" +- **Windows_NT x86 Checked Jit ForceRelocs Build & Test:** "test Windows_NT x86 forcerelocs" +- **Windows_NT x86 Checked JITStressRegs=1 Build & Test:** "test Windows_NT x86 jitstressregs1" +- **Windows_NT x86 Checked JITStressRegs=2 Build & Test:** "test Windows_NT x86 jitstressregs2" +- **Windows_NT x86 Checked JITStressRegs=3 Build & Test:** "test Windows_NT x86 jitstressregs3" +- **Windows_NT x86 Checked JITStressRegs=4 Build & Test:** "test Windows_NT x86 jitstressregs4" +- **Windows_NT x86 Checked JITStressRegs=8 Build & Test:** "test Windows_NT x86 jitstressregs8" +- **Windows_NT x86 Checked JITStressRegs=0x10 Build & Test:** "test Windows_NT x86 jitstressregs0x10" +- **Windows_NT x86 Checked JITStressRegs=0x80 Build & Test:** "test Windows_NT x86 jitstressregs0x80" +- **Windows_NT x86 Checked JitStress=2 JITStressRegs=1 Build & Test:** "test Windows_NT x86 jitstress2_jitstressregs1" +- **Windows_NT x86 Checked JitStress=2 JITStressRegs=2 Build & Test:** "test Windows_NT x86 jitstress2_jitstressregs2" +- **Windows_NT x86 Checked JitStress=2 JITStressRegs=3 Build & Test:** "test Windows_NT x86 jitstress2_jitstressregs3" +- **Windows_NT x86 Checked JitStress=2 JITStressRegs=4 Build & Test:** "test Windows_NT x86 jitstress2_jitstressregs4" +- **Windows_NT x86 Checked JitStress=2 JITStressRegs=8 Build & Test:** "test Windows_NT x86 jitstress2_jitstressregs8" +- **Windows_NT x86 Checked JitStress=2 JITStressRegs=0x10 Build & Test:** "test Windows_NT x86 jitstress2_jitstressregs0x10" +- **Windows_NT x86 Checked JitStress=2 JITStressRegs=0x80 Build & Test:** "test Windows_NT x86 jitstress2_jitstressregs0x80" +- **Windows_NT x86 Checked GCStress=0x3 Build & Test:** "test Windows_NT x86 gcstress0x3" +- **Windows_NT x86 Checked GCStress=0xc Build & Test:** "test Windows_NT x86 gcstress0xc" +- **Windows_NT x86 Checked zapdisable Build & Test:** "test Windows_NT x86 zapdisable" +- **Windows_NT x86 Checked Heap Verify 1 Build & Test:** "test Windows_NT x86 heapverify1" +- **Windows_NT x86 Checked GCStress=0xc zapdisable Build & Test:** "test Windows_NT x86 gcstress0xc_zapdisable" +- **Windows_NT x86 Checked GCStress=0xc JitStress=2 zapdisable Build & Test:** "test Windows_NT x86 gcstress0xc_zapdisable_jitstress2" +- **Windows_NT x86 Checked GCStress=0xc zapdisable Heap Verify 1 Build & Test:** "test Windows_NT x86 gcstress0xc_zapdisable_heapverify1" +- **Windows_NT x86 Checked GCStress=0xc JitStress=1 Build & Test:** "test Windows_NT x86 gcstress0xc_jitstress1" +- **Windows_NT x86 Checked GCStress=0xc JitStress=2 Build & Test:** "test Windows_NT x86 gcstress0xc_jitstress2" +- **Windows_NT x86 Checked GCStress=0xc MinOpts Heap Verify 1 Build & Test:** "test Windows_NT x86 gcstress0xc_minopts_heapverify1" - **Windows_NT x86 legacy_backend Release jitstress1 R2R Build & Test:** "test Windows_NT x86 legacy_backend Release jitstress1 R2R" - **Windows_NT x86 legacy_backend Checked jitstress1 R2R Build & Test:** "test Windows_NT x86 legacy_backend Checked jitstress1 R2R" - **Windows_NT x86 legacy_backend Release jitstress2 R2R Build & Test:** "test Windows_NT x86 legacy_backend Release jitstress2 R2R" @@ -159,7 +161,7 @@ To trigger a job, post a comment on your PR with "@dotnet-bot {trigger-phrase}". - **Windows_NT x86 legacy_backend Checked JITMinOpts R2R Build & Test:** "test Windows_NT x86 legacy_backend Checked JITMinOpts R2R" - **Windows_NT x86 legacy_backend Release ForceRelocs R2R Build & Test:** "test Windows_NT x86 legacy_backend Release ForceRelocs R2R" - **Windows_NT x86 legacy_backend Checked ForceRelocs R2R Build & Test:** "test Windows_NT x86 legacy_backend Checked ForceRelocs R2R" -- **Windows_NT x86 RyuJit Release Long-Running GC Build & Test:** "test Windows_NT x86 ryujit Release longgc" +- **Windows_NT x86 Release Long-Running GC Build & Test:** "test Windows_NT x86 Release longgc" - **Windows_NT x86 legacy_backend Release Long-Running GC Build & Test:** "test Windows_NT x86 legacy_backend Release longgc" - **Ubuntu x64 Release Priority 1 Build & Test:** "test Ubuntu pri1" - **Ubuntu x64 Release IL RoundTrip Build & Test:** "test Ubuntu ilrt" diff --git a/Documentation/project-docs/glossary.md b/Documentation/project-docs/glossary.md index 6b13ba8..670254d 100644 --- a/Documentation/project-docs/glossary.md +++ b/Documentation/project-docs/glossary.md @@ -15,6 +15,7 @@ As much as possible, we should link to the most authoritative and recent source * JIT: [Just-in-Time](https://github.com/dotnet/coreclr/blob/master/Documentation/botr/ryujit-overview.md) compiler. RyuJIT is the code name for the next generation Just-in-Time(aka "JIT") for the .NET runtime. * LCG: Lightweight Code Generation. An early name for [dynamic methods](https://github.com/dotnet/coreclr/blob/master/src/mscorlib/src/System/Reflection/Emit/DynamicMethod.cs). * NGen: Native Image Generator. +* NYI: Not Yet Implemented * PAL: [Platform Adaptation Layer](http://archive.oreilly.com/pub/a/dotnet/2002/03/04/rotor.html). Provides an abstraction layer between the runtime and the operating system * PE: Portable Executable. * ProjectN: Codename for the first version of [.NET Native for UWP](https://msdn.microsoft.com/en-us/vstudio/dotnetnative.aspx). @@ -22,6 +23,7 @@ As much as possible, we should link to the most authoritative and recent source * Redhawk: Codename for experimental minimal managed code runtime that evolved into [CoreRT](https://github.com/dotnet/corert/). * SOS: [Son of Strike](http://blogs.msdn.com/b/jasonz/archive/2003/10/21/53581.aspx). The debugging extension for DbgEng based debuggers. Uses the DAC as an abstraction layer for its operation. * SVR: The CLR used to be built as two variants, with one called "mscorsvr.dll", to mean the "server" version. In particular, it contained the server GC implementation, which was intended for multi-threaded apps capable of taking advantage of multiple processors. In the .NET Framework 2 release, the two variants were merged into "mscorwks.dll". The WKS version was the default, however the SVR version remained available. +* TPA: Trusted Platform Assemblies used to be a special set of assemblies that comprised the platform assemblies, when it was originally designed. As of today, it is simply the set of assemblies known to constitute the application. * URT: Universal Runtime. Ancient name for what ended up being .NET, is used in the WinError facility name FACILITY_URT. * VSD: [Virtual Stub Dispatch](../botr/virtual-stub-dispatch.md). Technique of using stubs for virtual method invocations instead of the traditional virtual method table. * VM: Virtual machine. diff --git a/Documentation/workflow/EditingAndDebugging.md b/Documentation/workflow/EditingAndDebugging.md new file mode 100644 index 0000000..66b4d4f --- /dev/null +++ b/Documentation/workflow/EditingAndDebugging.md @@ -0,0 +1,49 @@ + +# Editing and Debugging + +If you are editing on the Windows Operating system, Using Visual Studio 2015 is a good option for editing +the code in this repository. You can of course also use the editor of your choice. One further option +is to use [VSCode](https://code.visualstudio.com/) which is a light weight, cross-platform tool that like +Visual Studio, is optimized for development workflow (code editing and debugging) but works on more platforms +(in particular OSX and Linux) + +[VSCode](https://code.visualstudio.com/) has built-in support for syntax highlighting and previewing +markdown (`*.md`) files that GIT repositories like this one use for documentation. If you want to modify +the docs, VSCode is a good choice. See [Markdown and VSCOde](https://code.visualstudio.com/Docs/languages/markdown) +for more on VSCode support and [Mastering Markdown](https://guides.github.com/features/mastering-markdown/) for +more on Markdown in general. + +# Visual Studio Solutions + +The repository has a number of Visual Studio Solutions files (`*.sln`) that are useful for editing parts of +what are in the repository. In particular + + * `src\mscorlib\System.Private.CorLib.sln` - This solution is for all managed (C#) code that is defined + in the runtime itself. This is all class library support of one form or another. + * `bin\obj\Windows_NT..\CoreCLR.sln` - this solution contains most native (C++) projects + associated with the repository, including + * `coreclr` - This is the main runtime DLL (the GC, class loader, interop are all here) + * `corjit` - This is the Just In Time (JIT) compiler that compiles .NET Intermediate language to native code. + * `corerun` - This is the simple host program that can load the CLR and run a .NET Core application + * `crossgen` - This is the host program that runs the JIT compiler and produces .NET Native images (`*.ni.dll`) + for C# code. + +Thus opening one of these two solution files (double clicking on them in Explorer) is typically all you need +to do most editing. + +Notice that the CoreCLR solution is under the 'bin' directory. This is because it is created as part of the build. +Thus you can only launch this solution after you have built at least once. + +* See [Debugging](../building/debugging-instructions.md) + +### Interacting with GIT in Visual Studio + +Most interactions with GIT can be done from within Visual Studio. See the following for more details. +* [Setting up with a fork with Visual Studio 2015](https://github.com/Microsoft/perfview/blob/master/documentation/OpenSourceGitWorkflow.md) + +# See Also + +Before you make modifications, you probably want to learn more about the general architecture of .NET Core. +See the following docs for more. + + * [Documentation on the .NET Core Runtime](../README.md) diff --git a/Documentation/workflow/IssuesFeedbackEngagement.md b/Documentation/workflow/IssuesFeedbackEngagement.md new file mode 100644 index 0000000..a6c0550 --- /dev/null +++ b/Documentation/workflow/IssuesFeedbackEngagement.md @@ -0,0 +1,37 @@ + +# Engage, Log Issues and Provide Feedback + +## Reporting Problems (Bugs) + +We track bugs, feature requests and other issues [in this repo](https://github.com/dotnet/coreclr/issues). +If you have a problem and believe that the issue is in the native runtime you should log it there. If in the managed code log it in the [CoreFX repo](https://github.com/dotnet/corefx/issues) _even if the code is in this CoreCLR repo_ (ie., in mscorlib/System.Private.Corelib). The reason for this is we sometimes move managed types between the two and it makes sense to keep all the issues together. + +Before you log a new issue, you should try using the search tool on the issue page on a few keywords to see if the issue was already logged. + +### NET Forums +If you want to ask a question, or want wider discussion (to see if others share you issue), we encourage you to start a thread +in the [.NET Foundation forums](http://forums.dotnetfoundation.org/). + +###Chat with the CoreCLR Community + +For more real-time feedback you can also start a chat session by clicking on the icons below. + +[![.NET Slack Status](https://aspnetcoreslack.herokuapp.com/badge.svg?2)](http://tattoocoder.com/aspnet-slack-sign-up/) [![Join the chat at https://gitter.im/dotnet/coreclr](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/dotnet/coreclr?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) + +### Security issues + +To avoid tipping off malicious users wishing to exploit a vulnerability, +security issues and bugs should be reported privately, via email, to the +Microsoft Security Response Center (MSRC) . You should +receive a response within 24 hours. If for some reason you do not, please follow +up via email to ensure we received your original message. Further information, +including the MSRC PGP key, can be found in the +[Security TechCenter](https://technet.microsoft.com/en-us/security/ff852094.aspx) + +### Issues with the .NET Desktop runtime + +The .NET Core repository is not an appropriate place to log issues for the 'Desktop' .NET Framework built into the Windows +operating system. If you are having issues with the Full .NET Framework or .NET Runtime the best ways to file a bug +are at [Connect](http://connect.microsoft.com/VisualStudio) or through +[Product Support](https://support.microsoft.com/en-us/contactus?ws=support) if you have a contract. + diff --git a/Documentation/workflow/OfficalAndDailyBuilds.md b/Documentation/workflow/OfficalAndDailyBuilds.md new file mode 100644 index 0000000..5a36af6 --- /dev/null +++ b/Documentation/workflow/OfficalAndDailyBuilds.md @@ -0,0 +1,79 @@ +# Official Releases and Daily Builds of CoreCLR and CoreFX components + +If you are not planning on actually making bug fixes or experimenting with new features, then you probably +don't need to don't need build CoreCLR yourself, as the .NET Runtime team routinely does this for you. + +Roughly every three months, the .NET Runtime team publishes a new version of .NET Core to Nuget. .NET Core's +official home on NuGet is + + * + +and you can expect to see new versions roughly three months. However it is also the case that the .NET +Team publishes **daily builds** of all sorts of packages including those built by the CoreCLR and CoreFX +repositories. You can see what is available from + + * , and in particular you can see the builds of CoreCLR at + * . + +Thus if your goal is just to get the latest bug fixes and features, you don't need to build CoreCLR yourself you +can simply add to your Nuget Feed list. + +## Package Version Numbers + +Version numbers for Nuget packages look like the following +``` + 1.0.24214.01 +``` +Which have the form +``` + ... +``` + +* The major version number represents a compatibility band. If the next release of the package is not + backward compatible (most apps that run on version N-1 will run on version N) then this number is increased. + This number is not likely to change (we care about compatibility alot) + +* The minor number is increased every time interesting new features are added (not just minor bug fixes). + For CoreCLR we tend to update this every time we create a public release (every 3 months). + +* The Major Build Number is a number that represents a daily build. The last 2 digits of this build number + is the **day of the month** of the GIT commit that is being built. Thus we know in the example above this + build's last commit to GIT happened on the 14th day of the month. The most significant digits represents + the month count since April 1996. In the example above 242 represents Jun 2016. + +* The Minor Build number is something that disambiguates different builds that share the same + commit (or the different commits on the same day). It is a sequential number and is typically 1 for + official builds, and 0 for developer builds. (You can set the environment variable BuildNumberMinor if + you wish to set it for your own builds). + + + +See the [Package and File Versioning](https://github.com/dotnet/corefx/blob/master/Documentation/building/versioning.md) page +for more details on how the build version number is generated. + + + +# Build/Test Status of the repository + +As mentioned we build the CoreCLR repository daily, and as part of that build we also run all +the tests associted with this repository. Below is a table of the most recent results for all +the different operating systems and architectures that we routinely build. + +If you click on the images below, you can get more details about the build (including the binaries) +and the exact test results (in case your build is failing tests and you are wondering if it is +something affecting all builds). + +| | Debug | Release | +|---|:-----:|:-------:| +|**CentOS 7.1**|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/debug_centos7.1.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/debug_centos7.1)|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/release_centos7.1.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/release_centos7.1)| +|**Debian 8.4**|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/debug_debian8.4.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/debug_debian8.4)|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/release_debian8.4.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/release_debian8.4)| +|**FreeBSD 10.1**|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/debug_freebsd.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/debug_freebsd)|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/release_freebsd.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/release_freebsd)| +|**openSUSE 13.2**|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/debug_opensuse13.2.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/debug_opensuse13.2)|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/release_opensuse13.2.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/release_opensuse13.2)| +|**openSUSE 42.1**|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/debug_opensuse42.1.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/debug_opensuse42.1)|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/release_opensuse42.1.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/release_opensuse42.1)| +|**OS X 10.11**|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/debug_osx.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/debug_osx)|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/release_osx.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/release_osx)| +|**Red Hat 7.2**|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/debug_rhel7.2.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/debug_rhel7.2)|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/release_rhel7.2.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/release_rhel7.2)| +|**Fedora 23**|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/debug_fedora23.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/debug_fedora23)|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/release_fedora23.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/release_fedora23)| +|**Ubuntu 14.04**|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/debug_ubuntu.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/debug_ubuntu)|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/release_ubuntu.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/release_ubuntu)| +|**Ubuntu 16.04**|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/debug_ubuntu16.04.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/debug_ubuntu16.04)|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/release_ubuntu16.04.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/release_ubuntu16.04)| +|**Ubuntu 16.10**|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/debug_ubuntu16.10.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/debug_ubuntu16.10)|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/release_ubuntu16.10.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/release_ubuntu16.10)| +|**Windows 8.1**|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/debug_windows_nt.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/debug_windows_nt)
[![arm64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/arm64_cross_debug_windows_nt.svg?label=arm64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/arm64_cross_debug_windows_nt)|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/release_windows_nt.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/release_windows_nt)
[![arm64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/arm64_cross_release_windows_nt.svg?label=arm64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/arm64_cross_release_windows_nt)| diff --git a/Documentation/workflow/RunningTests.md b/Documentation/workflow/RunningTests.md new file mode 100644 index 0000000..0cf84be --- /dev/null +++ b/Documentation/workflow/RunningTests.md @@ -0,0 +1,10 @@ + +#Running .NET Core Tests + +TODO - Incomplete. + +See [Windows Instructions](../building/windows-test-instructions.md) +See [Unix Instructions](../building/unix-test-instructions.md) + + + diff --git a/Documentation/workflow/UsingCoreRun.md b/Documentation/workflow/UsingCoreRun.md new file mode 100644 index 0000000..3979f13 --- /dev/null +++ b/Documentation/workflow/UsingCoreRun.md @@ -0,0 +1,83 @@ + +# Using corerun To Run .NET Core Application + +In page [Using Your Build](UsingYourBuild.md) gives detailed instructions on using the standard +command line host and SDK, dotnet.exe to run a .NET application with the modified build of the +.NET Core runtime built here. This is the preferred mechanism for you to officially deploy +your changes to other people since dotnet.exe and Nuget insure that you end up with a consistent +set of DLLs that can work together. + +However packing and unpacking the runtime DLLs adds extra steps to the deployment process and when +you are in the tight code-build-debug loop these extra steps are an issue. + +For this situation there is an alternative host to dotnet.exe called corerun.exe that is well suited +for this. It does not know about Nuget at all, and has very simple rules. It needs to find the +.NET Core runtime (that is coreclr.dll) and additionally any class library DLLs (e.g. System.Runtime.dll System.IO.dll ...). + +It does this by looking at two environment variables. + + + * `CORE_ROOT` - The directory where to find the runtime DLLs itself (e.g. CoreCLR.dll). + Defaults to be next to the corerun.exe host itself. + * `CORE_LIBRARIES` - A Semicolon separated list of directories to look for DLLS to resolve any assembly references. + It defaults CORE_ROOT if it is not specified. + +These simple rules can be used in a number of ways + +## Getting the class library from the shared system-wide runtime + +Consider that you already have a .NET application DLL called HelloWorld.dll and wish to run it +(You could make such a DLL by using 'dotnet new' 'dotnet restore' 'dotnet build' in a 'HelloWorld' directory). + +If you execute the following +```bat + set PATH=%PATH%;%CoreCLR%\bin\Product\Windows_NT.x64.Debug + set CORE_LIBRARIES=%ProgramFiles%\dotnet\shared\Microsoft.NETCore.App\1.0.0 + + + corerun HelloWorld.dll +``` + +for Linux use /usr/share for %Program Files% + +Where %CoreCLR% is the base of your CoreCLR repository, then it will run your HelloWorld. application. +You can see why this works. The first line puts build output directory (Your OS, architecture, and buildType +may be different) and thus corerun.exe you just built is on your path. +The second line tells corerun.exe where to find class library files, in this case we tell it +to find them where the installation of dotnet.exe placed its copy. (Note that version number in the path above may change) + +Thus when you run 'corerun HelloWorld.dll' Corerun knows where to get the DLLs it needs. Notice that once +you set up the path and CORE_LIBRARIES environment, after a rebuild you can simply use corerun to run your +application (you don't have to move DLLs around) + +## Using corerun.exe to Execute a Published Application + +When 'dotnet publish' publishes an application it deploys all the class libraries needed as well. +Thus if you simply change the CORE_LIBRARIES definition in the previous instructions to point at +that publication directory but RUN the corerun from your build output the effect will be that you +run your new runtime getting all the other code needed from that deployed application. This is +very convenient because you don't need to modify the deployed application in order to test +your new runtime. + +## How CoreCLR Tests use corerun.exe + +When you execute 'tests\runTest.cmd' one of the things that it does is set up a directory where it +gathers the CoreCLR that has just been built with the pieces of the class library that tests need. +It places this runtime in the directory +```bat + bin\Product\..\test +``` +off the CoreCLR Repository. The way the tests are expected to work is that you set the environment +variable CORE_ROOT to this directory +(you don't have to set CORE_LIBRARIES) and you can run any tests. For example after building the tests +(running build-test at the repository base) and running 'test\runtest') you can do the following + +```bat + set PATH=%PATH%;%CoreCLR%\bin\Product\Windows_NT.x64.Debug + set CORE_ROOT=%CoreCLR%\bin\tests\Windows_NT.x64.Debug\Tests\Core_Root +``` +sets you up so that corerun can run any of the test. For example +```bat + corerun bin\tests\Windows_NT.X64.Debug\GC\Features\Finalizer\finalizeio\finalizeio\finalizeio.exe +``` +runs the finalizerio test. \ No newline at end of file diff --git a/Documentation/workflow/UsingYourBuild.md b/Documentation/workflow/UsingYourBuild.md new file mode 100644 index 0000000..c783dd1 --- /dev/null +++ b/Documentation/workflow/UsingYourBuild.md @@ -0,0 +1,215 @@ + +# Using your .NET Core Runtime Build + +We assume that you have successfully built CoreCLR repository and thus have file of the form +``` + bin\Product\..\.nuget\pkg\Microsoft.NETCore.Runtime.CoreCLR..nupkg +``` +And now you wish to try it out. We will be using Windows OS as an example and thus will use \ rather +than / for directory separators and things like Windows_NT instead of Linux but it should be +pretty obvious how to adapt these instructions for other operating systems. + +To run your newly built .NET Core Runtime in addition to the application itself, you will need +a 'host' program that will load the Runtime as well as all the other .NET Core Framework +code that your application needs. The easiest way to get all this other stuff is to simply use the +standard 'dotnet' host that installs with .NET Core SDK. + +The released version of 'dotnet' tool may not be compatible with the live CoreCLR repository. The following steps +assume use of unreleased version of 'dotnet' tool that is downloaded as part of the CoreCLR repository +build at `\Tools\dotnetcli`. [Add `Tools\dotnetcli` directory to your path](../building/windows-instructions.md#adding-to-the-default-path-variable) +and type: + +* dotnet -? + +and it prints some help text, you are ready. + +### Step 1: Create a App using the Default Runtime +At this point you can create a new 'Hello World' program in the standard way. + +```bat +mkdir HelloWorld +cd HelloWorld +dotnet new +``` + +### Step 2: Get the Version number of the CoreCLR package you built. + +This makes a 'standard' hello world application but uses the .NET Core Runtime version that +came with the dotnet.exe tool. First you need to modify your app to ask for the .NET Core +you have built, and to do that, we need to know the version number of what you built. Get +this by simply listing the name of the Microsoft.NETCore.Runtime.CoreCLR you built. + +```bat + dir bin\Product\Windows_NT.x64.Release\.nuget\pkg +``` + +and you will get name of the which looks something like this + +``` + Microsoft.NETCore.Runtime.CoreCLR.1.2.0-beta-24528-0.nupkg +``` + +This gets us the version number, in the above case it is 1.2.0-beta-24528-0. We will +use this in the next step. + +### Step 3: Modify the Project.json for the App to refer to your Runtime. + +Replace the HelloWorld\project.json with [project.json](../../tests/src/Common/netcoreapp/project.json), and update +`1.2.0-beta-XXXXX-X` version number in the dependencies section with the version number for your build of the runtime. +This is the line that tells the tools that you want YOUR version of the CoreCLR runtime. +``` + "Microsoft.NETCore.Runtime.CoreCLR": "1.2.0-beta-24528-0" +``` + +The differences between the project.json generated by the tool and the replacement: + +- Removed Microsoft.NETCore.App platform dependency (`"type": "platform"`). This tells the build system that you don't want to +use runtime and libraries that came with the dotnet.exe tool but to fetch the dependencies from the Nuget cache. If you don't do this +the tools will ignore your request to make the app use an explicitly specified runtime. +- Added the 'runtimes' line at the top level. The runtime name includes the OS name and the architecture name +you can find the appropriate name for your OS [here](https://github.com/dotnet/core-docs/blob/master/docs/core/rid-catalog.md). +This tells the tools exactly which flavor of OS and processor architecture you are running on, so it can find the right +Nuget package for the runtime. +- Changed netcoreapp1.0 to netcoreapp1.1. This tells the tools that you want to use the latest .NET Core Framework. +- Expanded Microsoft.NETCore.App metapackage into explicit list of the .NET Core Framework packages because of there is no good published +build of Microsoft.NETCore.App metapackage for netcoreapp1.1 yet. + +### Step 4: Place your build directory and beta .NET Core Framework feed on your Nuget Path + +You can do this by creating a file named Nuget.Config in the 'HelloWorld' directory with the following XML +Obviously **you need to update path in the XML to be the path to output directory for your build**. +On Windows you also have the alternative of modifying the Nuget.Config +at %HOMEPATH%\AppData\Roaming\Nuget\Nuget.Config (~/.nuget/NuGet/NuGet.Config on Linux) with the new location. +This will allow your new +runtime to be used on any 'dotnet restore' run by the current user. +Alternatively you can skip creating this file and pass the path to your package directory using +the -s SOURCE qualifer on the dotnet restore command below. The important part is that somehow +you have told the tools where to find your new package. + +```xml + + + + + + + + + + + + +``` + +### Step 5: Restore the Nuget Packages for your application + +This consist of simply running the command +``` + dotnet restore +``` +which should find the .NET Runtime package in your build output and unpacks it to the local Nuget cache (on windows this is in %HOMEPATH%\.nuget\packages) + + +### Step 6: Run your application + +You can run your 'HelloWorld' applications by simply executing the following in the 'HelloWorld' directory. + +``` + dotnet run +``` +This will compile and run your app. What the command is really doing is building files in helloWorld\bin\Debug\netcoreapp1.1\win7-x64\ +and then running 'dotnet helloWorld\bin\Debug\netcoreapp1.1\win7-x64\HelloWorld.dll' to actually run the app. + +### Step 6: (Optional) Publish your application + +In Step 5 you will notice that the helloWorld\bin\Debug\netcoreapp1.1\win7-x64 directory does NOT actually contain your Runtime code. +What is going on is that runtime is being loaded directly out of the local Nuget cache (on windows this is in %HOMEPATH%\.nuget\packages). +The app can find this cache because of the HelloWorld.runtimeconfig.dev.json file which specifies that that this location should be +added to the list of places to look for dependencies. + +This setup fine for development time, but is not a reasonable way of allowing end users to use your new runtime. Instead what +you want all the necessary code to be gather up so that the app is self-contained. This is what the following command does. +``` + dotnet publish +``` +After running this in the 'HelloWorld' directory you will see that the following path + +* helloWorld\bin\Debug\netcoreapp1.1\win7-x64\publish + +Has all the binaries needed, including the CoreCLR.dll and System.Private.CoreLib.dll that you build locally. To +run the application simple run the EXE that is in this publish directory (it is the name of the app, or specified +in the project.json file). Thus at this point this directory has NO dependency outside this publication directory +(including dotnet.exe). You can copy this publication directory to another machine and run( the exe in it and +will 'just work'. Note that your managed app's code is still in the 'app'.dll file, the 'app'.exe file is +actually simply a rename of dotnet.exe. + +### Step 7: (Optional) Confirm that the app used your new runtime + +Congratulations, you have successfully used your newly built runtime. To confirm that everything worked, you +should compare the file creation timestamps for the CoreCLR.dll and System.Private.Runtime.dll in the publishing +directory and the build output directory. They should be identical. If not, something went wrong and the +dotnet tool picked up a different version of your runtime. + +### Step 8: Update BuildNumberMinor Environment Variable! + +One possible problem with the technique above is that Nuget assumes that distinct builds have distinct version numbers. +Thus if you modify the source and create a new NuGet package you must it a new version number and use that in your +application's project.json. Otherwise the dotnet.exe tool will assume that the existing version is fine and you +won't get the updated bits. This is what the Minor Build number is all about. By default it is 0, but you can +give it a value by setting the BuildNumberMinor environment variable. +```bat + set BuildNumberMinor=3 +``` +before packaging. You should see this number show up in the version number (e.g. 1.2.0-beta-24521-03). + +As an alternative you can delete the existing copy of the package from the Nuget cache. For example on +windows (on Linux substitute ~/ for %HOMEPATH%) you could delete +```bat + %HOMEPATH%\.nuget\packages\Microsoft.NETCore.Runtime.CoreCLR\1.2.0-beta-24521-02 +``` +which should make things work (but is fragile, confirm wile file timestamps that you are getting the version you expect) + + +## Step 8.1 (Optional) Quick updates in place. + +The 'dotnet publish' step in step 6 above creates a directory that has all the files necessary to run your app +including the CoreCLR and the parts of CoreFX that were needed. You can use this fact to skip some steps if +you wish to update the DLLs. For example typically when you update CoreCLR you end up updating one of two DLLs + +* coreclr.dll - Most modifications (with the exception of the JIT compiler and tools) that are C++ code update + this DLL. +* System.Private.CoreLib.dll - If you modified C# it will end up here. +* System.Private.CoreLib.ni.dll - the native image (code) for System.Private.Corelib. If you modify C# code +you will want to update both of these together in the target installation. + +Thus after making a change and building, you can simply copy the updated binary from the `bin\Product\..` +directory to your publication directory (e.g. `helloWorld\bin\Debug\netcoreapp1.1\win7-x64\publish`) to quickly +deploy your new bits. You can build just the .NET Library part of the build by doing (debug, for release add 'release qualifier) +(on Linux / OSX us ./build.sh) +```bat + .\build skiptests skipnative +``` +Which builds System.Private.CoreLib.dll AND System.Private.CoreLib.ni.dll (you will always want both) if you modify +C# code. If you wish to only compile the coreclr.dll you can do + ```bat + .\build skiptests skipmscorlib +``` +Note that this technique does not work on .NET Apps that have not been published (that is you have not created +a directory with all DLLs needed to run the all) That is because the runtime is either fetched from the system-wide +location that dotnet.exe installed, OR it is fetched from the local nuget package cache (which is where your +build was put when you did a 'dotnet restore' and had a dependency on your particular runtime). In theory you +could update these locations in place, but that is not recommended since they are shared more widely. + +### Using your Runtime For Real. + +You can see that it is straightforward for anyone to use your runtime. They just need to modify their project.json +and modify their NuGet search path. This is the expected way of distributing your modified runtime. + +-------------------------- +## Using CoreRun to run your .NET Core Application + +Generally using dotnet.exe tool to run your .NET Core application is the preferred mechanism to run .NET Core Apps. +However there is a simpler 'host' for .NET Core applications called 'CoreRun' that can also be used. The value +of this host is that it is simpler (in particular it knows nothing about NuGet), but precisely because of this +it can be harder to use (since you are responsible for insuring all the dependencies you need are gather together) +See [Using CoreRun To Run .NET Core Application](UsingCoreRun.md) for more. diff --git a/DotnetCLIVersion.txt b/DotnetCLIVersion.txt index dd7bc31..b0f8213 100644 --- a/DotnetCLIVersion.txt +++ b/DotnetCLIVersion.txt @@ -1 +1 @@ -1.0.0-preview2-002733 \ No newline at end of file +1.0.0-preview3-003223 \ No newline at end of file diff --git a/README.md b/README.md index ffcffff..98dcb1a 100644 --- a/README.md +++ b/README.md @@ -1,106 +1,232 @@ -.NET Core Runtime (CoreCLR) +.NET Core Common Language Runtime (CoreCLR) =========================== -The CoreCLR repo contains the complete runtime implementation for [.NET Core](http://github.com/dotnet/core). It includes RyuJIT, the .NET GC, native interop and many other components. It is cross-platform, with multiple OS and CPU ports in progress. +This repository contains complete source code the runtime of [.NET Core](http://dotnet.github.io). +If you are new to .NET Core start with the [About .NET](https://docs.microsoft.com/en-us/dotnet/articles/about/) +that quickly points you to [.NET Core Tutorials](https://docs.microsoft.com/en-us/dotnet/articles/core/getting-started) + + +.NET Core is best thought of as 'agile .NET'. Generally speaking it is the same as +the [Desktop .NET Framework](https://en.wikipedia.org/wiki/.NET_Framework) +distributed as part of the Windows operating system, but it is a cross platform +(Windows, Linux, OSX) and cross architecture (x86, x64, arm) subset that can be deployed +as part of the application (if desired), and thus can be updated quickly to fix bugs or add features. + +## If You Just Want to Use .NET Core + +Most users don't need to build .NET Core from source since there is already an built and tested version for any supported platform. +You can get the latest **released** version of the .NET Core SDK by following the instructions on +the [.NET Core Getting Started](http://dotnet.github.io/getting-started/) page. +If you need the most up to date (daily) version of this .NET Core installer you can get it from the +[latest Installers of .NET Core and .NET Core SDK](https://github.com/dotnet/cli#installers-and-binaries). + +## Are you Here for Something Besides the Source Code? + +In addition to providing the source code, this repository also acts as a useful nexus for things +related to .NET Core including: + + * Want to **learn more** about .NET Runtime Internals? See the [Documentation on the .NET Core Runtime](Documentation/README.md) page. + * Need to **log a issue** or Provide Feedback? See then [Issues and Feedback Page](Documentation/workflow/IssuesFeedbackEngagement.md) page. + * Want to **chat** with other members of the CoreCLR community? See the [Chat Section](Documentation/workflow/IssuesFeedbackEngagement.md#Chat-with-the-CoreCLR-community) page. + * Need a **current build** or **test results** of the CoreCLR repository? See the [Official and Daily Builds](Documentation/workflow/OfficalAndDailyBuilds.md) page. + * If you want powerful search of the source code for both CoreClr and CoreFx see [.NET Source Code Index](https://source.dot.net) + +## What Can you Make from this Repository? + +.NET Core relies heavily on the [Nuget](https://en.wikipedia.org/wiki/NuGet) package manager, +which is a system to package, distribute and version software components. See [https://www.nuget.org/](https://www.nuget.org/) +for more information on Nuget. For now it is enough to know Nuget is a system that +bundles components into `*.nupkg` files (which are ZIP archives) and these packages can be 'published' +either through a local file system path or by a URL (e.g. https://www.nuget.org/). There are then tools +(e.g. Nuget.exe, Visual Studio, dotnet.exe) that based on a configuration file (project.json) know +how to search these publishing locations and pull down consistent set of packages for the +application. + +In concrete terms, this repository is best thought of as the source code for the following Nuget package + + * **Microsoft.NETCore.Runtime.CoreCLR** - Represents the object allocator, garbage collector (GC), class + loader, type system, interop and the most fundamental parts of the .NET class library (e.g. + System.Object, System.String ...) + +It also contains the source code for the following closely related support packages. + + * **Microsoft.NETCore.Jit** - The Just In Time (JIT) compiler for the + [.NET Intermediate language (IL)](https://en.wikipedia.org/wiki/Common_Intermediate_Language) + * **Microsoft.NETCore.ILAsm** - An assembler for the + [.NET Intermediate language (IL)](https://en.wikipedia.org/wiki/Common_Intermediate_Language) + * **Microsoft.NETCore.ILDAsm** - A disassembler (Pretty printer) for the + [.NET Intermediate language (IL)](https://en.wikipedia.org/wiki/Common_Intermediate_Language) + * **Microsoft.NETCore.TestHost** - This contains the corehost.exe program, which is a small wrapper + that uses the .NET Runtime to run IL DLLs passed to it on the command line. + * **Microsoft.TargetingPack.Private.CoreCLR** - A set of assemblies that represent the compile time surface + area of the class library implemented by the runtime itself. + +## Relationship with the [CoreFX](https://github.com/dotnet/corefx) Repository + +By itself, the Microsoft.NETCore.Runtime.CoreCLR package is actually not enough to do much. +One reason for this is that the CoreCLR package tries to minimize the amount of the class library that it implements. +Only types that have a strong dependency on the internal workings of the runtime are included (e.g, +System.Object, System.String System.Thread, System.Threading.Tasks.Task and most foundational interfaces). +Instead most of the class library is implemented as independent Nuget packages that simply use the .NET Core +runtime as a dependency. Many of the most familiar classes (System.Collections, System.IO, System.Xml and +so on), live in packages defined in the [dotnet/corefx](https://github.com/dotnet/corefx) repository. + +But the main reason you can't do much with CoreCLR is that **ALL** of the types in the class library **LOOK** +like they are defined by the CoreFX framework and not CoreCLR. Any library code defined here +lives in a single DLL called System.Private.CoreLib.dll and as its name suggests is private (hidden). +Instead for any particular PUBLIC type defined in CoreCLR, we found the 'right' package in CoreFX where it naturally +belongs and use that package as its **public publishing** point. That 'facade' package then forwards references +to the (private) implementation in System.Private.CoreLib.dll defined here. +For example the *System.Runtime* package defined in CoreFX declares the PUBLIC name for types like +System.Object and System.String. Thus from an applications point of view these types live in System.Runtime.dll. +However, System.Runtime.dll (defined in the CoreFX repo) forwards references ultimately to System.Private.CoreLib.dll +which is defined here. + +Thus in order to run an application, you need BOTH the Microsoft.NETCore.Runtime.CoreCLR Nuget package +(defined in this repository) as well as packages for whatever you actually reference that were defined +in the CoreFX repository (which at a minimum includes the System.Runtime package). You also need some +sort of 'host' executable that loads the CoreCLR package as well as the CoreFX packages and starts your code (typically +you use dotnet.exe for this). + +These extra pieces are not defined here, however you don't need to build them in order to use the CoreCLR +Nuget package you create here. There are already versions of the CoreFX packages published on +https://www.nuget.org/ so you can have your test application's project.json specify the CoreCLR you +built and it will naturally pull anything else it needs from the official location https://www.nuget.org/ to +make a complete application. More on this in the [Using Your Build](Documentation/workflow/UsingYourBuild.md) page. + +-------------------------- +## Setting up your GIT Clone of the CoreCLR Repository + +The first step in making a build of the CoreCLR Repository is to clone it locally. If you already know +how to do this, just skip this section. Otherwise if you are developing on windows you can see +[Setting Up A Git Repository In Visual Studio 2015](https://github.com/Microsoft/perfview/blob/master/documentation/SettingUpRepoInVS2015.md) +for for instructions on setting up. This link uses a different repository as an example, but the issues (do you fork or not) and +the procedure are equally applicable to this repository. + +-------------------------- +## Building the Repository + +The build depends on GIT, CMAKE, Python and of course a C++ compiler. Once these prerequisites are installed +the build is simply a matter of invoking the 'Build' script (Build.cmd or build.sh) at the base of the +repository. + +The details of installing the components differ depending on the operating system. See the following +pages based on your OS. There is no cross-building across OS (only for ARM, which is built on X64). +You have to be on the particular platform to build that platform. + + * [Windows Build Instructions](Documentation/building/windows-instructions.md) + * [Linux Build Instructions](Documentation/building/linux-instructions.md) + * [OSX Build Instructions](Documentation/building/osx-instructions.md) + * [FreeBSD Build Instructions](Documentation/building/freebsd-instructions.md) + * [NetBSD Build Instructions](Documentation/building/netbsd-instructions.md) + +The build has two main 'buildTypes' + + * Debug (default)- This compiles the runtime with additional runtime checks (asserts). These checks slow + runtime execution but are really valuable for debugging, and is recommended for normal development and testing. + * Release - This compiles without any development time runtime checks. This is what end users will use but + can be difficult to debug. Passing 'release' to the build script select this. + +In addition, by default the build will not only create the runtime executables, but it will also +build all the tests. There are quite a few tests so this does take a significant amount of time +that is not necessary if you want to experiment with changes. You can submit the building +of the tests with the 'skiptests' argument to the build script. + +Thus to get a build as quickly as possible type the following (using \ as the directory separator, use / on Unix machines) +```bat + .\build skiptests +``` +which will build the Debug flavor which has development time checks (asserts), or +```bat + .\build release skiptests +``` +to build the release (full speed) flavor. You can find more build options with build by using the -? or -help qualifier. + +## Using Your Build + +The build places all of its generated files under the 'bin' directory at the base of the repository. There +is a 'bin\Log' directory that contains log files generated during the build (Most useful when the build fails). +The the actual output is placed in a directory like this + +* bin\Product\Windows_NT.x64.Release + +Where you can see the operating system and CPU architecture, and the build type are part of the name. While +the 'raw' output of the build is sometimes useful, normally you are only interested in the Nuget packages +that were built, which are placed in the directory + +* bin\Product\Windows_NT.x64.Release\.nuget\pkg + +These packages are the 'output' of your build. + +There are two basic techniques for using your new runtime. + + 1. **Use dotnet.exe and Nuget to compose an application**. See [Using Your Build](Documentation/workflow/UsingYourBuild.md) for + instructions on creating a program that uses + your new runtime by using the NuGet packages you just created and the'dotnet' command line interface. This + is the expected way non-runtime developers are likely to consume your new runtime. + + 2. **Use corerun.exe to run an application using unpackaged Dlls**. This repository also defines a simple host called + corerun.exe that does NOT take any dependency on NuGet. Basically it has to be told where to get all the + necessary DLLs you actually use, and you have to gather them together 'by hand'. This is the technique that + all the tests in the repo use, and is useful for quick local 'edit-compile-debug' loop (e.g. preliminary unit testsing). + See [Executing .NET Core Apps with CoreRun.exe](Documentation/workflow/UsingCoreRun.md) for details on using + this technique. + +## Editing and Debugging -Note that the library implementation CoreFX (System.Collections, System.IO, System.Xml and so on) lives in another repo [dotnet/corefx](https://github.com/dotnet/corefx). +Typically users run through the build and use instructions first with an unmodified build, just to familiarize +themselves with the procedures and to confirm that the instructions work. After that you will want to actually +make modifications and debug any issues those modifications might cause. See the following links for more. -Build Status ------------- + * [Editing and Debugging](Documentation/workflow/EditingAndDebugging.md) and + * [Documentation on the .NET Core Runtime](Documentation/README.md) -| | Debug | Release | -|---|:-----:|:-------:| -|**CentOS 7.1**|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/debug_centos7.1.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/debug_centos7.1)|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/release_centos7.1.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/release_centos7.1)| -|**Debian 8.4**|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/debug_debian8.4.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/debug_debian8.4)|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/release_debian8.4.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/release_debian8.4)| -|**FreeBSD 10.1**|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/debug_freebsd.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/debug_freebsd)|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/release_freebsd.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/release_freebsd)| -|**openSUSE 13.2**|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/debug_opensuse13.2.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/debug_opensuse13.2)|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/release_opensuse13.2.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/release_opensuse13.2)| -|**openSUSE 42.1**|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/debug_opensuse42.1.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/debug_opensuse42.1)|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/release_opensuse42.1.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/release_opensuse42.1)| -|**OS X 10.11**|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/debug_osx.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/debug_osx)|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/release_osx.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/release_osx)| -|**Red Hat 7.2**|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/debug_rhel7.2.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/debug_rhel7.2)|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/release_rhel7.2.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/release_rhel7.2)| -|**Fedora 23**|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/debug_fedora23.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/debug_fedora23)|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/release_fedora23.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/release_fedora23)| -|**Ubuntu 14.04**|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/debug_ubuntu.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/debug_ubuntu)|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/release_ubuntu.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/release_ubuntu)| -|**Ubuntu 16.04**|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/debug_ubuntu16.04.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/debug_ubuntu16.04)|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/release_ubuntu16.04.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/release_ubuntu16.04)| -|**Windows 8.1**|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/debug_windows_nt.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/debug_windows_nt)
[![arm64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/arm64_cross_debug_windows_nt.svg?label=arm64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/arm64_cross_debug_windows_nt)|[![x64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/release_windows_nt.svg?label=x64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/release_windows_nt)
[![arm64 status](https://img.shields.io/jenkins/s/http/dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/arm64_cross_release_windows_nt.svg?label=arm64)](http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/master/job/arm64_cross_release_windows_nt)| +## Running Tests -Building the Repo -------------- +After you have your modification basically working, and want to determine if you have broken anything it is +time to runt tests. See [Running .NET Core Tests](Documentation/workflow/RunningTests.md) for more. -|Linux |Windows |Mac OS X |FreeBSD | NetBSD | -|--------|--------|---------|---------|--------| -| [Instructions](Documentation/building/linux-instructions.md) | [Instructions](Documentation/building/windows-instructions.md) | [Instructions](Documentation/building/osx-instructions.md) | [Instructions](Documentation/building/freebsd-instructions.md) | [Instructions](Documentation/building/netbsd-instructions.md) | +## Contributing to Repository -Get .NET Core ----------------------- -You can get the latest released .NET Core SDK from the [.NET Core Getting started](http://dotnet.github.io/getting-started/) page. You can also get the latest development builds of .NET Core and the SDK from the [dotnet/cli repo](https://github.com/dotnet/cli#installers-and-binaries). - -Chat Room ---------- - -Want to chat with other members of the CoreCLR community? - -[![.NET Slack Status](https://aspnetcoreslack.herokuapp.com/badge.svg?2)](http://tattoocoder.com/aspnet-slack-sign-up/) [![Join the chat at https://gitter.im/dotnet/coreclr](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/dotnet/coreclr?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) - -Learn about CoreCLR and .NET Core ---------------------------------- - -The best ways to learn about CoreCLR are to try out the product instructions and to read the "Book of the Runtime" architecture documents that describe the inner workings of the product. New devs to the CLR team are encouraged to read these documents before making substative changes to the product. They are equally useful for open source contributors. - -- [.NET Core Roadmap](https://github.com/dotnet/core/blob/master/roadmap.md) -- [Product instructions](Documentation/README.md) -- [Introduction to the Common Language Runtime](Documentation/botr/intro-to-clr.md) -- [Book of the Runtime](Documentation/README.md#book-of-the-runtime) -- [CoreCLR Documents](Documentation) - -.NET Core is part of ASP.NET Core and is a subset of the .NET Framework. You can learn more about .NET Core and how and where you can use it in the [CoreCLR is open source][coreclr blog post] blog post. - -The [.NET Core Libraries][corefx] repo contains the base class libraries, which provides data types and base functionality (ex: String, Collections, HttpClient) on top of CoreCLR. The two repos together make up .NET Core. The [.NET Core is Open Source][.NET Core oss] and [Introducing .NET Core][Introducing .NET Core] blog posts describes our .NET Core OSS strategy and road map in more detail. - -Engage, Contribute and Provide Feedback ---------------------------------------- - -Some of the best ways to contribute are to try things out, file bugs, and join in design conversations. You are encouraged to start a discussion by filing an issue, or starting a thread in the [.NET Foundation forums](http://forums.dotnetfoundation.org/). If you are having issues with the Full .NET Framework or .NET Runtime the best ways to file a bug are at [Connect](http://connect.microsoft.com/VisualStudio) or through [Product Support](https://support.microsoft.com/en-us/contactus?ws=support) if you have a contract. - -Looking for something to work on? The list of [up-for-grabs issues](https://github.com/dotnet/coreclr/issues?q=is%3Aopen+is%3Aissue+label%3Aup-for-grabs) is a great place to start. +Looking for something to work on? The list +of [up-for-grabs issues](https://github.com/dotnet/coreclr/issues?q=is%3Aopen+is%3Aissue+label%3Aup-for-grabs) is a great place to start. Please read the following documents to get started. * [Contributing Guide](Documentation/project-docs/contributing.md) * [Developer Guide](Documentation/project-docs/developer-guide.md) -This project has adopted the code of conduct defined by the [Contributor Covenant](http://contributor-covenant.org/) to clarify expected behavior in our community. For more information, see the [.NET Foundation Code of Conduct](http://www.dotnetfoundation.org/code-of-conduct). +This project has adopted the code of conduct defined by the [Contributor Covenant](http://contributor-covenant.org/) +to clarify expected behavior in our community. For more information, see the [.NET Foundation Code of Conduct](http://www.dotnetfoundation.org/code-of-conduct). -### Reporting security issues and security bugs +------------------- +## Related Projects -Security issues and bugs should be reported privately, via email, to the -Microsoft Security Response Center (MSRC) . You should -receive a response within 24 hours. If for some reason you do not, please follow -up via email to ensure we received your original message. Further information, -including the MSRC PGP key, can be found in the -[Security TechCenter](https://technet.microsoft.com/en-us/security/ff852094.aspx). +As noted above, the CoreCLR Repository does not contain all the source code that makes up the .NET Core distribution. +Here is a list of the other repositories that complete the picture. -License -------- +* [dotnet/corefx](https://github.com/dotnet/corefx) - Source for the most common classes in the .NET Framework library. +* [dotnet/core-setup](https://github.com/dotnet/core-setup) - Source code for the dotnet.exe program and the policy logic +to launch basic .NET Core code (hostfxr, hostpolicy) which allow you to say 'dotnet SOME_CORE_CLR_DLL' to run the app. +* [dotnet/cli repo](https://github.com/dotnet/cli) - Source for build time actions supported by dotnet.exe Command line Interface (CLI). +Thus this is the code that runs when you do 'dotnet build', 'dotnet restore' or 'dotnet publish'. +* [dotnet/core-docs](https://github.com/dotnet/core-docs) - Master copy of documentation for +[http://docs.microsoft.com/en-us/dotnet/](https://docs.microsoft.com/en-us/dotnet/) -.NET Core (including the coreclr repo) is licensed under the [MIT license](LICENSE.TXT). - -.NET Foundation ---------------- +## See Also -.NET Core is a [.NET Foundation](http://www.dotnetfoundation.org/projects) project. +* [Dotnet.github.io](http://dotnet.github.io) is a good place to discover .NET Foundation projects. +* .NET Core is a [.NET Foundation](http://www.dotnetfoundation.org/projects) project. +* [.NET home repo](https://github.com/Microsoft/dotnet) links to 100s of .NET projects, from Microsoft and the community. +* The [.NET Core repo](https://github.com/dotnet/core) links to .NET Core related projects from Microsoft. +* The [ASP.NET home repo](https://github.com/aspnet/home) is the best place to start learning about ASP.NET Core. -Related Projects ----------------- +## Important Blog Entries -There are many .NET projects on GitHub. +* [Announcement of .NET Core Open Source Project](http://blogs.msdn.com/b/dotnet/archive/2014/11/12/net-core-is-open-source.aspx) +* [Introducing .NET Core](http://blogs.msdn.com/b/dotnet/archive/2014/12/04/introducing-net-core.aspx) +* [Announcement of CoreCLR](http://blogs.msdn.com/b/dotnet/archive/2015/02/03/coreclr-is-now-open-source.aspx) -- The -[.NET home repo](https://github.com/Microsoft/dotnet) links to 100s of .NET projects, from Microsoft and the community. -- The [.NET Core repo](https://github.com/dotnet/core) links to .NET Core related projects from Microsoft. -- The [ASP.NET home repo](https://github.com/aspnet/home) is the best place to start learning about ASP.NET Core. -- [dotnet.github.io](http://dotnet.github.io) is a good place to discover .NET Foundation projects. +## License -[.NET Core oss]: http://blogs.msdn.com/b/dotnet/archive/2014/11/12/net-core-is-open-source.aspx -[Introducing .NET Core]: http://blogs.msdn.com/b/dotnet/archive/2014/12/04/introducing-net-core.aspx -[coreclr blog post]: http://blogs.msdn.com/b/dotnet/archive/2015/02/03/coreclr-is-now-open-source.aspx -[corefx]: http://github.com/dotnet/corefx -[coreclr]: http://github.com/dotnet/coreclr +.NET Core (including the coreclr repo) is licensed under the [MIT license](LICENSE.TXT). diff --git a/binclash.log b/binclash.log new file mode 100755 index 0000000..e69de29 diff --git a/build-packages.cmd b/build-packages.cmd index 3297bfc..f80e39f 100644 --- a/build-packages.cmd +++ b/build-packages.cmd @@ -1,4 +1,4 @@ -@if "%_echo%" neq "on" echo off +@if not defined _echo @echo off setlocal EnableDelayedExpansion set "__ProjectDir=%~dp0" @@ -7,39 +7,9 @@ set allargs=%* if /I [%1] == [/?] goto Usage if /I [%1] == [/help] goto Usage -call %__ProjectDir%/run.cmd build-packages -Project=%__ProjectDir%/src/.nuget/Microsoft.NETCore.Runtime.CoreClr/Microsoft.NETCore.Runtime.CoreCLR.builds -FilterToOSGroup=Windows_NT %allargs% +call %__ProjectDir%/run.cmd build-packages -Project=%__ProjectDir%\src\.nuget\packages.builds -FilterToOSGroup=Windows_NT %allargs% if NOT [!ERRORLEVEL!]==[0] ( - echo ERROR: An error occurred while building CoreCLR Runtime package, see build-packages.log for more details. - exit /b 1 -) - -call %__ProjectDir%/run.cmd build-packages -Project=%__ProjectDir%/src/.nuget/Microsoft.NETCore.Jit/Microsoft.NETCore.Jit.builds -FilterToOSGroup=Windows_NT %allargs% -if NOT [!ERRORLEVEL!]==[0] ( - echo ERROR: An error occurred while building Jit package, see build-packages.log for more details. - exit /b 1 -) - -call %__ProjectDir%/run.cmd build-packages -Project=%__ProjectDir%/src/.nuget/Microsoft.NETCore.ILAsm/Microsoft.NETCore.ILAsm.builds -FilterToOSGroup=Windows_NT %allargs% -if NOT [!ERRORLEVEL!]==[0] ( - echo ERROR: An error occurred while building ILAsm package, see build-packages.log for more details. - exit /b 1 -) - -call %__ProjectDir%/run.cmd build-packages -Project=%__ProjectDir%/src/.nuget/Microsoft.NETCore.ILDAsm/Microsoft.NETCore.ILDAsm.builds -FilterToOSGroup=Windows_NT %allargs% -if NOT [!ERRORLEVEL!]==[0] ( - echo ERROR: An error occurred while building ILDAsm package, see build-packages.log for more details. - exit /b 1 -) - -call %__ProjectDir%/run.cmd build-packages -Project=%__ProjectDir%/src/.nuget/Microsoft.TargetingPack.Private.CoreCLR/Microsoft.TargetingPack.Private.CoreCLR.pkgproj -FilterToOSGroup=Windows_NT %allargs% -if NOT [!ERRORLEVEL!]==[0] ( - echo ERROR: An error occurred while building CoreCLR TargetingPack package, see build-packages.log for more details. - exit /b 1 -) - -call %__ProjectDir%/run.cmd build-packages -Project=%__ProjectDir%\src\.nuget\Microsoft.NETCore.TestHost\Microsoft.NETCore.TestHost.builds -FilterToOSGroup=Windows_NT %allargs% -if NOT [!ERRORLEVEL!]==[0] ( - echo ERROR: An error occurred while building packages, see %packagesLog% for more details. + echo ERROR: An error occurred while building packages, see build-packages.log for more details. exit /b 1 ) diff --git a/build-packages.sh b/build-packages.sh index 5e03ac2..0dd1035 100755 --- a/build-packages.sh +++ b/build-packages.sh @@ -3,14 +3,56 @@ usage() { echo "Builds the NuGet packages from the binaries that were built in the Build product binaries step." - echo "Usage: build-packages -BuildArch -BuildType" - echo "arch can be x64, x86, arm, arm64 (default is x64)" - echo "configuration can be release, checked, debug (default is debug)" + echo "Usage: build-packages -BuildArch -BuildType [portableLinux]" + echo "BuildArch can be x64, x86, arm, arm64 (default is x64)" + echo "BuildType can be release, checked, debug (default is debug)" + echo "portableLinux - build for Portable Linux Distribution" echo exit 1 } __ProjectRoot="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +__PortableLinux=0 + +# Use uname to determine what the OS is. +OSName=$(uname -s) +case $OSName in + Linux) + __BuildOS=Linux + __HostOS=Linux + ;; + + Darwin) + __BuildOS=OSX + __HostOS=OSX + ;; + + FreeBSD) + __BuildOS=FreeBSD + __HostOS=FreeBSD + ;; + + OpenBSD) + __BuildOS=OpenBSD + __HostOS=OpenBSD + ;; + + NetBSD) + __BuildOS=NetBSD + __HostOS=NetBSD + ;; + + SunOS) + __BuildOS=SunOS + __HostOS=SunOS + ;; + + *) + echo "Unsupported OS $OSName detected, configuring as if for Linux" + __BuildOS=Linux + __HostOS=Linux + ;; +esac unprocessedBuildArgs= @@ -28,46 +70,34 @@ while :; do unprocessedBuildArgs="$unprocessedBuildArgs $1" __Arch=$(echo $1| cut -d'=' -f 2) ;; + + portableLinux) + if [ "$__BuildOS" == "Linux" ]; then + __PortableLinux=1 + else + echo "ERROR: portableLinux not supported for non-Linux platforms." + exit 1 + fi + ;; *) unprocessedBuildArgs="$unprocessedBuildArgs $1" esac shift done -$__ProjectRoot/run.sh build-packages -Project=$__ProjectRoot/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/Microsoft.NETCore.Runtime.CoreCLR.builds -DistroRid=\${OSRid}-$__Arch -UseSharedCompilation=false -BuildNugetPackage=false $unprocessedBuildArgs -if [ $? -ne 0 ] -then - echo "ERROR: An error occurred while building packages; See build-packages.log for more details." - exit 1 -fi - -$__ProjectRoot/run.sh build-packages -Project=$__ProjectRoot/src/.nuget/Microsoft.NETCore.Jit/Microsoft.NETCore.Jit.builds -DistroRid=\${OSRid}-$__Arch -UseSharedCompilation=false -BuildNugetPackage=false $unprocessedBuildArgs -if [ $? -ne 0 ] -then - echo "ERROR: An error occurred while building packages; See build-packages.log for more details." - exit 1 +# Portable builds target the base RID only for Linux based platforms +if [ $__PortableLinux == 1 ]; then + export __DistroRid="linux-$__Arch" +else + export __DistroRid="\${OSRid}-$__Arch" fi -$__ProjectRoot/run.sh build-packages -Project=$__ProjectRoot/src/.nuget/Microsoft.NETCore.ILAsm/Microsoft.NETCore.ILAsm.builds -DistroRid=\${OSRid}-$__Arch -UseSharedCompilation=false -BuildNugetPackage=false $unprocessedBuildArgs +$__ProjectRoot/run.sh build-packages -Project=$__ProjectRoot/src/.nuget/packages.builds -DistroRid=$__DistroRid -UseSharedCompilation=false -BuildNugetPackage=false $unprocessedBuildArgs if [ $? -ne 0 ] then echo "ERROR: An error occurred while building packages; See build-packages.log for more details." exit 1 fi -$__ProjectRoot/run.sh build-packages -Project=$__ProjectRoot/src/.nuget/Microsoft.NETCore.ILDAsm/Microsoft.NETCore.ILDAsm.builds -DistroRid=\${OSRid}-$__Arch -UseSharedCompilation=false -BuildNugetPackage=false $unprocessedBuildArgs -if [ $? -ne 0 ] -then - echo "ERROR: An error occurred while building packages; See build-packages.log for more details." - exit 1 -fi - -# Build the TestHost package -$__ProjectRoot/run.sh build-packages -Project=$__ProjectRoot/src/.nuget/Microsoft.NETCore.TestHost/Microsoft.NETCore.TestHost.builds -DistroRid=\${OSRid}-$__Arch -UseSharedCompilation=false -BuildNugetPackage=false $unprocessedBuildArgs -if [ $? -ne 0 ]; then - echo "ERROR: An error occurred while building packages, see $build_packages_log for more details." - exit 1 -fi - echo "Done building packages." exit 0 diff --git a/build-test.cmd b/build-test.cmd index d22b489..215fb53 100644 --- a/build-test.cmd +++ b/build-test.cmd @@ -1,4 +1,4 @@ -@if not defined __echo @echo off +@if not defined _echo @echo off setlocal EnableDelayedExpansion :: Set the default arguments for build @@ -28,6 +28,9 @@ set "__args= %*" set processedArgs= set __unprocessedBuildArgs= set __RunArgs= +set __BuildAgainstPackages= +set __BuildAgainstPackagesArg= +set __RuntimeId= :Arg_Loop if "%1" == "" goto ArgsDone @@ -48,6 +51,8 @@ if /i "%1" == "checked" (set __BuildType=Checked&set processedArgs if /i "%1" == "skipmanaged" (set __SkipManaged=1&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) if /i "%1" == "updateinvalidpackages" (set __UpdateInvalidPackagesArg=1&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) if /i "%1" == "toolset_dir" (set __ToolsetDir=%2&set __PassThroughArgs=%__PassThroughArgs% %2&set processedArgs=!processedArgs! %1 %2&shift&shift&goto Arg_Loop) +if /i "%1" == "buildagainstpackages" (set __BuildAgainstPackages=1&set __BuildAgainstPackagesArg=-BuildTestsAgainstPackages&shift&goto Arg_Loop) +if /i "%1" == "runtimeid" (set __RuntimeId=%2&set processedArgs=!processedArgs! %1 %2&shift&shift&goto Arg_Loop) if [!processedArgs!]==[] ( call set __UnprocessedBuildArgs=!__args! @@ -93,7 +98,7 @@ if not exist "%__LogsDir%" md "%__LogsDir%" echo %__MsgPrefix%Checking prerequisites :: Eval the output from probe-win1.ps1 -for /f "delims=" %%a in ('powershell -NoProfile -ExecutionPolicy RemoteSigned "& ""%__SourceDir%\pal\tools\probe-win.ps1"""') do %%a +for /f "delims=" %%a in ('powershell -NoProfile -ExecutionPolicy ByPass "& ""%__SourceDir%\pal\tools\probe-win.ps1"""') do %%a REM ========================================================================================= REM === @@ -129,7 +134,7 @@ if defined __ToolsetDir ( :: Set the environment for the native build echo %__MsgPrefix%Using environment: "%__VSToolsRoot%\..\..\VC\vcvarsall.bat" %__VCBuildArch% call "%__VSToolsRoot%\..\..\VC\vcvarsall.bat" %__VCBuildArch% -@if defined __echo @echo on +@if defined _echo @echo on if not defined VSINSTALLDIR ( echo %__MsgPrefix%Error: VSINSTALLDIR variable not defined. @@ -141,7 +146,7 @@ if not exist "%VSINSTALLDIR%DIA SDK" goto NoDIA pushd "%__NativeTestIntermediatesDir%" call "%__SourceDir%\pal\tools\gen-buildsys-win.bat" ""%__ProjectFilesDir%"" %__VSVersion% %__BuildArch% -@if defined __echo @echo on +@if defined _echo @echo on popd if not exist "%__NativeTestIntermediatesDir%\install.vcxproj" ( @@ -176,21 +181,56 @@ if errorlevel 1 ( :skipnative -if defined __SkipManaged exit /b 0 +set __BuildLogRootName=Restore_Product +set __BuildLog=%__LogsDir%\%__BuildLogRootName%_%__BuildOS%__%__BuildArch%__%__BuildType%.log +set __BuildWrn=%__LogsDir%\%__BuildLogRootName%_%__BuildOS%__%__BuildArch%__%__BuildType%.wrn +set __BuildErr=%__LogsDir%\%__BuildLogRootName%_%__BuildOS%__%__BuildArch%__%__BuildType%.err +set __msbuildLog=/flp:Verbosity=normal;LogFile="%__BuildLog%" +set __msbuildWrn=/flp1:WarningsOnly;LogFile="%__BuildWrn%" +set __msbuildErr=/flp2:ErrorsOnly;LogFile="%__BuildErr%" +if not defined __BuildAgainstPackages goto SkipRestoreProduct REM ========================================================================================= REM === -REM === Managed test build section +REM === Restore product binaries from packages REM === REM ========================================================================================= -echo %__MsgPrefix%Starting the Managed Tests Build +set "__TestWorkingDir=%__RootBinDir%\tests\%__BuildOS%.%__BuildArch%.%__BuildType%" +if not defined XunitTestBinBase set XunitTestBinBase=%__TestWorkingDir% +set "CORE_ROOT=%XunitTestBinBase%\Tests\Core_Root" +set "CORE_OVERLAY=%XunitTestBinBase%\Tests\coreoverlay" -if not defined VSINSTALLDIR ( - echo %__MsgPrefix%Error: buildtest.cmd should be run from a Visual Studio Command Prompt. Please see https://github.com/dotnet/coreclr/blob/master/Documentation/project-docs/developer-guide.md for build instructions. +call %__ProjectDir%\run.cmd build -Project=%__ProjectDir%\tests\build.proj -UpdateDependencies -BatchRestorePackages -MsBuildLog=!__msbuildLog! -MsBuildWrn=!__msbuildWrn! -MsBuildErr=!__msbuildErr! %__RunArgs% %__BuildAgainstPackagesArg% %__unprocessedBuildArgs% + +set __BuildLogRootName=Tests_GenerateRuntimeLayout + +call %__ProjectDir%\run.cmd build -Project=%__ProjectDir%\tests\runtest.proj -BinPlaceRef -BinPlaceProduct -CopyCrossgenToProduct -MsBuildLog=!__msbuildLog! -MsBuildWrn=!__msbuildWrn! -MsBuildErr=!__msbuildErr! %__RunArgs% %__BuildAgainstPackagesArg% %__unprocessedBuildArgs% +if errorlevel 1 ( + echo BinPlace of mscorlib.dll failed exit /b 1 ) +if defined __RuntimeId ( + + if not exist %__PackagesDir%\TestNativeBins ( + echo %__MsgPrefix%Error: Ensure you have run sync.cmd -ab before building a non-Windows test overlay against packages + exit /b 1 + ) + + call %__ProjectDir%\run.cmd build -Project=%__ProjectDir%\tests\runtest.proj -CreateNonWindowsTestOverlay -RuntimeId="%__RuntimeId%" -MsBuildLog=!__msbuildLog! -MsBuildWrn=!__msbuildWrn! -MsBuildErr=!__msbuildErr! %__RunArgs% %__BuildAgainstPackagesArg% %__unprocessedBuildArgs% + for /R %__PackagesDir%\TestNativeBins\%__RuntimeId% %%f in (*.so) do copy %%f %Core_Overlay% + for /R %__PackagesDir%\TestNativeBins\%__RuntimeId% %%f in (*.dylib) do copy %%f %Core_Overlay% + + echo %__MsgPrefix% Created the runtime layout for %__RuntimeId% in %CORE_OVERLAY% +) + +echo %__MsgPrefix% Created the runtime layout with all dependencies in %CORE_ROOT% + +:SkipRestoreProduct + +if defined __SkipManaged exit /b 0 + set __BuildLogRootName=Tests_Managed set __BuildLog=%__LogsDir%\%__BuildLogRootName%_%__BuildOS%__%__BuildArch%__%__BuildType%.log set __BuildWrn=%__LogsDir%\%__BuildLogRootName%_%__BuildOS%__%__BuildArch%__%__BuildType%.wrn @@ -199,6 +239,19 @@ set __msbuildLog=/flp:Verbosity=normal;LogFile="%__BuildLog%" set __msbuildWrn=/flp1:WarningsOnly;LogFile="%__BuildWrn%" set __msbuildErr=/flp2:ErrorsOnly;LogFile="%__BuildErr%" +REM ========================================================================================= +REM === +REM === Managed test build section +REM === +REM ========================================================================================= + +echo %__MsgPrefix%Starting the Managed Tests Build + +if not defined VSINSTALLDIR ( + echo %__MsgPrefix%Error: buildtest.cmd should be run from a Visual Studio Command Prompt. Please see https://github.com/dotnet/coreclr/blob/master/Documentation/project-docs/developer-guide.md for build instructions. + exit /b 1 +) + if defined __UpdateInvalidPackagesArg ( set __up=-updateinvalidpackageversions ) @@ -253,6 +306,17 @@ echo. -? -h -help: view this message. echo Build architecture: -buildArch: only x64 is currently allowed ^(default: x64^). echo Build type: -buildType: one of Debug, Checked, Release ^(default: Debug^). echo updateinvalidpackageversions: Runs the target to update package versions. +echo buildagainstpackages: builds tests against restored packages, instead of against a built product. +echo runtimeid ^: Builds a test overlay for the specified OS (Only supported when building against packages). Supported IDs are: +echo debian.8-x64: Builds overlay for Debian 8 +echo fedora.23-x64: Builds overlay for Fedora 23 +echo opensuse.13.2-x64: Builds overlay for OpenSUSE 13.2 +echo opensuse.42.1-x64: Builds overlay for OpenSUSE 42.1 +echo osx.10.10-x64: Builds overlay for OSX 10.10 +echo rhel.7-x64: Builds overlay for RHEL 7 or CentOS +echo ubuntu.14.04-x64: Builds overlay for Ubuntu 14.04 +echo ubuntu.16.04-x64: Builds overlay for Ubuntu 16.04 +echo ubuntu.16.10-x64: Builds overlay for Ubuntu 16.10 echo -- ... : all arguments following this tag will be passed directly to msbuild. echo -priority=^ : specify a set of test that will be built and run, with priority N. echo 0: Build only priority 0 cases as essential testcases (default) diff --git a/build.cmd b/build.cmd index 2dc479c..f8c49e3 100644 --- a/build.cmd +++ b/build.cmd @@ -1,6 +1,7 @@ -@if not defined __echo @echo off +@if not defined _echo @echo off setlocal EnableDelayedExpansion EnableExtensions +echo Starting Build at %TIME% set __ThisScriptFull="%~f0" set __VSToolsRoot=%VS140COMNTOOLS% :: Note that the msbuild project files (specifically, dir.proj) will use the following variables, if set: @@ -51,6 +52,7 @@ set __BuildTypeDebug=0 set __BuildTypeChecked=0 set __BuildTypeRelease=0 set __BuildJit32="-DBUILD_JIT32=0" +set __BuildStandaloneGC="-DFEATURE_STANDALONE_GC=0" set __PgoInstrument=0 @@ -107,6 +109,12 @@ if /i "%1" == "usenmakemakefiles" (set __NMakeMakefiles=1&set __ConfigureOnly= if /i "%1" == "buildjit32" (set __BuildJit32="-DBUILD_JIT32=1"&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) if /i "%1" == "pgoinstrument" (set __PgoInstrument=1&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) if /i "%1" == "toolset_dir" (set __ToolsetDir=%2&set __PassThroughArgs=%__PassThroughArgs% %2&set processedArgs=!processedArgs! %1 %2&shift&shift&goto Arg_Loop) +if /i "%1" == "compatjitcrossgen" (set __CompatJitCrossgen=1&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) +if /i "%1" == "legacyjitcrossgen" (set __LegacyJitCrossgen=1&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) +if /i "%1" == "buildstandalonegc" (set __BuildStandaloneGC="-DFEATURE_STANDALONE_GC=1"&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) + +@REM The following can be deleted once the CI system that passes it is updated to not pass it. +if /i "%1" == "altjitcrossgen" (set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) if [!processedArgs!]==[] ( call set __UnprocessedBuildArgs=!__args! @@ -170,13 +178,18 @@ if not exist "%__BinDir%" md "%__BinDir%" if not exist "%__IntermediatesDir%" md "%__IntermediatesDir%" if not exist "%__LogsDir%" md "%__LogsDir%" +REM It is convinient to have your Nuget search path include the location where the build +REM will plass packages. However nuget used during the build will fail if that directory +REM does not exist. Avoid this in at least one case by agressively creating the directory. +if not exist "%__BinDir%\.nuget\pkg" md "%__BinDir%\.nuget\pkg" + echo %__MsgPrefix%Commencing CoreCLR Repo build :: Set the remaining variables based upon the determined build configuration echo %__MsgPrefix%Checking prerequisites :: Eval the output from probe-win1.ps1 -for /f "delims=" %%a in ('powershell -NoProfile -ExecutionPolicy RemoteSigned "& ""%__SourceDir%\pal\tools\probe-win.ps1"""') do %%a +for /f "delims=" %%a in ('powershell -NoProfile -ExecutionPolicy ByPass "& ""%__SourceDir%\pal\tools\probe-win.ps1"""') do %%a REM ========================================================================================= REM === @@ -191,15 +204,6 @@ call "%__VSToolsRoot%\VsDevCmd.bat" REM ========================================================================================= REM === -REM === Restore optimization profile data -REM === -REM ========================================================================================= - -echo %__MsgPrefix%Restoring the OptimizationData Package -@call %__ProjectDir%\run.cmd sync -optdata - -REM ========================================================================================= -REM === REM === Build the CLR VM REM === REM ========================================================================================= @@ -224,25 +228,32 @@ if %__BuildNative% EQU 1 ( :: Set the environment for the native build set __VCBuildArch=x86_amd64 if /i "%__BuildArch%" == "x86" ( set __VCBuildArch=x86 ) - if /i "%__BuildArch%" == "arm" (set __VCBuildArch=x86_arm) + if /i "%__BuildArch%" == "arm" ( + set __VCBuildArch=x86_arm + + REM Make CMake pick the highest installed version in the 10.0.* range + set ___SDKVersion="-DCMAKE_SYSTEM_VERSION=10.0" + ) + echo %__MsgPrefix%Using environment: "%__VSToolsRoot%\..\..\VC\vcvarsall.bat" !__VCBuildArch! call "%__VSToolsRoot%\..\..\VC\vcvarsall.bat" !__VCBuildArch! - @if defined __echo @echo on + @if defined _echo @echo on if not defined VSINSTALLDIR ( echo %__MsgPrefix%Error: VSINSTALLDIR variable not defined. exit /b 1 ) if not exist "!VSINSTALLDIR!DIA SDK" goto NoDIA + :GenVSSolution if defined __SkipConfigure goto SkipConfigure echo %__MsgPrefix%Regenerating the Visual Studio solution pushd "%__IntermediatesDir%" - set __ExtraCmakeArgs="-DCLR_CMAKE_TARGET_OS=%__BuildOs%" "-DCLR_CMAKE_PACKAGES_DIR=%__PackagesDir%" "-DCLR_CMAKE_PGO_INSTRUMENT=%__PgoInstrument%" - call "%__SourceDir%\pal\tools\gen-buildsys-win.bat" "%__ProjectDir%" %__VSVersion% %__BuildArch% %__BuildJit32% !__ExtraCmakeArgs! - @if defined __echo @echo on + set __ExtraCmakeArgs=!___SDKVersion! "-DCLR_CMAKE_TARGET_OS=%__BuildOs%" "-DCLR_CMAKE_PACKAGES_DIR=%__PackagesDir%" "-DCLR_CMAKE_PGO_INSTRUMENT=%__PgoInstrument%" + call "%__SourceDir%\pal\tools\gen-buildsys-win.bat" "%__ProjectDir%" %__VSVersion% %__BuildArch% %__BuildJit32% %__BuildStandaloneGC% !__ExtraCmakeArgs! + @if defined _echo @echo on popd :SkipConfigure if defined __ConfigureOnly goto SkipNativeBuild @@ -286,7 +297,7 @@ if /i "%__DoCrossArchBuild%"=="1" ( set __VCBuildArch=x86_amd64 if /i "%__CrossArch%" == "x86" ( set __VCBuildArch=x86 ) @call "%__VSToolsRoot%\..\..\VC\vcvarsall.bat" !__VCBuildArch! - @if defined __echo @echo on + @if defined _echo @echo on if not exist "%__CrossCompIntermediatesDir%" md "%__CrossCompIntermediatesDir%" if defined __SkipConfigure goto SkipConfigureCrossBuild @@ -296,7 +307,7 @@ if /i "%__DoCrossArchBuild%"=="1" ( set "__CMakeBinDir=!__CMakeBinDir:\=/!" set __ExtraCmakeArgs="-DCLR_CROSS_COMPONENTS_BUILD=1" "-DCLR_CMAKE_TARGET_ARCH=%__BuildArch%" "-DCLR_CMAKE_TARGET_OS=%__BuildOs%" "-DCLR_CMAKE_PACKAGES_DIR=%__PackagesDir%" "-DCLR_CMAKE_PGO_INSTRUMENT=%__PgoInstrument%" call "%__SourceDir%\pal\tools\gen-buildsys-win.bat" "%__ProjectDir%" %__VSVersion% %__CrossArch% !__ExtraCmakeArgs! - @if defined __echo @echo on + @if defined _echo @echo on popd :SkipConfigureCrossBuild if not exist "%__CrossCompIntermediatesDir%\install.vcxproj" ( @@ -357,13 +368,32 @@ if %__BuildCoreLib% EQU 1 ( ) ) +REM Need diasymreader.dll on your path for /CreatePdb +set PATH=%PATH%;%WinDir%\Microsoft.Net\Framework64\V4.0.30319;%WinDir%\Microsoft.Net\Framework\V4.0.30319 + if %__BuildNativeCoreLib% EQU 1 ( echo %__MsgPrefix%Generating native image of System.Private.CoreLib for %__BuildOS%.%__BuildArch%.%__BuildType% - + + if "%__CompatJitCrossgen%"=="1" ( + set COMPlus_UseWindowsX86CoreLegacyJit=1 + ) + + if "%__LegacyJitCrossgen%"=="1" ( + set COMPlus_AltJit=* + set COMPlus_AltJitNgen=* + set COMPlus_AltJitName=legacyjit.dll + ) + echo "%__CrossgenExe%" /Platform_Assemblies_Paths "%__BinDir%" /out "%__BinDir%\System.Private.CoreLib.ni.dll" "%__BinDir%\System.Private.CoreLib.dll" "%__CrossgenExe%" /Platform_Assemblies_Paths "%__BinDir%" /out "%__BinDir%\System.Private.CoreLib.ni.dll" "%__BinDir%\System.Private.CoreLib.dll" > "%__CrossGenCoreLibLog%" 2>&1 if NOT !errorlevel! == 0 ( - echo %__MsgPrefix%Error: CrossGen System.Private.CoreLib build failed. Refer to the build log file for details: + echo %__MsgPrefix%Error: CrossGen System.Private.CoreLib build failed. Refer to %__CrossGenCoreLibLog% + echo %__CrossGenCoreLibLog% + exit /b 1 + ) + "%__CrossgenExe%" /Platform_Assemblies_Paths "%__BinDir%" /CreatePdb "%__BinDir%\PDB" "%__BinDir%\System.Private.CoreLib.ni.dll" >> "%__CrossGenCoreLibLog%" 2>&1 + if NOT !errorlevel! == 0 ( + echo %__MsgPrefix%Error: CrossGen /CreatePdb System.Private.CoreLib build failed. Refer to %__CrossGenCoreLibLog% echo %__CrossGenCoreLibLog% exit /b 1 ) @@ -372,8 +402,21 @@ if %__BuildNativeCoreLib% EQU 1 ( set "__CrossGenCoreLibLog=%__LogsDir%\CrossgenMSCoreLib_%__BuildOS%__%__BuildArch%__%__BuildType%.log" set "__CrossgenExe=%__CrossComponentBinDir%\crossgen.exe" + "!__CrossgenExe!" /Platform_Assemblies_Paths "%__BinDir%" /out "%__BinDir%\mscorlib.ni.dll" "%__BinDir%\mscorlib.dll" > "!__CrossGenCoreLibLog!" 2>&1 - if NOT !errorlevel! == 0 ( + set err=!errorlevel! + + if "%__CompatJitCrossgen%"=="1" ( + set COMPlus_UseWindowsX86CoreLegacyJit= + ) + + if "%__LegacyJitCrossgen%"=="1" ( + set COMPlus_AltJit= + set COMPlus_AltJitNgen= + set COMPlus_AltJitName= + ) + + if NOT !err! == 0 ( echo %__MsgPrefix%Error: CrossGen mscorlib facade build failed. Refer to the build log file for details: echo !__CrossGenCoreLibLog! exit /b 1 @@ -381,6 +424,8 @@ if %__BuildNativeCoreLib% EQU 1 ( ) if %__BuildPackages% EQU 1 ( + echo %__MsgPrefix%Building Packages for %__BuildOS%.%__BuildArch%.%__BuildType% + set __MsbuildLog=/flp:Verbosity=normal;LogFile="%__LogsDir%\Nuget_%__BuildOS%__%__BuildArch%__%__BuildType%.log" set __MsbuildWrn=/flp1:WarningsOnly;LogFile="%__LogsDir%\Nuget_%__BuildOS%__%__BuildArch%__%__BuildType%.wrn" set __MsbuildErr=/flp2:ErrorsOnly;LogFile="%__LogsDir%\Nuget_%__BuildOS%__%__BuildArch%__%__BuildType%.err" @@ -427,7 +472,7 @@ REM === All builds complete! REM === REM ========================================================================================= -echo %__MsgPrefix%Repo successfully built. +echo %__MsgPrefix%Repo successfully built. Finished at %TIME% echo %__MsgPrefix%Product binaries are available at !__BinDir! if %__BuildTests% EQU 1 ( echo %__MsgPrefix%Test binaries are available at !__TestBinDir! diff --git a/build.proj b/build.proj index c8d7a5d..7df2904 100644 --- a/build.proj +++ b/build.proj @@ -24,10 +24,6 @@ - - - - diff --git a/build.sh b/build.sh index e639ca0..ca27844 100755 --- a/build.sh +++ b/build.sh @@ -42,6 +42,7 @@ usage() echo "skipmscorlib - do not build mscorlib.dll." echo "skiptests - skip the tests in the 'tests' subdirectory." echo "skipnuget - skip building nuget packages." + echo "portableLinux - build for Portable Linux Distribution" echo "verbose - optional argument to enable verbose build output." echo "-skiprestore: skip restoring packages ^(default: packages are restored during build^)." echo "-disableoss: Disable Open Source Signing for System.Private.CoreLib." @@ -56,19 +57,41 @@ usage() exit 1 } -initDistroRid() +initHostDistroRid() { - if [ "$__BuildOS" == "Linux" ]; then + if [ "$__HostOS" == "Linux" ]; then if [ ! -e /etc/os-release ]; then echo "WARNING: Can not determine runtime id for current distro." - export __DistroRid="" + __HostDistroRid="" else source /etc/os-release - export __DistroRid="$ID.$VERSION_ID-$__HostArch" + __HostDistroRid="$ID.$VERSION_ID-$__HostArch" fi fi } +initTargetDistroRid() +{ + if [ $__CrossBuild == 1 ]; then + if [ "$__BuildOS" == "Linux" ]; then + if [ ! -e $ROOTFS_DIR/etc/os-release ]; then + echo "WARNING: Can not determine runtime id for current distro." + export __DistroRid="" + else + source $ROOTFS_DIR/etc/os-release + export __DistroRid="$ID.$VERSION_ID-$__BuildArch" + fi + fi + else + export __DistroRid="$__HostDistroRid" + fi + + # Portable builds target the base RID only for Linux based platforms + if [ $__PortableLinux == 1 ]; then + export __DistroRid="linux-$__BuildArch" + fi +} + setup_dirs() { echo Setting up directories for build @@ -77,6 +100,11 @@ setup_dirs() mkdir -p "$__BinDir" mkdir -p "$__LogsDir" mkdir -p "$__IntermediatesDir" + + if [ $__CrossBuild == 1 ]; then + mkdir -p "$__CrossComponentBinDir" + mkdir -p "$__CrossCompIntermediatesDir" + fi } # Check the system to ensure the right prereqs are in place @@ -93,11 +121,10 @@ check_prereqs() } -build_coreclr() -{ +generate_event_logging_sources() +{ if [ $__SkipCoreCLR == 1 ]; then - echo "Skipping CoreCLR build." return fi @@ -143,10 +170,23 @@ build_coreclr() fi rm -rf "$__GeneratedIntermediateEventProvider" +} - # All set to commence the build +build_native() +{ + skipCondition=$1 + platformArch="$2" + intermediatesForBuild="$3" + extraCmakeArguments="$4" + message="$5" + + if [ $skipCondition == 1 ]; then + echo "Skipping $message build." + return + fi - echo "Commencing build of native components for $__BuildOS.$__BuildArch.$__BuildType in $__IntermediatesDir" + # All set to commence the build + echo "Commencing build of $message for $__BuildOS.$__BuildArch.$__BuildType in $intermediatesForBuild" generator="" buildFile="Makefile" @@ -167,34 +207,34 @@ build_coreclr() if [ $__SkipConfigure == 0 ]; then # if msbuild is not supported, then set __SkipGenerateVersion to 1 if [ $__isMSBuildOnNETCoreSupported == 0 ]; then __SkipGenerateVersion=1; fi - # Drop version.c file - __versionSourceFile=$__IntermediatesDir/version.cpp + # Drop version.cpp file + __versionSourceFile="$intermediatesForBuild/version.cpp" if [ $__SkipGenerateVersion == 0 ]; then + pwd "$__ProjectRoot/run.sh" build -Project=$__ProjectDir/build.proj -generateHeaderUnix -NativeVersionSourceFile=$__versionSourceFile $__RunArgs $__UnprocessedBuildArgs else + # Generate the dummy version.cpp, but only if it didn't exist to make sure we don't trigger unnecessary rebuild __versionSourceLine="static char sccsid[] __attribute__((used)) = \"@(#)No version information produced\";" - echo $__versionSourceLine > $__versionSourceFile + if [ -e $__versionSourceFile ]; then + read existingVersionSourceLine < $__versionSourceFile + fi + if [ "$__versionSourceLine" != "$existingVersionSourceLine" ]; then + echo $__versionSourceLine > $__versionSourceFile + fi fi - echo "Restoring the OptimizationData package" - "$__ProjectRoot/run.sh" sync -optdata - - pushd "$__IntermediatesDir" + pushd "$intermediatesForBuild" # Regenerate the CMake solution - __ExtraCmakeArgs="-DCLR_CMAKE_TARGET_OS=$__BuildOS -DCLR_CMAKE_PACKAGES_DIR=$__PackagesDir -DCLR_CMAKE_PGO_INSTRUMENT=$__PgoInstrument" - echo "Invoking \"$__ProjectRoot/src/pal/tools/gen-buildsys-clang.sh\" \"$__ProjectRoot\" $__ClangMajorVersion $__ClangMinorVersion $__BuildArch $__BuildType $__CodeCoverage $__IncludeTests $generator $__ExtraCmakeArgs $__cmakeargs" - "$__ProjectRoot/src/pal/tools/gen-buildsys-clang.sh" "$__ProjectRoot" $__ClangMajorVersion $__ClangMinorVersion $__BuildArch $__BuildType $__CodeCoverage $__IncludeTests $generator "$__ExtraCmakeArgs" "$__cmakeargs" + echo "Invoking \"$__ProjectRoot/src/pal/tools/gen-buildsys-clang.sh\" \"$__ProjectRoot\" $__ClangMajorVersion $__ClangMinorVersion $platformArch $__BuildType $__CodeCoverage $__IncludeTests $generator $extraCmakeArguments $__cmakeargs" + "$__ProjectRoot/src/pal/tools/gen-buildsys-clang.sh" "$__ProjectRoot" $__ClangMajorVersion $__ClangMinorVersion $platformArch $__BuildType $__CodeCoverage $__IncludeTests $generator "$extraCmakeArguments" "$__cmakeargs" popd fi - # Check that the makefiles were created. - pushd "$__IntermediatesDir" - - if [ ! -f "$__IntermediatesDir/$buildFile" ]; then - echo "Failed to generate native component build project!" + if [ ! -f "$intermediatesForBuild/$buildFile" ]; then + echo "Failed to generate $message build project!" exit 1 fi - + # Get the number of processors available to the scheduler # Other techniques such as `nproc` only get the number of # processors available to a single process. @@ -206,21 +246,24 @@ build_coreclr() NumProc=$(($(getconf _NPROCESSORS_ONLN)+1)) fi - # Build CoreCLR - + # Build if [ $__ConfigureOnly == 1 ]; then - echo "Skipping CoreCLR build." + echo "Finish configuration & skipping $message build." return fi + # Check that the makefiles were created. + pushd "$intermediatesForBuild" + echo "Executing $buildTool install -j $NumProc" $buildTool install -j $NumProc if [ $? != 0 ]; then - echo "Failed to build coreclr components." + echo "Failed to build $message." exit 1 fi - popd + + popd } isMSBuildOnNETCoreSupported() @@ -230,7 +273,7 @@ isMSBuildOnNETCoreSupported() if [ "$__HostArch" == "x64" ]; then if [ "$__HostOS" == "Linux" ]; then - case "$__DistroRid" in + case "$__HostDistroRid" in "centos.7-x64") __isMSBuildOnNETCoreSupported=1 ;; @@ -261,6 +304,9 @@ isMSBuildOnNETCoreSupported() "ubuntu.16.10-x64") __isMSBuildOnNETCoreSupported=1 ;; + "alpine.3.4.3-x64") + __isMSBuildOnNETCoreSupported=1 + ;; *) esac elif [ "$__HostOS" == "OSX" ]; then @@ -475,9 +521,12 @@ __CrossBuild=0 __ClangMajorVersion=0 __ClangMinorVersion=0 __NuGetPath="$__PackagesDir/NuGet.exe" +__HostDistroRid="" __DistroRid="" __cmakeargs="" __SkipGenerateVersion=0 +__DoCrossArchBuild=0 +__PortableLinux=0 while :; do if [ $# -le 0 ]; then @@ -530,8 +579,17 @@ while :; do cross) __CrossBuild=1 ;; - - verbose) + + portablelinux) + if [ "$__BuildOS" == "Linux" ]; then + __PortableLinux=1 + else + echo "ERROR: portableLinux not supported for non-Linux platforms." + exit 1 + fi + ;; + + verbose) __VerboseBuild=1 ;; @@ -572,7 +630,6 @@ while :; do __ConfigureOnly=1 __SkipMSCorLib=1 __SkipNuget=1 - __IncludeTests= ;; skipconfigure) @@ -589,6 +646,10 @@ while :; do __SkipCoreCLR=1 ;; + crosscomponent) + __DoCrossArchBuild=1 + ;; + skipmscorlib) __SkipMSCorLib=1 ;; @@ -664,8 +725,8 @@ fi # Set dependent variables __LogsDir="$__RootBinDir/Logs" -# init the distro name -initDistroRid +# init the host distro name +initHostDistroRid # Set the remaining variables based upon the determined build configuration __BinDir="$__RootBinDir/Product/$__BuildOS.$__BuildArch.$__BuildType" @@ -675,6 +736,18 @@ __TestWorkingDir="$__RootBinDir/tests/$__BuildOS.$__BuildArch.$__BuildType" export __IntermediatesDir="$__RootBinDir/obj/$__BuildOS.$__BuildArch.$__BuildType" __TestIntermediatesDir="$__RootBinDir/tests/obj/$__BuildOS.$__BuildArch.$__BuildType" __isMSBuildOnNETCoreSupported=0 +__CrossComponentBinDir="$__BinDir" +__CrossCompIntermediatesDir="$__IntermediatesDir/crossgen" + +__CrossArch="$__HostArch" +if [[ "$__HostArch" == "x64" && "$__BuildArch" == "arm" ]]; then + __CrossArch="x86" +fi +if [ $__CrossBuild == 1 ]; then + __CrossComponentBinDir="$__CrossComponentBinDir/$__CrossArch" +fi +__CrossgenCoreLibLog="$__LogsDir/CrossgenCoreLib_$__BuildOS.$BuildArch.$__BuildType.log" +__CrossgenExe="$__CrossComponentBinDir/crossgen" # Init if MSBuild for .NET Core is supported for this platform isMSBuildOnNETCoreSupported @@ -701,17 +774,37 @@ if [ $__CrossBuild == 1 ]; then fi fi -# Make the directories necessary for build if they don't exist +# init the target distro name +initTargetDistroRid +# Make the directories necessary for build if they don't exist setup_dirs # Check prereqs. - check_prereqs +# Generate event logging infrastructure sources +generate_event_logging_sources + # Build the coreclr (native) components. +__ExtraCmakeArgs="-DCLR_CMAKE_TARGET_OS=$__BuildOS -DCLR_CMAKE_PACKAGES_DIR=$__PackagesDir -DCLR_CMAKE_PGO_INSTRUMENT=$__PgoInstrument" +build_native $__SkipCoreCLR "$__BuildArch" "$__IntermediatesDir" "$__ExtraCmakeArgs" "CoreCLR component" -build_coreclr +# Build cross-architecture components +if [ $__CrossBuild == 1 ]; then + __SkipCrossArchBuild=1 + if [ $__DoCrossArchBuild == 1 ]; then + # build cross-architecture components for x86-host/arm-target + if [[ "$__BuildArch" == "arm" && "$__CrossArch" == "x86" ]]; then + __SkipCrossArchBuild=0 + fi + fi + + export __CMakeBinDir="$__CrossComponentBinDir" + export CROSSCOMPONENT=1 + __ExtraCmakeArgs="-DCLR_CMAKE_TARGET_ARCH=$__BuildArch -DCLR_CMAKE_TARGET_OS=$__BuildOS -DCLR_CMAKE_PACKAGES_DIR=$__PackagesDir -DCLR_CMAKE_PGO_INSTRUMENT=$__PgoInstrument" + build_native $__SkipCrossArchBuild "$__CrossArch" "$__CrossCompIntermediatesDir" "$__ExtraCmakeArgs" "cross-architecture component" +fi # Build System.Private.CoreLib. diff --git a/clean.cmd b/clean.cmd index 50e709e..42b9e59 100644 --- a/clean.cmd +++ b/clean.cmd @@ -1,4 +1,4 @@ -@if not defined __echo @echo off +@if not defined _echo @echo off setlocal EnableDelayedExpansion echo Running clean.cmd diff --git a/clr.coreclr.props b/clr.coreclr.props index 50b3b4f..447b302 100644 --- a/clr.coreclr.props +++ b/clr.coreclr.props @@ -21,6 +21,7 @@ true true true + true true true true @@ -33,6 +34,7 @@ true true true + true true true true @@ -49,6 +51,7 @@ true true + true true true diff --git a/clr.defines.targets b/clr.defines.targets index 9667a77..a45d0dd 100644 --- a/clr.defines.targets +++ b/clr.defines.targets @@ -92,11 +92,13 @@ $(CDefines);FEATURE_RWLOCK $(CDefines);FEATURE_SERIALIZATION $(CDefines);FEATURE_SORT_TABLES + $(CDefines);FEATURE_SPAN_OF_T $(CDefines);FEATURE_STACK_PROBE $(CDefines);FEATURE_STANDALONE_SN $(CDefines);FEATURE_STRONGNAME_DELAY_SIGNING_ALLOWED $(CDefines);FEATURE_STRONGNAME_MIGRATION $(CDefines);FEATURE_SVR_GC + $(CDefines);FEATURE_SYNCHRONIZATIONCONTEXT_WAIT $(CDefines);FEATURE_PERFMAP $(CDefines);FEATURE_SYNCHRONIZATIONCONTEXT_WAIT $(CDefines);FEATURE_SYNTHETIC_CULTURES @@ -187,6 +189,7 @@ $(DefineConstants);FEATURE_RWLOCK $(DefineConstants);FEATURE_SERIALIZATION $(DefineConstants);FEATURE_SORT_TABLES + $(DefineConstants);FEATURE_SPAN_OF_T $(DefineConstants);FEATURE_STRONGNAME_MIGRATION $(DefineConstants);FEATURE_SYNCHRONIZATIONCONTEXT_WAIT $(DefineConstants);FEATURE_SYNTHETIC_CULTURES diff --git a/clrdefinitions.cmake b/clrdefinitions.cmake index b61ab8f..91346ec 100644 --- a/clrdefinitions.cmake +++ b/clrdefinitions.cmake @@ -61,6 +61,12 @@ if (CLR_CMAKE_PLATFORM_UNIX) endif(CLR_CMAKE_PLATFORM_UNIX) +if(CLR_CMAKE_PLATFORM_ALPINE_LINUX) + # Alpine Linux doesn't have fixed stack limit, this define disables some stack pointer + # sanity checks in debug / checked build that rely on a fixed stack limit + add_definitions(-DNO_FIXED_STACK_LIMIT) +endif(CLR_CMAKE_PLATFORM_ALPINE_LINUX) + add_definitions(-D_BLD_CLR) add_definitions(-DDEBUGGING_SUPPORTED) add_definitions(-DPROFILING_SUPPORTED) @@ -118,12 +124,16 @@ if(CLR_CMAKE_PLATFORM_UNIX) add_definitions(-DFEATURE_EVENTSOURCE_XPLAT=1) endif(CLR_CMAKE_PLATFORM_UNIX) add_definitions(-DFEATURE_EXCEPTIONDISPATCHINFO) +add_definitions(-DFEATURE_EXCEPTION_NOTIFICATIONS) # NetBSD doesn't implement this feature if(NOT CMAKE_SYSTEM_NAME STREQUAL NetBSD) add_definitions(-DFEATURE_HIJACK) endif(NOT CMAKE_SYSTEM_NAME STREQUAL NetBSD) add_definitions(-DFEATURE_HOST_ASSEMBLY_RESOLVER) add_definitions(-DFEATURE_ICASTABLE) +if (WIN32 AND (CLR_CMAKE_TARGET_ARCH_AMD64 OR CLR_CMAKE_TARGET_ARCH_I386)) +add_definitions(-DFEATURE_INTEROP_DEBUGGING) +endif (WIN32 AND (CLR_CMAKE_TARGET_ARCH_AMD64 OR CLR_CMAKE_TARGET_ARCH_I386)) if (CLR_CMAKE_PLATFORM_UNIX OR CLR_CMAKE_TARGET_ARCH_ARM64) add_definitions(-DFEATURE_IMPLICIT_TLS) set(FEATURE_IMPLICIT_TLS 1) @@ -157,6 +167,10 @@ add_definitions(-DFEATURE_RANDOMIZED_STRING_HASHING) add_definitions(-DFEATURE_READYTORUN) set(FEATURE_READYTORUN 1) +if (FEATURE_STANDALONE_GC) + add_definitions(-DFEATURE_STANDALONE_GC) +endif(FEATURE_STANDALONE_GC) + if (CLR_CMAKE_TARGET_ARCH_AMD64 OR CLR_CMAKE_TARGET_ARCH_I386) add_definitions(-DFEATURE_REJIT) endif(CLR_CMAKE_TARGET_ARCH_AMD64 OR CLR_CMAKE_TARGET_ARCH_I386) @@ -169,6 +183,7 @@ if (CLR_CMAKE_PLATFORM_UNIX OR CLR_CMAKE_TARGET_ARCH_ARM64) endif () add_definitions(-DFEATURE_SVR_GC) add_definitions(-DFEATURE_SYMDIFF) +add_definitions(-DFEATURE_SYNCHRONIZATIONCONTEXT_WAIT) add_definitions(-DFEATURE_SYNTHETIC_CULTURES) if(CLR_CMAKE_PLATFORM_UNIX_AMD64) add_definitions(-DFEATURE_MULTIREG_RETURN) @@ -192,3 +207,5 @@ add_definitions(-DFEATURE_WINMD_RESILIENT) add_definitions(-D_SECURE_SCL=0) add_definitions(-DUNICODE) add_definitions(-D_UNICODE) + +add_definitions(-DFEATURE_SPAN_OF_T) diff --git a/config.json b/config.json index d25fdba..1849272 100644 --- a/config.json +++ b/config.json @@ -24,6 +24,12 @@ "values": [], "defaultValue": "" }, + "__Container": { + "description": "Container name for Azure upload.", + "valueType": "property", + "values": [], + "defaultValue": "" + }, "MsBuildFileLogging": { "description": "MsBuild logging options.", "valueType": "passThrough", @@ -48,12 +54,6 @@ "values": [], "defaultValue": "" }, - "RestoreOptData": { - "description": "MsBuild target that restores optimization profile data.", - "valueType": "target", - "values": [], - "defaultValue": "" - }, "RestoreDuringBuild": { "description": "Enables/disables package restore.", "valueType": "property", @@ -246,6 +246,12 @@ "values": [], "defaultValue": "" }, + "CreateNonWindowsTestOverlay": { + "description": "Runs CreateNonWindowsTestOverlay target.", + "valueType": "target", + "values": [], + "defaultValue": "" + }, "Verbosity": { "description": "Sets build verbosity.", "valueType": "passThrough", @@ -270,6 +276,60 @@ "values": [], "defaultValue": "" }, + "GenerateRuntimeLayout": { + "description": "Generates Core_Root folder", + "valueType": "property", + "values": [ true, false ], + "defaultValue": true + }, + "BuildTestsAgainstPackages": { + "description": "Sets the property specifying if we're building tests against packages", + "valueType": "property", + "values": [ true, false ], + "defaultValue": true + }, + "PublishTestNativeBins": { + "description": "Publishes test native binaries to Azure on non-windows", + "valueType": "property", + "values": [ true, false ], + "defaultValue": true + }, + "RuntimeId": { + "description": "Specifies the OS to build Core_Root for", + "valueType": "property", + "values": [ "debian.8-x64", "fedora.23-x64", "opensuse.13.2-x64", "opensuse.42.1-x64", "osx.10.10-x64", "rhel.7-x64", "ubuntu.14.04-x64", "ubuntu.16.04-x64", "ubuntu.16.10-x64" ], + "defaultValue": "${__RuntimeId}" + }, + "UpdateDependencies": { + "description": "MsBuild target that updates project.json dependencies.", + "valueType": "target", + "values": [], + "defaultValue": "" + }, + "BatchRestorePackages": { + "description": "MsBuild target that restores the packages.", + "valueType": "target", + "values": [], + "defaultValue": "" + }, + "BinPlaceRef": { + "description": "Place mscorlib.dll in bin/Product ref folder for building tests against", + "valueType": "target", + "values": [], + "defaultValue": "" + }, + "BinPlaceProduct": { + "description": "Place test dependencies in bin/Product folder for building tests against", + "valueType": "target", + "values": [], + "defaultValue": "" + }, + "CopyCrossgenToProduct": { + "description": "Place crossgen.exe in bin/Product folder for building tests against", + "valueType": "target", + "values": [], + "defaultValue": "" + }, "ExtraParameters": { "description": "Extra parameters will be passed to the selected command.", "valueType": "passThrough", @@ -354,7 +414,8 @@ "settings": { "MsBuildLog": "default", "MsBuildWrn": "default", - "MsBuildErr": "default" + "MsBuildErr": "default", + "MsBuildEventLogging": "default" } } }, @@ -368,14 +429,6 @@ "RestoreNETCorePlatforms": "default" } }, - "optdata": { - "description": "Restores optimization profile data for the repository.", - "settings": { - "Project": "./build.proj", - "RestoreDuringBuild": true, - "RestoreOptData": "default" - } - }, "ab": { "description": "Downloads the latests product packages from Azure. The values for '-AzureAccount' and '-AzureToken' are required", "settings": { @@ -394,6 +447,12 @@ "CloudDropAccountName": "default" } }, + "container": { + "description": "Container name to download from in Azure Blob storage.", + "settings": { + "__Container": "default" + } + }, "verbose": { "description": "Passes /flp:v=diag to the msbuild command or the value passed by the user.", "settings": { @@ -411,6 +470,12 @@ "settings": { "BuildNumberMinor": "default" } + }, + "PublishTestNativeBins": { + "description": "Downloads Published test native binaries.", + "settings": { + "PublishTestNativeBins": "default" + } } }, "defaultValues": { @@ -434,6 +499,12 @@ "CloudDropAccountName": "default" } }, + "container": { + "description": "Container name to upload into in Azure Blob storage.", + "settings": { + "__Container": "default" + } + }, "buildArch": { "description": "Specifies architecture to publish, can be x64, x86, arm or arm64", "settings": { @@ -451,6 +522,18 @@ "settings": { "__BuildOS": "default" } + }, + "distroRid": { + "description": "Specifies distro rid for Unix OS.", + "settings": { + "__DistroRid": "default" + } + }, + "PublishTestNativeBins": { + "description": "Publishes test native binaries.", + "settings": { + "PublishTestNativeBins": "default" + } } }, "defaultValues": { diff --git a/cross/arm/sources.list.jessie b/cross/arm/sources.list.jessie new file mode 100644 index 0000000..4d142ac --- /dev/null +++ b/cross/arm/sources.list.jessie @@ -0,0 +1,3 @@ +# Debian (sid) # UNSTABLE +deb http://ftp.debian.org/debian/ sid main contrib non-free +deb-src http://ftp.debian.org/debian/ sid main contrib non-free diff --git a/cross/arm/sources.list.xenial b/cross/arm/sources.list.xenial new file mode 100644 index 0000000..eacd86b --- /dev/null +++ b/cross/arm/sources.list.xenial @@ -0,0 +1,11 @@ +deb http://ports.ubuntu.com/ubuntu-ports/ xenial main restricted universe +deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial main restricted universe + +deb http://ports.ubuntu.com/ubuntu-ports/ xenial-updates main restricted universe +deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-updates main restricted universe + +deb http://ports.ubuntu.com/ubuntu-ports/ xenial-backports main restricted +deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-backports main restricted + +deb http://ports.ubuntu.com/ubuntu-ports/ xenial-security main restricted universe multiverse +deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-security main restricted universe multiverse \ No newline at end of file diff --git a/cross/arm64/sources.list.xenial b/cross/arm64/sources.list.xenial new file mode 100644 index 0000000..eacd86b --- /dev/null +++ b/cross/arm64/sources.list.xenial @@ -0,0 +1,11 @@ +deb http://ports.ubuntu.com/ubuntu-ports/ xenial main restricted universe +deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial main restricted universe + +deb http://ports.ubuntu.com/ubuntu-ports/ xenial-updates main restricted universe +deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-updates main restricted universe + +deb http://ports.ubuntu.com/ubuntu-ports/ xenial-backports main restricted +deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-backports main restricted + +deb http://ports.ubuntu.com/ubuntu-ports/ xenial-security main restricted universe multiverse +deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-security main restricted universe multiverse \ No newline at end of file diff --git a/cross/build-rootfs.sh b/cross/build-rootfs.sh index b786420..cfa1a66 100755 --- a/cross/build-rootfs.sh +++ b/cross/build-rootfs.sh @@ -2,9 +2,10 @@ usage() { - echo "Usage: $0 [BuildArch] [UbuntuCodeName]" - echo "BuildArch can be: arm, arm-softfp, arm64" - echo "UbuntuCodeName - optional, Code name for Ubuntu, can be: trusty(default), vivid, wily. If BuildArch is arm-softfp, UbuntuCodeName is ignored." + echo "Usage: $0 [BuildArch] [UbuntuCodeName] [lldbx.y]" + echo "BuildArch can be: arm(default), arm-softfp, arm64, x86" + echo "UbuntuCodeName - optional, Code name for Ubuntu, can be: trusty(default), vivid, wily, xenial. If BuildArch is arm-softfp, UbuntuCodeName is ignored." + echo "lldbx.y - optional, LLDB version, can be: lldb3.6(default), lldb3.8" exit 1 } @@ -17,64 +18,79 @@ __BuildArch=arm __UbuntuArch=armhf __UbuntuRepo="http://ports.ubuntu.com/" __UbuntuPackagesBase="build-essential libunwind8-dev gettext symlinks liblttng-ust-dev libicu-dev" -__UbuntuPackages="$__UbuntuPackagesBase" -if [ -z "$LLVM_ARM_HOME" ]; then - __LLDB_Package="lldb-3.6-dev" -fi -__MachineTriple=arm-linux-gnueabihf +__LLDB_Package="lldb-3.6-dev" __UnprocessedBuildArgs= + for i in "$@" do lowerI="$(echo $i | awk '{print tolower($0)}')" case $lowerI in -?|-h|--help) - usage - exit 1 - ;; + usage + exit 1 + ;; arm) - __BuildArch=arm - __UbuntuArch=armhf - __UbuntuPackages="$__UbuntuPackagesBase $__LLDB_Package" - __MachineTriple=arm-linux-gnueabihf - ;; + __BuildArch=arm + __UbuntuArch=armhf + ;; arm64) - __BuildArch=arm64 - __UbuntuArch=arm64 - __UbuntuPackages="$__UbuntuPackagesBase" - __MachineTriple=aarch64-linux-gnu - ;; + __BuildArch=arm64 + __UbuntuArch=arm64 + ;; arm-softfp) - __BuildArch=arm-softfp - __UbuntuArch=armel - __UbuntuRepo="http://ftp.debian.org/debian/" - __UbuntuPackages="$__UbuntuPackagesBase $__LLDB_Package" - __MachineTriple=arm-linux-gnueabi - __UbuntuCodeName=jessie - ;; + __BuildArch=arm-softfp + __UbuntuArch=armel + __UbuntuRepo="http://ftp.debian.org/debian/" + __UbuntuCodeName=jessie + ;; + x86) + __BuildArch=x86 + __UbuntuArch=i386 + __UbuntuRepo="http://archive.ubuntu.com/ubuntu/" + ;; + lldb3.6) + __LLDB_Package="lldb-3.6-dev" + ;; + lldb3.8) + __LLDB_Package="lldb-3.8-dev" + ;; vivid) - if [ "$__UbuntuCodeName" != "jessie" ]; then - __UbuntuCodeName=vivid - fi - ;; + if [ "$__UbuntuCodeName" != "jessie" ]; then + __UbuntuCodeName=vivid + fi + ;; wily) - if [ "$__UbuntuCodeName" != "jessie" ]; then - __UbuntuCodeName=wily - fi - ;; + if [ "$__UbuntuCodeName" != "jessie" ]; then + __UbuntuCodeName=wily + fi + ;; + xenial) + if [ "$__UbuntuCodeName" != "jessie" ]; then + __UbuntuCodeName=xenial + fi + ;; + jessie) + __UbuntuCodeName=jessie + __UbuntuRepo="http://ftp.debian.org/debian/" + ;; *) - __UnprocessedBuildArgs="$__UnprocessedBuildArgs $i" - ;; + __UnprocessedBuildArgs="$__UnprocessedBuildArgs $i" + ;; esac done __RootfsDir="$__CrossDir/rootfs/$__BuildArch" +__UbuntuPackages="$__UbuntuPackagesBase $__LLDB_Package" if [[ -n "$ROOTFS_DIR" ]]; then __RootfsDir=$ROOTFS_DIR fi -umount $__RootfsDir/* -rm -rf $__RootfsDir +if [ -d "$__RootfsDir" ]; then + umount $__RootfsDir/* + rm -rf $__RootfsDir +fi + qemu-debootstrap --arch $__UbuntuArch $__UbuntuCodeName $__RootfsDir $__UbuntuRepo cp $__CrossDir/$__BuildArch/sources.list.$__UbuntuCodeName $__RootfsDir/etc/apt/sources.list chroot $__RootfsDir apt-get update diff --git a/cross/x86/sources.list.trusty b/cross/x86/sources.list.trusty new file mode 100644 index 0000000..9b30854 --- /dev/null +++ b/cross/x86/sources.list.trusty @@ -0,0 +1,11 @@ +deb http://archive.ubuntu.com/ubuntu/ trusty main restricted universe +deb-src http://archive.ubuntu.com/ubuntu/ trusty main restricted universe + +deb http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe +deb-src http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe + +deb http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted +deb-src http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted + +deb http://archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse +deb-src http://archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse diff --git a/cross/x86/sources.list.vivid b/cross/x86/sources.list.vivid new file mode 100644 index 0000000..26d37b2 --- /dev/null +++ b/cross/x86/sources.list.vivid @@ -0,0 +1,11 @@ +deb http://archive.ubuntu.com/ubuntu/ vivid main restricted universe +deb-src http://archive.ubuntu.com/ubuntu/ vivid main restricted universe + +deb http://archive.ubuntu.com/ubuntu/ vivid-updates main restricted universe +deb-src http://archive.ubuntu.com/ubuntu/ vivid-updates main restricted universe + +deb http://archive.ubuntu.com/ubuntu/ vivid-backports main restricted +deb-src http://archive.ubuntu.com/ubuntu/ vivid-backports main restricted + +deb http://archive.ubuntu.com/ubuntu/ vivid-security main restricted universe multiverse +deb-src http://archive.ubuntu.com/ubuntu/ vivid-security main restricted universe multiverse diff --git a/cross/x86/sources.list.wily b/cross/x86/sources.list.wily new file mode 100644 index 0000000..c4b0b44 --- /dev/null +++ b/cross/x86/sources.list.wily @@ -0,0 +1,11 @@ +deb http://archive.ubuntu.com/ubuntu/ wily main restricted universe +deb-src http://archive.ubuntu.com/ubuntu/ wily main restricted universe + +deb http://archive.ubuntu.com/ubuntu/ wily-updates main restricted universe +deb-src http://archive.ubuntu.com/ubuntu/ wily-updates main restricted universe + +deb http://archive.ubuntu.com/ubuntu/ wily-backports main restricted +deb-src http://archive.ubuntu.com/ubuntu/ wily-backports main restricted + +deb http://archive.ubuntu.com/ubuntu/ wily-security main restricted universe multiverse +deb-src http://archive.ubuntu.com/ubuntu/ wily-security main restricted universe multiverse diff --git a/cross/x86/sources.list.xenial b/cross/x86/sources.list.xenial new file mode 100644 index 0000000..ad9c5a0 --- /dev/null +++ b/cross/x86/sources.list.xenial @@ -0,0 +1,11 @@ +deb http://archive.ubuntu.com/ubuntu/ xenial main restricted universe +deb-src http://archive.ubuntu.com/ubuntu/ xenial main restricted universe + +deb http://archive.ubuntu.com/ubuntu/ xenial-updates main restricted universe +deb-src http://archive.ubuntu.com/ubuntu/ xenial-updates main restricted universe + +deb http://archive.ubuntu.com/ubuntu/ xenial-backports main restricted +deb-src http://archive.ubuntu.com/ubuntu/ xenial-backports main restricted + +deb http://archive.ubuntu.com/ubuntu/ xenial-security main restricted universe multiverse +deb-src http://archive.ubuntu.com/ubuntu/ xenial-security main restricted universe multiverse diff --git a/cross/x86/toolchain.cmake b/cross/x86/toolchain.cmake new file mode 100644 index 0000000..63c6487 --- /dev/null +++ b/cross/x86/toolchain.cmake @@ -0,0 +1,40 @@ + +set(CROSS_ROOTFS $ENV{ROOTFS_DIR}) + +set(CMAKE_SYSTEM_NAME Linux) +set(CMAKE_SYSTEM_PROCESSOR i686) + +add_compile_options("-m32") +add_compile_options("--sysroot=${CROSS_ROOTFS}") +add_compile_options("-Wno-error=unused-command-line-argument") + +set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} --sysroot=${CROSS_ROOTFS}") +set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -B ${CROSS_ROOTFS}/usr/lib/gcc/i686-linux-gnu") +set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -L${CROSS_ROOTFS}/lib/i386-linux-gnu") +set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -m32") + +set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CROSS_LINK_FLAGS}" CACHE STRING "" FORCE) +set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${CROSS_LINK_FLAGS}" CACHE STRING "" FORCE) +set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${CROSS_LINK_FLAGS}" CACHE STRING "" FORCE) + +set(CMAKE_FIND_ROOT_PATH "${CROSS_ROOTFS}") +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) + +set(LLVM_CROSS_DIR "$ENV{LLVM_CROSS_HOME}") +if(LLVM_CROSS_DIR) + set(WITH_LLDB_LIBS "${LLVM_CROSS_DIR}/lib/" CACHE STRING "") + set(WITH_LLDB_INCLUDES "${LLVM_CROSS_DIR}/include" CACHE STRING "") + set(LLDB_H "${WITH_LLDB_INCLUDES}" CACHE STRING "") + set(LLDB "${LLVM_CROSS_DIR}/lib/liblldb.so" CACHE STRING "") +else() + set(WITH_LLDB_LIBS "${CROSS_ROOTFS}/usr/lib/i386-linux-gnu" CACHE STRING "") + set(CHECK_LLVM_DIR "${CROSS_ROOTFS}/usr/lib/llvm-3.8/include") + if(EXISTS "${CHECK_LLVM_DIR}" AND IS_DIRECTORY "${CHECK_LLVM_DIR}") + set(WITH_LLDB_INCLUDES "${CHECK_LLVM_DIR}") + else() + set(WITH_LLDB_INCLUDES "${CROSS_ROOTFS}/usr/lib/llvm-3.6/include") + endif() +endif() diff --git a/cross/x86/tryrun.cmake b/cross/x86/tryrun.cmake new file mode 100644 index 0000000..cfc5208 --- /dev/null +++ b/cross/x86/tryrun.cmake @@ -0,0 +1,127 @@ +SET( REALPATH_SUPPORTS_NONEXISTENT_FILES_EXITCODE + 1 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( SSCANF_SUPPORT_ll_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( SSCANF_CANNOT_HANDLE_MISSING_EXPONENT_EXITCODE + 1 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_LARGE_SNPRINTF_SUPPORT_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_SCHED_GET_PRIORITY_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_WORKING_GETTIMEOFDAY_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_WORKING_CLOCK_GETTIME_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_CLOCK_MONOTONIC_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_MMAP_DEV_ZERO_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( ONE_SHARED_MAPPING_PER_FILEREGION_PER_PROCESS_EXITCODE + 1 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( PTHREAD_CREATE_MODIFIES_ERRNO_EXITCODE + 1 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( SEM_INIT_MODIFIES_ERRNO_EXITCODE + 1 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_COMPATIBLE_ACOS_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_COMPATIBLE_ASIN_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_COMPATIBLE_POW_EXITCODE + 1 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_VALID_NEGATIVE_INF_POW_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_VALID_POSITIVE_INF_POW_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_COMPATIBLE_ATAN2_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_COMPATIBLE_LOG_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_COMPATIBLE_LOG10_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( UNGETC_NOT_RETURN_EOF_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAS_POSIX_SEMAPHORES_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( GETPWUID_R_SETS_ERRNO_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( FILE_OPS_CHECK_FERROR_OF_PREVIOUS_CALL_EXITCODE + 1 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_CLOCK_THREAD_CPUTIME_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_SCHED_GETCPU_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_CLOCK_MONOTONIC_COARSE_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_PROCFS_CTL_EXITCODE + 1 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_PROCFS_MAPS_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_PROCFS_STAT_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_PROCFS_STATUS_EXITCODE + 0 + CACHE STRING "Result from TRY_RUN" FORCE) + +SET( HAVE_FUNCTIONAL_PTHREAD_ROBUST_MUTEXES + 0 + CACHE STRING "Result from TRY_RUN" FORCE) diff --git a/crosscomponents.cmake b/crosscomponents.cmake index e0d5c1a..7575570 100644 --- a/crosscomponents.cmake +++ b/crosscomponents.cmake @@ -6,4 +6,5 @@ set (CLR_CROSS_COMPONENTS_LIST mscordbi sos clrjit + protojit ) diff --git a/dependencies.props b/dependencies.props index 52b4a87..3094a3d 100644 --- a/dependencies.props +++ b/dependencies.props @@ -1,30 +1,25 @@ - 35258a932ae9971cbc8df1d83b4eb893947a1724 - 35258a932ae9971cbc8df1d83b4eb893947a1724 + 014ac653f680703f5b9a7bf3ebc99b1a5b912c7b + 014ac653f680703f5b9a7bf3ebc99b1a5b912c7b - preview1-24628-02 + beta-24820-02 - 1.1.0 - 2.1.0 - - - 1.0.0 - 1.0.4 - 1.0.1 + 1.2.0-beta-24820-02 + 2.2.0-beta2-build3300 build-info/dotnet/ - release/1.1.0 + master $(MSBuildThisFileFullPath) @@ -37,7 +32,7 @@ $(BaseDotNetBuildInfo)coreclr/$(DependencyBranch) $(CoreClrCurrentRef) - + https://raw.githubusercontent.com/dotnet/versions @@ -66,6 +61,7 @@ $(XunitPackageVersion) + @@ -73,11 +69,11 @@ - 1.0.0-alpha-build0035 + 1.0.0-alpha-build0040 - 1.0.2-prerelease-00101 + 1.0.2-prerelease-00177 diff --git a/dir.props b/dir.props index 5b96cd1..b9bf081 100644 --- a/dir.props +++ b/dir.props @@ -139,7 +139,7 @@ - servicing + beta $(SourceDir).nuget/descriptions.json $(SourceDir).nuget/dotnet_library_license.txt $(SourceDir).nuget/ThirdPartyNotices.txt @@ -153,12 +153,12 @@ https://dot.net - 1.1.1 + 1.2.0 false - $(Version) - + $(PackageVersion) + diff --git a/extract-from-json.py b/extract-from-json.py deleted file mode 100755 index e432b2b..0000000 --- a/extract-from-json.py +++ /dev/null @@ -1,56 +0,0 @@ -#!/usr/bin/python - -import argparse -import json -import sys - -def parse_args(): - parser = argparse.ArgumentParser( - description="""Extracts information from a json file by navigating the JSON object using a - sequence of property accessors and returning the JSON subtree, or the raw data, found - at that location.""" - ) - - parser.add_argument( - '-f', '--file', - metavar='', - help="Path to project.json file to parse", - required=True, - ) - - parser.add_argument( - 'property', - metavar='property_name', - help="""Name of property to extract using object notation. - Pass multiple values to drill down into nested objects (in order).""", - nargs='*', - ) - - parser.add_argument( - '-r', '--raw', - help="""Dumps the raw object found at the requested location. - If omitted, returns a JSON formatted object instead.""", - action='store_true', - default=False - ) - - return parser.parse_args() - -def main(): - args = parse_args() - - with open(args.file) as json_file: - selected_property = json.load(json_file) - - for prop in args.property: - selected_property = selected_property[prop] - - if args.raw: - print(selected_property) - else: - print(json.dumps(selected_property)) - - return 0 - -if __name__ == "__main__": - sys.exit(main()) diff --git a/functions.cmake b/functions.cmake index f8a2eea..e1a9abb 100644 --- a/functions.cmake +++ b/functions.cmake @@ -1,6 +1,8 @@ function(clr_unknown_arch) if (WIN32) message(FATAL_ERROR "Only AMD64, ARM64, ARM and I386 are supported") + elseif(CLR_CROSS_COMPONENTS_BUILD) + message(FATAL_ERROR "Only AMD64, I386 are supported for cross-architecture component") else() message(FATAL_ERROR "Only AMD64, ARM64 and ARM are supported") endif() @@ -216,3 +218,19 @@ function(_install) install(${ARGV}) endif() endfunction() + +function(verify_dependencies targetName errorMessage) + # We don't need to verify dependencies on OSX, since missing dependencies + # result in link error over there. + if (NOT CLR_CMAKE_PLATFORM_DARWIN) + add_custom_command( + TARGET ${targetName} + POST_BUILD + VERBATIM + COMMAND ${CMAKE_SOURCE_DIR}/verify-so.sh + $ + ${errorMessage} + COMMENT "Verifying ${targetName} dependencies" + ) + endif() +endfunction() diff --git a/init-tools.cmd b/init-tools.cmd index 1bdf2a8..cb1aad4 100644 --- a/init-tools.cmd +++ b/init-tools.cmd @@ -1,4 +1,4 @@ -@echo off +@if not defined _echo @echo off setlocal set INIT_TOOLS_LOG=%~dp0init-tools.log @@ -6,13 +6,13 @@ set PACKAGES_DIR=%~dp0packages\ set TOOLRUNTIME_DIR=%~dp0Tools set DOTNET_PATH=%TOOLRUNTIME_DIR%\dotnetcli\ set DOTNET_CMD=%DOTNET_PATH%dotnet.exe -if [%BUILDTOOLS_SOURCE%]==[] set BUILDTOOLS_SOURCE=https://www.myget.org/F/dotnet-buildtools/ +if [%BUILDTOOLS_SOURCE%]==[] set BUILDTOOLS_SOURCE=https://dotnet.myget.org/F/dotnet-buildtools/api/v3/index.json set /P BUILDTOOLS_VERSION=< "%~dp0BuildToolsVersion.txt" set BUILD_TOOLS_PATH=%PACKAGES_DIR%Microsoft.DotNet.BuildTools\%BUILDTOOLS_VERSION%\lib\ set PROJECT_JSON_PATH=%TOOLRUNTIME_DIR%\%BUILDTOOLS_VERSION% set PROJECT_JSON_FILE=%PROJECT_JSON_PATH%\project.json set PROJECT_JSON_CONTENTS={ "dependencies": { "Microsoft.DotNet.BuildTools": "%BUILDTOOLS_VERSION%" , "Microsoft.DotNet.BuildTools.Coreclr": "1.0.4-prerelease"}, "frameworks": { "dnxcore50": { } } } -set BUILD_TOOLS_SEMAPHORE=%PROJECT_JSON_PATH%\init-tools.completed +set BUILD_TOOLS_SEMAPHORE=%PROJECT_JSON_PATH%\init-tools.completed0 set TOOLS_INIT_RETURN_CODE=0 :: if force option is specified then clean the tool runtime and build tools package directory to force it to get recreated @@ -39,13 +39,13 @@ if NOT exist "%PROJECT_JSON_PATH%" mkdir "%PROJECT_JSON_PATH%" echo %PROJECT_JSON_CONTENTS% > "%PROJECT_JSON_FILE%" echo Running %0 > "%INIT_TOOLS_LOG%" +set /p DOTNET_VERSION=< "%~dp0DotnetCLIVersion.txt" if exist "%DOTNET_CMD%" goto :afterdotnetrestore echo Installing dotnet cli... if NOT exist "%DOTNET_PATH%" mkdir "%DOTNET_PATH%" -set /p DOTNET_VERSION=< "%~dp0DotnetCLIVersion.txt" if [%PROCESSOR_ARCHITECTURE%]==[x86] (set DOTNET_ZIP_NAME=dotnet-dev-win-x86.%DOTNET_VERSION%.zip) else (set DOTNET_ZIP_NAME=dotnet-dev-win-x64.%DOTNET_VERSION%.zip) -set DOTNET_REMOTE_PATH=https://dotnetcli.blob.core.windows.net/dotnet/preview/Binaries/%DOTNET_VERSION%/%DOTNET_ZIP_NAME% +set DOTNET_REMOTE_PATH=https://dotnetcli.blob.core.windows.net/dotnet/Sdk/%DOTNET_VERSION%/%DOTNET_ZIP_NAME% set DOTNET_LOCAL_PATH=%DOTNET_PATH%%DOTNET_ZIP_NAME% echo Installing '%DOTNET_REMOTE_PATH%' to '%DOTNET_LOCAL_PATH%' >> "%INIT_TOOLS_LOG%" powershell -NoProfile -ExecutionPolicy unrestricted -Command "$retryCount = 0; $success = $false; do { try { (New-Object Net.WebClient).DownloadFile('%DOTNET_REMOTE_PATH%', '%DOTNET_LOCAL_PATH%'); $success = $true; } catch { if ($retryCount -ge 6) { throw; } else { $retryCount++; Start-Sleep -Seconds (5 * $retryCount); } } } while ($success -eq $false); Add-Type -Assembly 'System.IO.Compression.FileSystem' -ErrorVariable AddTypeErrors; if ($AddTypeErrors.Count -eq 0) { [System.IO.Compression.ZipFile]::ExtractToDirectory('%DOTNET_LOCAL_PATH%', '%DOTNET_PATH%') } else { (New-Object -com shell.application).namespace('%DOTNET_PATH%').CopyHere((new-object -com shell.application).namespace('%DOTNET_LOCAL_PATH%').Items(),16) }" >> "%INIT_TOOLS_LOG%" @@ -73,6 +73,14 @@ echo Initializing BuildTools ... echo Running: "%BUILD_TOOLS_PATH%init-tools.cmd" "%~dp0" "%DOTNET_CMD%" "%TOOLRUNTIME_DIR%" >> "%INIT_TOOLS_LOG%" call "%BUILD_TOOLS_PATH%init-tools.cmd" "%~dp0" "%DOTNET_CMD%" "%TOOLRUNTIME_DIR%" >> "%INIT_TOOLS_LOG%" +echo Updating CLI NuGet Frameworks map... +robocopy "%TOOLRUNTIME_DIR%" "%TOOLRUNTIME_DIR%\dotnetcli\sdk\%DOTNET_VERSION%" NuGet.Frameworks.dll /XO >> "%INIT_TOOLS_LOG%" +set UPDATE_CLI_ERRORLEVEL=%ERRORLEVEL% +if %UPDATE_CLI_ERRORLEVEL% GTR 1 ( + echo ERROR: Failed to update Nuget for CLI {Error level %UPDATE_CLI_ERRORLEVEL%}. Please check '%INIT_TOOLS_LOG%' for more details. 1>&2 + exit /b %UPDATE_CLI_ERRORLEVEL% +) + :: Create sempahore file echo Done initializing tools. echo Init-Tools.cmd completed for BuildTools Version: %BUILDTOOLS_VERSION% > "%BUILD_TOOLS_SEMAPHORE%" diff --git a/init-tools.log b/init-tools.log new file mode 100644 index 0000000..7a96daa --- /dev/null +++ b/init-tools.log @@ -0,0 +1,539 @@ +Running: /home/jyoung/git/dotnet/coreclr-1.0.0/init-tools.sh +Installing 'https://dotnetcli.blob.core.windows.net/dotnet/Sdk/1.0.0-preview3-003223/dotnet-dev-ubuntu-x64.1.0.0-preview3-003223.tar.gz' to '/home/jyoung/git/dotnet/coreclr-1.0.0/Tools/dotnetcli/dotnet.tar' +Running: /home/jyoung/git/dotnet/coreclr-1.0.0/Tools/dotnetcli/dotnet restore "/home/jyoung/git/dotnet/coreclr-1.0.0/Tools/1.0.27-prerelease-01008-01/project.json" --no-cache --packages /home/jyoung/git/dotnet/coreclr-1.0.0/packages --source https://dotnet.myget.org/F/dotnet-buildtools/api/v3/index.json +log : Restoring packages for /home/jyoung/git/dotnet/coreclr-1.0.0/Tools/1.0.27-prerelease-01008-01/project.json... +log : Installing Microsoft.DotNet.BuildTools 1.0.27-prerelease-01008-01. +log : Writing lock file to disk. Path: /home/jyoung/git/dotnet/coreclr-1.0.0/Tools/1.0.27-prerelease-01008-01/project.lock.json +log : /home/jyoung/git/dotnet/coreclr-1.0.0/Tools/1.0.27-prerelease-01008-01/project.json +log : Restore completed in 4349ms. +Running: /home/jyoung/git/dotnet/coreclr-1.0.0/packages/Microsoft.DotNet.BuildTools/1.0.27-prerelease-01008-01/lib/init-tools.sh /home/jyoung/git/dotnet/coreclr-1.0.0 /home/jyoung/git/dotnet/coreclr-1.0.0/Tools/dotnetcli/dotnet /home/jyoung/git/dotnet/coreclr-1.0.0/Tools +Running: /home/jyoung/git/dotnet/coreclr-1.0.0/Tools/dotnetcli/dotnet restore "/home/jyoung/git/dotnet/coreclr-1.0.0/packages/Microsoft.DotNet.BuildTools/1.0.27-prerelease-01008-01/lib/tool-runtime/project.json" --source https://dotnet.myget.org/F/dotnet-core/api/v3/index.json --source https://dotnet.myget.org/F/dotnet-buildtools/api/v3/index.json --source https://api.nuget.org/v3/index.json +log : Restoring packages for /home/jyoung/git/dotnet/coreclr-1.0.0/packages/Microsoft.DotNet.BuildTools/1.0.27-prerelease-01008-01/lib/tool-runtime/project.json... +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Utilities.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Utilities.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Tasks.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Tasks.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Utilities.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Utilities.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Tasks.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Tasks.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: MSBuild from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> MSBuild +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Utilities.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Utilities.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Tasks.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Tasks.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Utilities.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Utilities.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Tasks.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Tasks.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: MSBuild from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> MSBuild +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Utilities.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Utilities.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Tasks.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Tasks.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Utilities.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Utilities.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Tasks.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Tasks.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: MSBuild from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> MSBuild +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Utilities.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Utilities.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Tasks.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Tasks.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Utilities.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Utilities.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Tasks.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Tasks.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: MSBuild from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> MSBuild +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Utilities.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Utilities.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Tasks.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Tasks.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Utilities.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Utilities.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Tasks.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Tasks.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: MSBuild from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> MSBuild +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Utilities.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Utilities.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Tasks.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Tasks.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Utilities.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Utilities.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Tasks.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Tasks.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: MSBuild from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> MSBuild +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Utilities.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Utilities.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Tasks.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Tasks.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Utilities.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Utilities.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Tasks.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Tasks.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: MSBuild from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> MSBuild +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Utilities.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Utilities.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Tasks.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Tasks.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Utilities.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Utilities.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Tasks.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Tasks.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: MSBuild from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> MSBuild +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Utilities.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Utilities.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Tasks.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Tasks.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Utilities.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Utilities.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Tasks.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Tasks.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: MSBuild from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> MSBuild +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Utilities.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Utilities.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Tasks.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Tasks.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Utilities.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Utilities.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Tasks.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Tasks.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: MSBuild from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> MSBuild +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Utilities.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Utilities.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Tasks.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Tasks.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Utilities.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Utilities.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Tasks.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Tasks.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: MSBuild from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> MSBuild +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Utilities.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Utilities.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Tasks.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Tasks.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Utilities.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Utilities.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Tasks.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Tasks.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: MSBuild from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> MSBuild +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Utilities.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Utilities.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Tasks.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Tasks.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Utilities.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Utilities.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Tasks.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Tasks.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: MSBuild from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> MSBuild +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Utilities.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Utilities.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Tasks.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Tasks.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Utilities.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Utilities.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Utilities.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Tasks.Core from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Tasks.Core +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Tasks.Core (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: MSBuild from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Targets (>= 0.1.0-preview-00024-160610) -> MSBuild +warn : tool-runtime (>= 1.0.0) -> MSBuild (>= 0.1.0-preview-00024-160610) +warn : Detected package downgrade: Microsoft.Build.Framework from 0.0.0 to 0.1.0-preview-00024-160610 +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build (>= 0.1.0-preview-00024-160610) -> Microsoft.Build.Framework +warn : tool-runtime (>= 1.0.0) -> Microsoft.Build.Framework (>= 0.1.0-preview-00024-160610) +log : Writing lock file to disk. Path: /home/jyoung/git/dotnet/coreclr-1.0.0/packages/Microsoft.DotNet.BuildTools/1.0.27-prerelease-01008-01/lib/tool-runtime/project.lock.json +log : /home/jyoung/git/dotnet/coreclr-1.0.0/packages/Microsoft.DotNet.BuildTools/1.0.27-prerelease-01008-01/lib/tool-runtime/project.json +log : Restore completed in 3868ms. +Running: /home/jyoung/git/dotnet/coreclr-1.0.0/Tools/dotnetcli/dotnet publish "/home/jyoung/git/dotnet/coreclr-1.0.0/packages/Microsoft.DotNet.BuildTools/1.0.27-prerelease-01008-01/lib/tool-runtime/project.json" -f netcoreapp1.0 -r ubuntu.14.04-x64 -o /home/jyoung/git/dotnet/coreclr-1.0.0/Tools +Publishing tool-runtime for .NETCoreApp,Version=v1.0/ubuntu.14.04-x64 +Project tool-runtime (.NETCoreApp,Version=v1.0) will be compiled because expected outputs are missing +Compiling tool-runtime for .NETCoreApp,Version=v1.0 + +Compilation succeeded. + 0 Warning(s) + 0 Error(s) + +Time elapsed 00:00:00.8157822 + + +publish: Published to /home/jyoung/git/dotnet/coreclr-1.0.0/Tools +Published 1/1 projects successfully +Running: "/home/jyoung/git/dotnet/coreclr-1.0.0/Tools/dotnetcli/dotnet" restore "/home/jyoung/git/dotnet/coreclr-1.0.0/Tools/generated/project.json" --source https://dotnet.myget.org/F/dotnet-buildtools/api/v3/index.json --source https://api.nuget.org/v3/index.json --packages "/home/jyoung/git/dotnet/coreclr-1.0.0/Tools/." +log : Restoring packages for /home/jyoung/git/dotnet/coreclr-1.0.0/Tools/generated/project.json... +log : Installing Microsoft.Portable.Targets 0.1.1-dev. +log : Installing MicroBuild.Core 0.2.0. +log : Writing lock file to disk. Path: /home/jyoung/git/dotnet/coreclr-1.0.0/Tools/generated/project.lock.json +log : /home/jyoung/git/dotnet/coreclr-1.0.0/Tools/generated/project.json +log : Restore completed in 1274ms. diff --git a/init-tools.sh b/init-tools.sh index e6966cc..cc8a5d8 100755 --- a/init-tools.sh +++ b/init-tools.sh @@ -1,121 +1,169 @@ #!/usr/bin/env bash -initDistroName() -{ - if [ "$1" == "Linux" ]; then - if [ ! -e /etc/os-release ]; then - echo "WARNING: Can not determine runtime id for current distro." - export __DistroRid="" - else - source /etc/os-release - export __DistroRid="$ID.$VERSION_ID-x64" - fi - fi -} - __scriptpath=$(cd "$(dirname "$0")"; pwd -P) - -# CI_SPECIFIC - On CI machines, $HOME may not be set. In such a case, create a subfolder and set the variable to set. -# This is needed by CLI to function. -if [ -z "$HOME" ]; then - if [ ! -d "$__scriptpath/temp_home" ]; then - mkdir temp_home - fi - export HOME=$__scriptpath/temp_home - echo "HOME not defined; setting it to $HOME" -fi - +__init_tools_log=$__scriptpath/init-tools.log __PACKAGES_DIR=$__scriptpath/packages __TOOLRUNTIME_DIR=$__scriptpath/Tools __DOTNET_PATH=$__TOOLRUNTIME_DIR/dotnetcli __DOTNET_CMD=$__DOTNET_PATH/dotnet -if [ -z "$__BUILDTOOLS_SOURCE" ]; then __BUILDTOOLS_SOURCE=https://www.myget.org/F/dotnet-buildtools/; fi +if [ -z "$__BUILDTOOLS_SOURCE" ]; then __BUILDTOOLS_SOURCE=https://dotnet.myget.org/F/dotnet-buildtools/api/v3/index.json; fi __BUILD_TOOLS_PACKAGE_VERSION=$(cat $__scriptpath/BuildToolsVersion.txt) __DOTNET_TOOLS_VERSION=$(cat $__scriptpath/DotnetCLIVersion.txt) __BUILD_TOOLS_PATH=$__PACKAGES_DIR/Microsoft.DotNet.BuildTools/$__BUILD_TOOLS_PACKAGE_VERSION/lib __PROJECT_JSON_PATH=$__TOOLRUNTIME_DIR/$__BUILD_TOOLS_PACKAGE_VERSION __PROJECT_JSON_FILE=$__PROJECT_JSON_PATH/project.json -__PROJECT_JSON_CONTENTS="{ \"dependencies\": { \"Microsoft.DotNet.BuildTools\": \"$__BUILD_TOOLS_PACKAGE_VERSION\" }, \"frameworks\": { \"dnxcore50\": { } } }" -__DistroRid="" - -OSName=$(uname -s) -case $OSName in - Darwin) - OS=OSX - __DOTNET_PKG=dotnet-dev-osx-x64 - ;; - - Linux) - OS=Linux - - if [ ! -e /etc/os-release ]; then - echo "Cannot determine Linux distribution, asuming Ubuntu 14.04." - __DOTNET_PKG=dotnet-dev-ubuntu.14.04-x64 - else - source /etc/os-release - __DOTNET_PKG="dotnet-dev-$ID.$VERSION_ID-x64" +__PROJECT_JSON_CONTENTS="{ \"dependencies\": { \"Microsoft.DotNet.BuildTools\": \"$__BUILD_TOOLS_PACKAGE_VERSION\" }, \"frameworks\": { \"netcoreapp1.0\": { } } }" +__INIT_TOOLS_DONE_MARKER=$__PROJECT_JSON_PATH/done + +# Extended version of platform detection logic from dotnet/cli/scripts/obtain/dotnet-install.sh 16692fc +get_current_linux_name() { + # Detect Distro + if [ "$(cat /etc/*-release | grep -cim1 ubuntu)" -eq 1 ]; then + if [ "$(cat /etc/*-release | grep -cim1 16.04)" -eq 1 ]; then + echo "ubuntu.16.04" + return 0 + fi + if [ "$(cat /etc/*-release | grep -cim1 16.10)" -eq 1 ]; then + echo "ubuntu.16.10" + return 0 fi - ;; - - *) - echo "Unsupported OS $OSName detected. Downloading ubuntu-x64 tools" - OS=Linux - __DOTNET_PKG=dotnet-dev-ubuntu.14.04-x64 - ;; -esac -# Initialize Linux Distribution name and .NET CLI package name. + echo "ubuntu" + return 0 + elif [ "$(cat /etc/*-release | grep -cim1 centos)" -eq 1 ]; then + echo "centos" + return 0 + elif [ "$(cat /etc/*-release | grep -cim1 rhel)" -eq 1 ]; then + echo "rhel" + return 0 + elif [ "$(cat /etc/*-release | grep -cim1 debian)" -eq 1 ]; then + echo "debian" + return 0 + elif [ "$(cat /etc/*-release | grep -cim1 alpine)" -eq 1 ]; then + echo "alpine" + return 0 + elif [ "$(cat /etc/*-release | grep -cim1 fedora)" -eq 1 ]; then + if [ "$(cat /etc/*-release | grep -cim1 23)" -eq 1 ]; then + echo "fedora.23" + return 0 + fi + if [ "$(cat /etc/*-release | grep -cim1 24)" -eq 1 ]; then + echo "fedora.24" + return 0 + fi + elif [ "$(cat /etc/*-release | grep -cim1 opensuse)" -eq 1 ]; then + if [ "$(cat /etc/*-release | grep -cim1 13.2)" -eq 1 ]; then + echo "opensuse.13.2" + return 0 + fi + if [ "$(cat /etc/*-release | grep -cim1 42.1)" -eq 1 ]; then + echo "opensuse.42.1" + return 0 + fi + fi -initDistroName $OS + # Cannot determine Linux distribution, assuming Ubuntu 14.04. + echo "ubuntu" + return 0 +} -# Work around mac build issue -if [ "$OS" == "OSX" ]; then - echo Raising file open limit - otherwise Mac build may fail - echo ulimit -n 2048 - ulimit -n 2048 +if [ -z "$__DOTNET_PKG" ]; then +OSName=$(uname -s) + case $OSName in + Darwin) + OS=OSX + __DOTNET_PKG=dotnet-dev-osx-x64 + ulimit -n 2048 + ;; + + Linux) + __DOTNET_PKG="dotnet-dev-$(get_current_linux_name)-x64" + OS=Linux + ;; + + *) + echo "Unsupported OS '$OSName' detected. Downloading ubuntu-x64 tools." + OS=Linux + __DOTNET_PKG=dotnet-dev-ubuntu-x64 + ;; + esac fi -__CLIDownloadURL=https://dotnetcli.blob.core.windows.net/dotnet/preview/Binaries/${__DOTNET_TOOLS_VERSION}/${__DOTNET_PKG}.${__DOTNET_TOOLS_VERSION}.tar.gz -echo ".NET CLI will be downloaded from $__CLIDownloadURL" -echo "Locating $__PROJECT_JSON_FILE to see if we already downloaded .NET CLI tools..." +if [ ! -e $__INIT_TOOLS_DONE_MARKER ]; then + __PATCH_CLI_NUGET_FRAMEWORKS=0 -if [ ! -e $__PROJECT_JSON_FILE ]; then - echo "$__PROJECT_JSON_FILE not found. Proceeding to download .NET CLI tools. " if [ -e $__TOOLRUNTIME_DIR ]; then rm -rf -- $__TOOLRUNTIME_DIR; fi + echo "Running: $__scriptpath/init-tools.sh" > $__init_tools_log if [ ! -e $__DOTNET_PATH ]; then - # curl has HTTPS CA trust-issues less often than wget, so lets try that first. - which curl > /dev/null 2> /dev/null - if [ $? -ne 0 ]; then - mkdir -p "$__DOTNET_PATH" - wget -q -O $__DOTNET_PATH/dotnet.tar $__CLIDownloadURL - echo "wget -q -O $__DOTNET_PATH/dotnet.tar $__CLIDownloadURL" + + mkdir -p "$__DOTNET_PATH" + + if [ -n "$DOTNET_TOOLSET_DIR" ] && [ -d "$DOTNET_TOOLSET_DIR/$__DOTNET_TOOLS_VERSION" ]; then + echo "Copying $DOTNET_TOOLSET_DIR/$__DOTNET_TOOLS_VERSION to $__DOTNET_PATH" >> $__init_tools_log + cp -r $DOTNET_TOOLSET_DIR/$__DOTNET_TOOLS_VERSION/* $__DOTNET_PATH + elif [ -n "$DOTNET_TOOL_DIR" ] && [ -d "$DOTNET_TOOL_DIR" ]; then + echo "Copying $DOTNET_TOOL_DIR to $__DOTNET_PATH" >> $__init_tools_log + cp -r $DOTNET_TOOL_DIR/* $__DOTNET_PATH else - curl --retry 10 -sSL --create-dirs -o $__DOTNET_PATH/dotnet.tar $__CLIDownloadURL - echo "curl --retry 10 -sSL --create-dirs -o $__DOTNET_PATH/dotnet.tar $__CLIDownloadURL" + echo "Installing dotnet cli..." + __DOTNET_LOCATION="https://dotnetcli.blob.core.windows.net/dotnet/Sdk/${__DOTNET_TOOLS_VERSION}/${__DOTNET_PKG}.${__DOTNET_TOOLS_VERSION}.tar.gz" + # curl has HTTPS CA trust-issues less often than wget, so lets try that first. + echo "Installing '${__DOTNET_LOCATION}' to '$__DOTNET_PATH/dotnet.tar'" >> $__init_tools_log + which curl > /dev/null 2> /dev/null + if [ $? -ne 0 ]; then + wget -q -O $__DOTNET_PATH/dotnet.tar ${__DOTNET_LOCATION} + else + curl --retry 10 -sSL --create-dirs -o $__DOTNET_PATH/dotnet.tar ${__DOTNET_LOCATION} + fi + cd $__DOTNET_PATH + tar -xf $__DOTNET_PATH/dotnet.tar + + cd $__scriptpath + + __PATCH_CLI_NUGET_FRAMEWORKS=1 fi - cd $__DOTNET_PATH - tar -xf $__DOTNET_PATH/dotnet.tar - if [ -n "$BUILDTOOLS_OVERRIDE_RUNTIME" ]; then - find $__DOTNET_PATH -name *.ni.* | xargs rm 2>/dev/null - cp -R $BUILDTOOLS_OVERRIDE_RUNTIME/* $__DOTNET_PATH/bin - cp -R $BUILDTOOLS_OVERRIDE_RUNTIME/* $__DOTNET_PATH/bin/dnx - cp -R $BUILDTOOLS_OVERRIDE_RUNTIME/* $__DOTNET_PATH/runtime/coreclr + fi + + + if [ -n "$BUILD_TOOLS_TOOLSET_DIR" ] && [ -d "$BUILD_TOOLS_TOOLSET_DIR/$__BUILD_TOOLS_PACKAGE_VERSION" ]; then + echo "Copying $BUILD_TOOLS_TOOLSET_DIR/$__BUILD_TOOLS_PACKAGE_VERSION to $__TOOLRUNTIME_DIR" >> $__init_tools_log + cp -r $BUILD_TOOLS_TOOLSET_DIR/$__BUILD_TOOLS_PACKAGE_VERSION/* $__TOOLRUNTIME_DIR + elif [ -n "$BUILD_TOOLS_TOOL_DIR" ] && [ -d "$BUILD_TOOLS_TOOL_DIR" ]; then + echo "Copying $BUILD_TOOLS_TOOL_DIR to $__TOOLRUNTIME_DIR" >> $__init_tools_log + cp -r $BUILD_TOOLS_TOOL_DIR/* $__TOOLRUNTIME_DIR + else + if [ ! -d "$__PROJECT_JSON_PATH" ]; then mkdir "$__PROJECT_JSON_PATH"; fi + echo $__PROJECT_JSON_CONTENTS > "$__PROJECT_JSON_FILE" + + if [ ! -e $__BUILD_TOOLS_PATH ]; then + echo "Restoring BuildTools version $__BUILD_TOOLS_PACKAGE_VERSION..." + echo "Running: $__DOTNET_CMD restore \"$__PROJECT_JSON_FILE\" --no-cache --packages $__PACKAGES_DIR --source $__BUILDTOOLS_SOURCE" >> $__init_tools_log + $__DOTNET_CMD restore "$__PROJECT_JSON_FILE" --no-cache --packages $__PACKAGES_DIR --source $__BUILDTOOLS_SOURCE >> $__init_tools_log + if [ ! -e "$__BUILD_TOOLS_PATH/init-tools.sh" ]; then echo "ERROR: Could not restore build tools correctly. See '$__init_tools_log' for more details."1>&2; fi fi - cd $__scriptpath + echo "Initializing BuildTools..." + echo "Running: $__BUILD_TOOLS_PATH/init-tools.sh $__scriptpath $__DOTNET_CMD $__TOOLRUNTIME_DIR" >> $__init_tools_log + $__BUILD_TOOLS_PATH/init-tools.sh $__scriptpath $__DOTNET_CMD $__TOOLRUNTIME_DIR >> $__init_tools_log + if [ "$?" != "0" ]; then + echo "ERROR: An error occured when trying to initialize the tools. Please check '$__init_tools_log' for more details."1>&2 + exit 1 + fi fi - mkdir "$__PROJECT_JSON_PATH" - echo $__PROJECT_JSON_CONTENTS > "$__PROJECT_JSON_FILE" - - if [ ! -e $__BUILD_TOOLS_PATH ]; then - $__DOTNET_CMD restore "$__PROJECT_JSON_FILE" --packages $__PACKAGES_DIR --source $__BUILDTOOLS_SOURCE + if [ $__PATCH_CLI_NUGET_FRAMEWORKS -eq 1 ]; then + echo "Updating CLI NuGet Frameworks map..." + cp $__TOOLRUNTIME_DIR/NuGet.Frameworks.dll $__TOOLRUNTIME_DIR/dotnetcli/sdk/$__DOTNET_TOOLS_VERSION >> $__init_tools_log + if [ "$?" != "0" ]; then + echo "ERROR: An error occured when updating Nuget for CLI . Please check '$__init_tools_log' for more details."1>&2 + exit 1 + fi fi - # On ubuntu 14.04, /bin/sh (symbolic link) calls /bin/dash by default. - $__BUILD_TOOLS_PATH/init-tools.sh $__scriptpath $__DOTNET_CMD $__TOOLRUNTIME_DIR + touch $__INIT_TOOLS_DONE_MARKER + echo "Done initializing tools." else - echo "$__PROJECT_JSON_FILE found. Skipping .NET CLI installation." + echo "Tools are already initialized" fi diff --git a/netci.groovy b/netci.groovy index 8527b2c..b1ffaf8 100755 --- a/netci.groovy +++ b/netci.groovy @@ -15,6 +15,7 @@ def static getOSGroup(def os) { def osGroupMap = ['Ubuntu':'Linux', 'RHEL7.2': 'Linux', 'Ubuntu16.04': 'Linux', + 'Ubuntu16.10': 'Linux', 'Debian8.4':'Linux', 'Fedora23':'Linux', 'OSX':'OSX', @@ -31,20 +32,43 @@ def static getOSGroup(def os) { // We use this class (vs variables) so that the static functions can access data here. class Constants { + // Innerloop build OS's // The Windows_NT_BuildOnly OS is a way to speed up the Non-NT builds temporarily by avoiding // test execution in the build flow runs. It generates the exact same build // as Windows_NT but without the tests. - def static osList = ['Ubuntu', 'Debian8.4', 'OSX', 'Windows_NT', 'Windows_NT_BuildOnly', 'FreeBSD', 'CentOS7.1', 'OpenSUSE13.2', 'OpenSUSE42.1', 'RHEL7.2', 'LinuxARMEmulator', 'Ubuntu16.04', 'Fedora23'] + def static osList = [ + 'Ubuntu', + 'Debian8.4', + 'OSX', + 'Windows_NT', + 'Windows_NT_BuildOnly', + 'FreeBSD', + 'CentOS7.1', + 'OpenSUSE13.2', + 'OpenSUSE42.1', + 'RHEL7.2', + 'LinuxARMEmulator', + 'Ubuntu16.04', + 'Ubuntu16.10', + 'Fedora23'] + def static crossList = ['Ubuntu', 'OSX', 'CentOS7.1', 'RHEL7.2', 'Debian8.4', 'OpenSUSE13.2'] + // This is a set of JIT stress modes combined with the set of variables that // need to be set to actually enable that stress mode. The key of the map is the stress mode and // the values are the environment variables - def static jitStressModeScenarios = ['minopts' : ['COMPlus_JITMinOpts' : '1'], 'forcerelocs' : ['COMPlus_ForceRelocs' : '1'], - 'jitstress1' : ['COMPlus_JitStress' : '1'], 'jitstress2' : ['COMPlus_JitStress' : '2'], - 'jitstressregs1' : ['COMPlus_JitStressRegs' : '1'], 'jitstressregs2' : ['COMPlus_JitStressRegs' : '2'], - 'jitstressregs3' : ['COMPlus_JitStressRegs' : '3'], 'jitstressregs4' : ['COMPlus_JitStressRegs' : '4'], - 'jitstressregs8' : ['COMPlus_JitStressRegs' : '8'], 'jitstressregs0x10' : ['COMPlus_JitStressRegs' : '0x10'], + def static jitStressModeScenarios = [ + 'minopts' : ['COMPlus_JITMinOpts' : '1'], + 'forcerelocs' : ['COMPlus_ForceRelocs' : '1'], + 'jitstress1' : ['COMPlus_JitStress' : '1'], + 'jitstress2' : ['COMPlus_JitStress' : '2'], + 'jitstressregs1' : ['COMPlus_JitStressRegs' : '1'], + 'jitstressregs2' : ['COMPlus_JitStressRegs' : '2'], + 'jitstressregs3' : ['COMPlus_JitStressRegs' : '3'], + 'jitstressregs4' : ['COMPlus_JitStressRegs' : '4'], + 'jitstressregs8' : ['COMPlus_JitStressRegs' : '8'], + 'jitstressregs0x10' : ['COMPlus_JitStressRegs' : '0x10'], 'jitstressregs0x80' : ['COMPlus_JitStressRegs' : '0x80'], 'jitstress2_jitstressregs1' : ['COMPlus_JitStress' : '2', 'COMPlus_JitStressRegs' : '1'], 'jitstress2_jitstressregs2' : ['COMPlus_JitStress' : '2', 'COMPlus_JitStressRegs' : '2'], @@ -53,33 +77,62 @@ class Constants { 'jitstress2_jitstressregs8' : ['COMPlus_JitStress' : '2', 'COMPlus_JitStressRegs' : '8'], 'jitstress2_jitstressregs0x10' : ['COMPlus_JitStress' : '2', 'COMPlus_JitStressRegs' : '0x10'], 'jitstress2_jitstressregs0x80' : ['COMPlus_JitStress' : '2', 'COMPlus_JitStressRegs' : '0x80'], - 'corefx_baseline' : [ : ], // corefx baseline - 'corefx_minopts' : ['COMPlus_JITMinOpts' : '1'], + 'corefx_baseline' : [ : ], // corefx baseline + 'corefx_minopts' : ['COMPlus_JITMinOpts' : '1'], 'corefx_jitstress1' : ['COMPlus_JitStress' : '1'], 'corefx_jitstress2' : ['COMPlus_JitStress' : '2'], - 'corefx_jitstressregs1' : ['COMPlus_JitStressRegs' : '1'], 'corefx_jitstressregs2' : ['COMPlus_JitStressRegs' : '2'], - 'corefx_jitstressregs3' : ['COMPlus_JitStressRegs' : '3'], 'corefx_jitstressregs4' : ['COMPlus_JitStressRegs' : '4'], - 'corefx_jitstressregs8' : ['COMPlus_JitStressRegs' : '8'], 'corefx_jitstressregs0x10' : ['COMPlus_JitStressRegs' : '0x10'], + 'corefx_jitstressregs1' : ['COMPlus_JitStressRegs' : '1'], + 'corefx_jitstressregs2' : ['COMPlus_JitStressRegs' : '2'], + 'corefx_jitstressregs3' : ['COMPlus_JitStressRegs' : '3'], + 'corefx_jitstressregs4' : ['COMPlus_JitStressRegs' : '4'], + 'corefx_jitstressregs8' : ['COMPlus_JitStressRegs' : '8'], + 'corefx_jitstressregs0x10' : ['COMPlus_JitStressRegs' : '0x10'], 'corefx_jitstressregs0x80' : ['COMPlus_JitStressRegs' : '0x80'], - 'gcstress0x3' : ['COMPlus_GCStress' : '0x3'], 'gcstress0xc' : ['COMPlus_GCStress' : '0xC'], - 'zapdisable' : ['COMPlus_ZapDisable' : '0xC'], - 'heapverify1' : ['COMPlus_HeapVerify' : '1'], - 'gcstress0xc_zapdisable' : ['COMPlus_GCStress' : '0xC', 'COMPlus_ZapDisable' : '1'], - 'gcstress0xc_zapdisable_jitstress2' : ['COMPlus_GCStress' : '0xC', 'COMPlus_ZapDisable' : '1', 'COMPlus_JitStress' : '2'], - 'gcstress0xc_zapdisable_heapverify1' : ['COMPlus_GCStress' : '0xC', 'COMPlus_ZapDisable' : '1', 'COMPlus_HeapVerify' : '1'], - 'gcstress0xc_jitstress1' : ['COMPlus_GCStress' : '0xC', 'COMPlus_JitStress' : '1'], - 'gcstress0xc_jitstress2' : ['COMPlus_GCStress' : '0xC', 'COMPlus_JitStress' : '2'], - 'gcstress0xc_minopts_heapverify1' : ['COMPlus_GCStress' : '0xC', 'COMPlus_JITMinOpts' : '1', 'COMPlus_HeapVerify' : '1'] + 'gcstress0x3' : ['COMPlus_GCStress' : '0x3'], + 'gcstress0xc' : ['COMPlus_GCStress' : '0xC'], + 'zapdisable' : ['COMPlus_ZapDisable' : '1'], + 'heapverify1' : ['COMPlus_HeapVerify' : '1'], + 'gcstress0xc_zapdisable' : ['COMPlus_GCStress' : '0xC', 'COMPlus_ZapDisable' : '1'], + 'gcstress0xc_zapdisable_jitstress2' : ['COMPlus_GCStress' : '0xC', 'COMPlus_ZapDisable' : '1', 'COMPlus_JitStress' : '2'], + 'gcstress0xc_zapdisable_heapverify1' : ['COMPlus_GCStress' : '0xC', 'COMPlus_ZapDisable' : '1', 'COMPlus_HeapVerify' : '1'], + 'gcstress0xc_jitstress1' : ['COMPlus_GCStress' : '0xC', 'COMPlus_JitStress' : '1'], + 'gcstress0xc_jitstress2' : ['COMPlus_GCStress' : '0xC', 'COMPlus_JitStress' : '2'], + 'gcstress0xc_minopts_heapverify1' : ['COMPlus_GCStress' : '0xC', 'COMPlus_JITMinOpts' : '1', 'COMPlus_HeapVerify' : '1'] ] + // This is a set of r2r jit stress scenarios - def static r2rJitStressScenarios = ['r2r_jitstress1', 'r2r_jitstress2', 'r2r_jitstressregs1', 'r2r_jitstressregs2', 'r2r_jitstressregs3', - 'r2r_jitstressregs4', 'r2r_jitstressregs8', 'r2r_jitstressregsx10', 'r2r_jitstressregsx80', - 'r2r_jitminopts', 'r2r_jitforcerelocs'] + def static r2rJitStressScenarios = [ + 'r2r_jitstress1', + 'r2r_jitstress2', + 'r2r_jitstressregs1', + 'r2r_jitstressregs2', + 'r2r_jitstressregs3', + 'r2r_jitstressregs4', + 'r2r_jitstressregs8', + 'r2r_jitstressregsx10', + 'r2r_jitstressregsx80', + 'r2r_jitminopts', + 'r2r_jitforcerelocs'] + // This is the basic set of scenarios - def static basicScenarios = ['default', 'pri1', 'ilrt', 'r2r', 'pri1r2r', 'gcstress15_pri1r2r', 'longgc', 'coverage', 'formatting', 'gcsimulator'] + r2rJitStressScenarios + def static basicScenarios = [ + 'default', + 'pri1', + 'ilrt', + 'r2r', + 'pri1r2r', + 'gcstress15_pri1r2r', + 'longgc', + 'coverage', + 'formatting', + 'gcsimulator', + 'jitdiff', + 'standalone_gc'] + r2rJitStressScenarios + def static configurationList = ['Debug', 'Checked', 'Release'] + // This is the set of architectures - def static architectureList = ['arm', 'arm64', 'x64', 'x86ryujit', 'x86lb'] + def static architectureList = ['arm', 'arm64', 'x64', 'x86', 'x86compatjit', 'x86lb'] } def static setMachineAffinity(def job, def os, def architecture) { @@ -139,6 +192,10 @@ def static isLongGc(def scenario) { return (scenario == 'longgc' || scenario == 'gcsimulator') } +def static isJitDiff(def scenario) { + return (scenario == 'jitdiff') +} + def static setTestJobTimeOut(newJob, scenario) { if (isGCStressRelatedTesting(scenario)) { Utilities.setJobTimeout(newJob, 4320) @@ -158,6 +215,9 @@ def static setTestJobTimeOut(newJob, scenario) { else if (isLongGc(scenario)) { Utilities.setJobTimeout(newJob, 1440) } + else if (isJitDiff(scenario)) { + Utilities.setJobTimeout(newJob, 240) + } // Non-test jobs use the default timeout value. } @@ -267,8 +327,11 @@ def static getJobName(def configuration, def architecture, def os, def scenario, baseName = architecture.toLowerCase() + '_emulator_cross_' + configuration.toLowerCase() + '_' + os.toLowerCase() } break - case 'x86ryujit': - baseName = 'x86_ryujit_' + configuration.toLowerCase() + '_' + os.toLowerCase() + case 'x86': + baseName = architecture.toLowerCase() + '_' + configuration.toLowerCase() + '_' + os.toLowerCase() + break + case 'x86compatjit': + baseName = 'x86_compatjit_' + configuration.toLowerCase() + '_' + os.toLowerCase() break case 'x86lb': baseName = 'x86_lb_' + configuration.toLowerCase() + '_' + os.toLowerCase() @@ -305,7 +368,8 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os, case 'default': switch (architecture) { case 'x64': - case 'x86ryujit': + case 'x86': + case 'x86compatjit': case 'x86lb': if (isFlowJob || os == 'Windows_NT' || !(os in Constants.crossList)) { Utilities.addGithubPushTrigger(job) @@ -366,7 +430,7 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os, } } // For x86, only add per-commit jobs for Windows - else if (architecture == 'x86ryujit' || architecture == 'x86lb') { + else if (architecture == 'x86' || architecture == 'x86compatjit' || architecture == 'x86lb') { if (os == 'Windows_NT') { Utilities.addGithubPushTrigger(job) } @@ -411,7 +475,7 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os, } } // For x86, only add per-commit jobs for Windows - else if (architecture == 'x86ryujit' || architecture == 'x86lb') { + else if (architecture == 'x86' || architecture == 'x86compatjit' || architecture == 'x86lb') { if (os == 'Windows_NT') { Utilities.addPeriodicTrigger(job, 'H H * * 3,6') // some time every Wednesday and Saturday } @@ -434,6 +498,13 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os, // TODO: Add once external email sending is available again // addEmailPublisher(job, 'dotnetgctests@microsoft.com') break + case 'standalone_gc': + assert (os == 'Windows_NT') + assert (configuration == 'Release' || configuration == 'Checked') + // TODO: Add once external email sending is available again + // addEmailPublisher(job, 'dotnetgctests@microsoft.com') + Utilities.addPeriodicTrigger(job, '@weekly') + break case 'ilrt': assert !(os in bidailyCrossList) // ILASM/ILDASM roundtrip one gets a daily build, and only for release @@ -445,6 +516,12 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os, } } break + case 'jitdiff': + assert (os == 'Ubuntu' || os == 'Windows_NT' || os == 'OSX') + assert configuration == 'Checked' + assert (architecture == 'x64' || architecture == 'x86') + Utilities.addGithubPushTrigger(job) + break case 'coverage': assert (os == 'Ubuntu' || os == 'Windows_NT') assert configuration == 'Release' @@ -539,7 +616,7 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os, // We generally only have a distinct set of default triggers but a bunch of on-demand ones. def osGroup = getOSGroup(os) switch (architecture) { - case 'x64': + case 'x64': // editor brace matching: { if (scenario == 'coverage') { assert configuration == 'Release' if (os == 'Ubuntu') { @@ -551,7 +628,7 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os, if (scenario == 'formatting') { assert configuration == 'Checked' if (os == 'Windows_NT' || os == 'Ubuntu') { - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} Formatting", "(?i).*test\\W+${os}\\W+formatting.*") + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} Formatting") } break } @@ -572,6 +649,7 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os, break case 'Fedora23': case 'Ubuntu16.04': + case 'Ubuntu16.10': case 'OpenSUSE42.1': assert !isFlowJob assert scenario == 'default' @@ -597,6 +675,11 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os, Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} Priority 1 Build and Test", "(?i).*test\\W+${os}\\W+${scenario}.*") } break + case 'jitdiff': + if (configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} Jit Diff Build and Test", "(?i).*test\\W+${os}\\W+${scenario}.*") + } + break case 'ilrt': if (configuration == 'Release') { Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} IL RoundTrip Build and Test", "(?i).*test\\W+${os}\\W+${scenario}.*") @@ -874,6 +957,11 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os, Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} Priority 1 Build and Test") } break + case 'jitdiff': + if (configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} Jit Diff Build and Test", "(?i).*test\\W+${os}\\W+${scenario}.*") + } + break case 'ilrt': if (configuration == 'Release') { Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} IL RoundTrip Build and Test", "(?i).*test\\W+${os}\\W+${scenario}.*") @@ -959,6 +1047,11 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os, Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} GC Simulator", "(?i).*test\\W+${os}\\W+${configuration}\\W+${scenario}.*") } break + case 'standalone_gc': + if (configuration == 'Release' || configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} Standalone GC", "(?i).*test\\W+${os}\\W+${configuration}\\W+${scenario}.*") + } + break case 'minopts': assert (os == 'Windows_NT') || (os in Constants.crossList) Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} Build and Test (Jit - MinOpts)", @@ -1070,7 +1163,8 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os, break } break - case 'arm': + // editor brace matching: } + case 'arm': // editor brace matching: { assert scenario == 'default' switch (os) { case 'Ubuntu': @@ -1082,13 +1176,20 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os, Utilities.addGithubPRTriggerForBranch(job, branch, "Linux ARM Emulator Cross ${configuration} Build") } break + case 'Windows_NT': + if (configuration == 'Debug' || configuration == 'Release') + { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} Cross ${configuration} Build") + } + break default: println("NYI os: ${os}"); assert false break } break - case 'arm64': + // editor brace matching: } + case 'arm64': // editor brace matching: { assert (scenario == 'default') || (scenario == 'pri1r2r') || (scenario == 'gcstress0x3') || (scenario == 'gcstress0xc') // Set up a private trigger @@ -1123,165 +1224,360 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os, break } break - case 'x86ryujit': - def arch = 'x86' - def jit = 'ryujit' + // editor brace matching: } + case 'x86': // editor brace matching: { + assert (os == 'Windows_NT') switch (scenario) { case 'default': - // Default trigger - if (os == 'Windows_NT') { - if (configuration == 'Checked') { - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Build and Test") - } + if (configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} Build and Test") } - else { - // default trigger - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Build", "(?i).*test\\W+${arch}\\W+${osGroup}.\\W+${jit}.*") + break + case 'pri1': + if (configuration == 'Release') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} Priority 1 Build and Test") + } + break + case 'ilrt': + if (configuration == 'Release') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} IL RoundTrip Build and Test", + "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}.*") + } + break + case 'r2r': + if (configuration == 'Checked' || configuration == 'Release') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} R2R pri0 Build & Test", + "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}.*") + } + break + case 'pri1r2r': + if (configuration == 'Checked' || configuration == 'Release') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} R2R pri1 Build & Test", + "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}.*") + } + break + case 'gcstress15_pri1r2r': + if (configuration == 'Release' || configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} GCStress 15 R2R pri1 Build & Test", + "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}.*") + } + break + case 'r2r_jitstress1': + if (configuration == 'Release' || configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} jitstress1 R2R Build & Test", + "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}.*") + } + break + case 'r2r_jitstress2': + if (configuration == 'Release' || configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} jitstress2 R2R Build & Test", + "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}.*") + } + break + case 'r2r_jitstressregs1': + if (configuration == 'Release' || configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} jitstressregs1 R2R Build & Test", + "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}.*") + } + break + case 'r2r_jitstressregs2': + if (configuration == 'Release' || configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} jitstressregs2 R2R Build & Test", + "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}.*") + } + break + case 'r2r_jitstressregs3': + if (configuration == 'Release' || configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} jitstressregs3 R2R Build & Test", + "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}.*") + } + break + case 'r2r_jitstressregs4': + if (configuration == 'Release' || configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} jitstressregs4 R2R Build & Test", + "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}.*") + } + break + case 'r2r_jitstressregs8': + if (configuration == 'Release' || configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} jitstressregs8 R2R Build & Test", + "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}.*") + } + break + case 'r2r_jitstressregsx10': + if (configuration == 'Release' || configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} jitstressregsx10 R2R Build & Test", + "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}.*") + } + break + case 'r2r_jitstressregsx80': + if (configuration == 'Release' || configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} jitstressregsx80 R2R Build & Test", + "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}.*") + } + break + case 'r2r_jitminopts': + if (configuration == 'Release' || configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} JITMinOpts R2R Build & Test", + "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}.*") + } + break + case 'r2r_jitforcerelocs': + if (configuration == 'Release' || configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} ForceRelocs R2R Build & Test", + "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}.*") + } + break + case 'longgc': + if (configuration == 'Release') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} Long-Running GC Build & Test", + "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}.*") + } + break + case 'gcsimulator': + if (configuration == 'Release') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} GC Simulator", + "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}.*") + } + break + case 'standalone_gc': + if (configuration == 'Release' || configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} Standalone GC", + "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}.*") + } + break + case 'minopts': + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} Build and Test (Jit - MinOpts)", + "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}.*") + break + case 'forcerelocs': + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} Build and Test (Jit - ForceRelocs)", + "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}.*") + break + case 'jitstress1': + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} Build and Test (Jit - JitStress=1)", + "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}.*") + break + case 'jitstress2': + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} Build and Test (Jit - JitStress=2)", + "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}.*") + break + case 'jitstressregs1': + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} Build and Test (Jit - JitStressRegs=1)", + "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}.*") + break + case 'jitstressregs2': + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} Build and Test (Jit - JitStressRegs=2)", + "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}.*") + break + case 'jitstressregs3': + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} Build and Test (Jit - JitStressRegs=3)", + "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}.*") + break + case 'jitstressregs4': + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} Build and Test (Jit - JitStressRegs=4)", + "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}.*") + break + case 'jitstressregs8': + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} Build and Test (Jit - JitStressRegs=8)", + "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}.*") + break + case 'jitstressregs0x10': + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} Build and Test (Jit - JitStressRegs=0x10)", + "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}.*") + break + case 'jitstressregs0x80': + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} Build and Test (Jit - JitStressRegs=0x80)", + "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}.*") + break + case 'jitstress2_jitstressregs1': + case 'jitstress2_jitstressregs2': + case 'jitstress2_jitstressregs3': + case 'jitstress2_jitstressregs4': + case 'jitstress2_jitstressregs8': + case 'jitstress2_jitstressregs0x10': + case 'jitstress2_jitstressregs0x80': + case 'gcstress0x3': + case 'gcstress0xc': + case 'zapdisable': + case 'heapverify1': + case 'gcstress0xc_zapdisable': + case 'gcstress0xc_zapdisable_jitstress2': + case 'gcstress0xc_zapdisable_heapverify1': + case 'gcstress0xc_jitstress1': + case 'gcstress0xc_jitstress2': + case 'gcstress0xc_minopts_heapverify1': + def displayStr = getStressModeDisplayName(scenario) + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} Build and Test (Jit - ${displayStr})", + "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}.*") + break + default: + println("Unknown scenario: ${os} ${architecture} ${scenario}"); + assert false + break + } + break + // editor brace matching: } + case 'x86compatjit': // editor brace matching: { + assert (os == 'Windows_NT') + def arch = 'x86' + def jit = 'compatjit' + switch (scenario) { + case 'default': + if (configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Build and Test", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}.*") } break case 'pri1': - // Default trigger if (configuration == 'Release') { - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Priority 1 Build and Test") + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Priority 1 Build and Test", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+Priority 1 Build and Test.*") } break case 'ilrt': if (configuration == 'Release') { - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} IL RoundTrip Build and Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} IL RoundTrip Build and Test", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") } break case 'r2r': if (configuration == 'Checked' || configuration == 'Release') { - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} R2R pri0 Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} R2R pri0 Build & Test", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") } break case 'pri1r2r': if (configuration == 'Checked' || configuration == 'Release') { - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} R2R pri1 Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} R2R pri1 Build & Test", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") } break case 'gcstress15_pri1r2r': if (configuration == 'Release' || configuration == 'Checked') { - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} GCStress 15 R2R pri1 Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} GCStress 15 R2R pri1 Build & Test", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") } break case 'r2r_jitstress1': if (configuration == 'Release' || configuration == 'Checked') { - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstress1 R2R Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstress1 R2R Build & Test", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") } break case 'r2r_jitstress2': if (configuration == 'Release' || configuration == 'Checked') { - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstress2 R2R Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstress2 R2R Build & Test", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") } break case 'r2r_jitstressregs1': if (configuration == 'Release' || configuration == 'Checked') { - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstressregs1 R2R Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstressregs1 R2R Build & Test", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") } break case 'r2r_jitstressregs2': if (configuration == 'Release' || configuration == 'Checked') { - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstressregs2 R2R Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstressregs2 R2R Build & Test", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") } break case 'r2r_jitstressregs3': if (configuration == 'Release' || configuration == 'Checked') { - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstressregs3 R2R Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstressregs3 R2R Build & Test", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") } break case 'r2r_jitstressregs4': if (configuration == 'Release' || configuration == 'Checked') { - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstressregs4 R2R Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstressregs4 R2R Build & Test", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") } break case 'r2r_jitstressregs8': if (configuration == 'Release' || configuration == 'Checked') { - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstressregs8 R2R Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstressregs8 R2R Build & Test", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") } break case 'r2r_jitstressregsx10': if (configuration == 'Release' || configuration == 'Checked') { - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstressregsx10 R2R Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstressregsx10 R2R Build & Test", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") } break case 'r2r_jitstressregsx80': if (configuration == 'Release' || configuration == 'Checked') { - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstressregsx80 R2R Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstressregsx80 R2R Build & Test", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") } break case 'r2r_jitminopts': if (configuration == 'Release' || configuration == 'Checked') { - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} JITMinOpts R2R Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} JITMinOpts R2R Build & Test", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") } break case 'r2r_jitforcerelocs': if (configuration == 'Release' || configuration == 'Checked') { - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} ForceRelocs R2R Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} ForceRelocs R2R Build & Test", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") } break case 'longgc': if (configuration == 'Release') { - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Long-Running GC Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Long-Running GC Build & Test", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") } break case 'gcsimulator': if (configuration == 'Release') { - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} GC Simulator", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} GC Simulator", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") } break case 'minopts': - assert (os == 'Windows_NT') Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Build and Test (Jit - MinOpts)", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") break case 'forcerelocs': - assert (os == 'Windows_NT') Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Build and Test (Jit - ForceRelocs)", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") break case 'jitstress1': - assert (os == 'Windows_NT') Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Build and Test (Jit - JitStress=1)", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") break case 'jitstress2': - assert (os == 'Windows_NT') Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Build and Test (Jit - JitStress=2)", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") break case 'jitstressregs1': - assert (os == 'Windows_NT') Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Build and Test (Jit - JitStressRegs=1)", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") break case 'jitstressregs2': - assert (os == 'Windows_NT') Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Build and Test (Jit - JitStressRegs=2)", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") break case 'jitstressregs3': - assert (os == 'Windows_NT') Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Build and Test (Jit - JitStressRegs=3)", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") break case 'jitstressregs4': - assert (os == 'Windows_NT') Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Build and Test (Jit - JitStressRegs=4)", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") break case 'jitstressregs8': - assert (os == 'Windows_NT') Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Build and Test (Jit - JitStressRegs=8)", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") break case 'jitstressregs0x10': - assert (os == 'Windows_NT') Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Build and Test (Jit - JitStressRegs=0x10)", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") break case 'jitstressregs0x80': - assert (os == 'Windows_NT') Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Build and Test (Jit - JitStressRegs=0x80)", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") break @@ -1303,150 +1599,138 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os, case 'gcstress0xc_jitstress2': case 'gcstress0xc_minopts_heapverify1': def displayStr = getStressModeDisplayName(scenario) - assert (os == 'Windows_NT') Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Build and Test (Jit - ${displayStr})", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") break default: - println("Unknown scenario: ${arch} ${jit} ${scenario}"); + println("Unknown scenario: ${os} ${arch} ${jit} ${scenario}"); assert false break } break - case 'x86lb': - assert (scenario == 'default' || scenario == 'r2r' || scenario == 'pri1r2r' || scenario == 'gcstress15_pri1r2r' || scenario == 'longgc' || scenario == 'gcsimulator' || + // editor brace matching: } + case 'x86lb': // editor brace matching: { + assert (os == 'Windows_NT') + assert (scenario == 'default' || + scenario == 'r2r' || + scenario == 'pri1r2r' || + scenario == 'gcstress15_pri1r2r' || + scenario == 'longgc' || + scenario == 'gcsimulator' || Constants.r2rJitStressScenarios.indexOf(scenario) != -1) - // For windows, x86 runs by default + def arch = 'x86' - def jit = 'ryujit' - if (architecture == 'x86lb') { - jit = 'legacy_backend' - } - - if (scenario == 'default') { - if (os == 'Windows_NT') { + def jit = 'legacy_backend' + switch (scenario) { + case 'default': if (configuration == 'Checked') { - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Build and Test") + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Build and Test", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}.*") } - } - else { - // default trigger - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Build", "(?i).*test\\W+${arch}\\W+${osGroup}.\\W+${jit}.*") - } - } - else if (scenario == 'r2r') { - if (os == 'Windows_NT') { + break + case 'r2r': if (configuration == 'Release') { - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} R2R pri0 Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} R2R pri0 Build & Test", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") } - } - } - else if (scenario == 'pri1r2r') { - if (os == 'Windows_NT') { + break + case 'pri1r2r': if (configuration == 'Release') { - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} R2R pri1 Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} R2R pri1 Build & Test", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") } - } - } - else if (scenario == 'gcstress15_pri1r2r'){ - if (os == 'Windows_NT'){ - if (configuration == 'Release'){ - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} GCStress 15 R2R pri1 Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + break + case 'gcstress15_pri1r2r': + if (configuration == 'Release') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} GCStress 15 R2R pri1 Build & Test", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") } - } - } - else if (scenario == 'r2r_jitstress1'){ - if (configuration == 'Release' || configuration == 'Checked') { - if (os == 'Windows_NT'){ - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstress1 R2R Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + break + case 'r2r_jitstress1': + if (configuration == 'Release' || configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstress1 R2R Build & Test", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") } - } - } - else if (scenario == 'r2r_jitstress2'){ - if (configuration == 'Release' || configuration == 'Checked') { - if (os == 'Windows_NT'){ - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstress2 R2R Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + break + case 'r2r_jitstress2': + if (configuration == 'Release' || configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstress2 R2R Build & Test", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") } - } - } - else if (scenario == 'r2r_jitstressregs1'){ - if (configuration == 'Release' || configuration == 'Checked') { - if (os == 'Windows_NT'){ - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstressregs1 R2R Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + break + case 'r2r_jitstressregs1': + if (configuration == 'Release' || configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstressregs1 R2R Build & Test", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") } - } - } - else if (scenario == 'r2r_jitstressregs2'){ - if (configuration == 'Release' || configuration == 'Checked') { - if (os == 'Windows_NT'){ - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstressregs2 R2R Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + break + case 'r2r_jitstressregs2': + if (configuration == 'Release' || configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstressregs2 R2R Build & Test", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") } - } - } - else if (scenario == 'r2r_jitstressregs3'){ - if (configuration == 'Release' || configuration == 'Checked') { - if (os == 'Windows_NT'){ - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstressregs3 R2R Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + break + case 'r2r_jitstressregs3': + if (configuration == 'Release' || configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstressregs3 R2R Build & Test", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") } - } - } - else if (scenario == 'r2r_jitstressregs4'){ - if (configuration == 'Release' || configuration == 'Checked') { - if (os == 'Windows_NT'){ - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstressregs4 R2R Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + break + case 'r2r_jitstressregs4': + if (configuration == 'Release' || configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstressregs4 R2R Build & Test", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") } - } - } - else if (scenario == 'r2r_jitstressregs8'){ - if (configuration == 'Release' || configuration == 'Checked') { - if (os == 'Windows_NT'){ - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstressregs8 R2R Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + break + case 'r2r_jitstressregs8': + if (configuration == 'Release' || configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstressregs8 R2R Build & Test", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") } - } - } - else if (scenario == 'r2r_jitstressregsx10'){ - if (configuration == 'Release' || configuration == 'Checked') { - if (os == 'Windows_NT'){ - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstressregsx10 R2R Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + break + case 'r2r_jitstressregsx10': + if (configuration == 'Release' || configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstressregsx10 R2R Build & Test", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") } - } - } - else if (scenario == 'r2r_jitstressregsx80'){ - if (configuration == 'Release' || configuration == 'Checked') { - if (os == 'Windows_NT'){ - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstressregsx80 R2R Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + break + case 'r2r_jitstressregsx80': + if (configuration == 'Release' || configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitstressregsx80 R2R Build & Test", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") } - } - } - else if (scenario == 'r2r_jitminopts'){ - if (configuration == 'Release' || configuration == 'Checked') { - if (os == 'Windows_NT'){ - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitminopts R2R Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + break + case 'r2r_jitminopts': + if (configuration == 'Release' || configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitminopts R2R Build & Test", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") } - } - } - else if (scenario == 'r2r_jitforcerelocs'){ - if (configuration == 'Release' || configuration == 'Checked') { - if (os == 'Windows_NT'){ - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitforcerelocs R2R Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + break + case 'r2r_jitforcerelocs': + if (configuration == 'Release' || configuration == 'Checked') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} jitforcerelocs R2R Build & Test", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") } - } - } - else if (scenario == 'longgc') { - if (os == 'Windows_NT'){ - if (configuration == 'Release'){ - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Long-Running GC Build & Test", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + break + case 'longgc': + if (configuration == 'Release') { + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} Long-Running GC Build & Test", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") } - } - } - else if (scenario == 'gcsimulator') { - if (os == 'Windows_NT') { + break + case 'gcsimulator': if (configuration == 'Release') { - Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} GC Simulator", "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") + Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${arch} ${jit} ${configuration} GC Simulator", + "(?i).*test\\W+${os}\\W+${arch}\\W+${jit}\\W+${configuration}\\W+${scenario}.*") } - } + break + default: + println("Unknown scenario: ${os} ${arch} ${jit} ${scenario}"); + assert false + break } break + // editor brace matching: } default: println("Unknown architecture: ${architecture}"); assert false @@ -1470,6 +1754,14 @@ combinedScenarios.each { scenario -> os = 'Windows_NT' } + // WinArm32 is only built for Debug and Release + if (os == 'Windows_NT' && architecture == 'arm') + { + if (configuration == 'Checked') + { + return + } + } // If the OS is LinuxARMEmulator and arch is arm, set the isLinuxEmulatorBuild // flag to true and reset the os to Ubuntu // The isLinuxEmulatorBuild flag will be used at a later time to execute the right @@ -1497,12 +1789,12 @@ combinedScenarios.each { scenario -> } break case 'arm': - // Only Ubuntu cross implemented - if (os != 'Ubuntu') { + if ((os != 'Ubuntu') && (os != 'Windows_NT')) { return } break - case 'x86ryujit': + case 'x86': + case 'x86compatjit': case 'x86lb': // Skip non-windows if (os != 'Windows_NT') { @@ -1517,6 +1809,7 @@ combinedScenarios.each { scenario -> assert false break } + // Skip scenarios (blanket skipping for jit stress modes, which are good most everywhere // with checked builds def enableCorefxTesting = false @@ -1529,7 +1822,7 @@ combinedScenarios.each { scenario -> // Since these are just execution time differences, // skip platforms that don't execute the tests here (Windows_NT only) - def isEnabledOS = os == 'Windows_NT' || (os == 'Ubuntu' && enableCorefxTesting) + def isEnabledOS = (os == 'Windows_NT') || (os == 'Ubuntu' && enableCorefxTesting) if (!isEnabledOS || isBuildOnly) { return } @@ -1543,17 +1836,22 @@ combinedScenarios.each { scenario -> case 'x64': // Everything implemented break - case 'x86ryujit': + case 'x86': if (enableCorefxTesting) { return } break + case 'x86compatjit': + case 'x86lb': + // No stress modes for compatjit.dll, legacyjit.dll. + // (There's no technical reason we couldn't allow these.) + return default: return } } else { - // If this is a r2r jitstress, jitstressregs, jitminopts or forcerelocs scenario + // If this is a r2r jitstress, jitstressregs, jitminopts, or forcerelocs scenario // and configuration is not Checked, bail out. if (configuration != 'Checked' && Constants.r2rJitStressScenarios.indexOf(scenario) != -1) { return; @@ -1587,6 +1885,17 @@ combinedScenarios.each { scenario -> return } break + case 'jitdiff': + if (os != 'Windows_NT' && os != 'Ubuntu' && os != 'OSX') { + return + } + if (architecture != 'x64') { + return + } + if (configuration != 'Checked') { + return + } + break case 'r2r': // The r2r build isn't necessary except for Windows_NT. Non-Windows NT uses // the default scenario build @@ -1642,6 +1951,19 @@ combinedScenarios.each { scenario -> return } break + case 'standalone_gc': + if (os != 'Windows_NT') { + return + } + + if (architecture != 'x64') { + return + } + + if (configuration != 'Release' && configuration != 'Checked') { + return + } + break // We need Windows x64 Release bits for the code coverage build case 'coverage': if (os != 'Windows_NT') { @@ -1698,21 +2020,29 @@ combinedScenarios.each { scenario -> // Calculate the build steps, archival, and xunit results switch (os) { - case 'Windows_NT': + case 'Windows_NT': // editor brace matching: { switch (architecture) { case 'x64': - case 'x86ryujit': + case 'x86': + case 'x86compatjit': case 'x86lb': def arch = architecture - if (architecture == 'x86ryujit' || architecture == 'x86lb') { + def buildOpts = '' + if (architecture == 'x86compatjit') { arch = 'x86' + buildOpts = 'compatjitcrossgen' + } + else if (architecture == 'x86lb') { + arch = 'x86' + buildOpts = 'legacyjitcrossgen' } if (Constants.jitStressModeScenarios.containsKey(scenario) || scenario == 'default' || scenario == 'r2r' || + scenario == 'jitdiff' || Constants.r2rJitStressScenarios.indexOf(scenario) != -1) { - buildOpts = enableCorefxTesting ? 'skiptests' : '' + buildOpts += enableCorefxTesting ? ' skiptests' : '' buildCommands += "set __TestIntermediateDir=int&&build.cmd ${lowerConfiguration} ${arch} ${buildOpts}" } @@ -1723,19 +2053,23 @@ combinedScenarios.each { scenario -> // 35 characters long. else if (scenario == 'pri1' || scenario == 'pri1r2r' || scenario == 'gcstress15_pri1r2r'|| scenario == 'coverage') { - buildCommands += "set __TestIntermediateDir=int&&build.cmd ${lowerConfiguration} ${arch} -priority=1" + buildCommands += "set __TestIntermediateDir=int&&build.cmd ${lowerConfiguration} ${arch} ${buildOpts} -priority=1" } else if (scenario == 'ilrt') { // First do the build with skiptests and then build the tests with ilasm roundtrip - buildCommands += "build.cmd ${lowerConfiguration} ${arch} skiptests" + buildCommands += "build.cmd ${lowerConfiguration} ${arch} ${buildOpts} skiptests" buildCommands += "set __TestIntermediateDir=int&&build-test.cmd ${lowerConfiguration} ${arch} -ilasmroundtrip" } else if (isLongGc(scenario)) { - buildCommands += "build.cmd ${lowerConfiguration} ${arch} skiptests" + buildCommands += "build.cmd ${lowerConfiguration} ${arch} ${buildOpts} skiptests" buildCommands += "set __TestIntermediateDir=int&&build-test.cmd ${lowerConfiguration} ${arch}" } + else if (scenario == 'standalone_gc') { + buildCommands += "build.cmd ${lowerConfiguration} ${arch} ${buildOpts} buildstandalonegc" + } else if (scenario == 'formatting') { buildCommands += "python -u tests\\scripts\\format.py -c %WORKSPACE% -o Windows_NT -a ${arch}" + Utilities.addArchival(newJob, "format.patch", "", true, false) break } else { @@ -1754,6 +2088,7 @@ combinedScenarios.each { scenario -> def runjitstressregsStr = '' def runjitmioptsStr = '' def runjitforcerelocsStr = '' + def runjitdisasmStr = '' def gcstressStr = '' def runtestArguments = '' def gcTestArguments = '' @@ -1804,11 +2139,17 @@ combinedScenarios.each { scenario -> gcstressStr = 'gcstresslevel 0xF' } + if (scenario == 'jitdiff') + { + runjitdisasmStr = 'jitdisasm crossgen' + } + if (isLongGc(scenario)) { gcTestArguments = "${scenario} sequential" } - runtestArguments = "${lowerConfiguration} ${arch} ${gcstressStr} ${crossgenStr} ${runcrossgentestsStr} ${runjitstressStr} ${runjitstressregsStr} ${runjitmioptsStr} ${runjitforcerelocsStr} ${gcTestArguments}" + runtestArguments = "${lowerConfiguration} ${arch} ${gcstressStr} ${crossgenStr} ${runcrossgentestsStr} ${runjitstressStr} ${runjitstressregsStr} ${runjitmioptsStr} ${runjitforcerelocsStr} ${runjitdisasmStr} ${gcTestArguments}" + if (Constants.jitStressModeScenarios.containsKey(scenario)) { if (enableCorefxTesting) { // Sync to corefx repo @@ -1825,29 +2166,21 @@ combinedScenarios.each { scenario -> } else { def stepScriptLocation = "%WORKSPACE%\\bin\\tests\\SetStressModes.bat" - - if (architecture == 'x86ryujit'){ - def x86Vars = ['COMPLUS_AltJit' : '*', 'COMPLUS_AltJitName' : 'protojit.dll', 'COMPLUS_NoGuiOnAssert' : '1'] - buildCommands += genStressModeScriptStep(os, scenario, Constants.jitStressModeScenarios[scenario] + x86Vars, stepScriptLocation) - } - else { - buildCommands += genStressModeScriptStep(os, scenario, Constants.jitStressModeScenarios[scenario], stepScriptLocation) - } - + buildCommands += genStressModeScriptStep(os, scenario, Constants.jitStressModeScenarios[scenario], stepScriptLocation) // Run tests with the buildCommands += "tests\\runtest.cmd ${runtestArguments} TestEnv ${stepScriptLocation}" } } - else if (architecture == 'x64') { + else if (architecture == 'x64' || architecture == 'x86') { buildCommands += "tests\\runtest.cmd ${runtestArguments}" } - else if (architecture == 'x86ryujit') { - def testEnvLocation = "%WORKSPACE%\\tests\\x86\\ryujit_x86_testenv.cmd" - - buildCommands += "tests\\runtest.cmd ${runtestArguments} TestEnv ${testEnvLocation}" + else if (architecture == 'x86compatjit') { + def testEnvLocation = "%WORKSPACE%\\tests\\x86\\compatjit_x86_testenv.cmd" + buildCommands += "tests\\runtest.cmd ${runtestArguments} Exclude0 x86_legacy_backend_issues.targets TestEnv ${testEnvLocation}" } else if (architecture == 'x86lb') { - buildCommands += "tests\\runtest.cmd ${runtestArguments} Exclude0 x86_legacy_backend_issues.targets" + def testEnvLocation = "%WORKSPACE%\\tests\\x86\\legacyjit_x86_testenv.cmd" + buildCommands += "tests\\runtest.cmd ${runtestArguments} Exclude0 x86_legacy_backend_issues.targets TestEnv ${testEnvLocation}" } } @@ -1857,16 +2190,24 @@ combinedScenarios.each { scenario -> buildCommands += "build.cmd ${lowerConfiguration} ${arch} linuxmscorlib" buildCommands += "build.cmd ${lowerConfiguration} ${arch} freebsdmscorlib" buildCommands += "build.cmd ${lowerConfiguration} ${arch} osxmscorlib" - + // Zip up the tests directory so that we don't use so much space/time copying // 10s of thousands of files around. buildCommands += "powershell -Command \"Add-Type -Assembly 'System.IO.Compression.FileSystem'; [System.IO.Compression.ZipFile]::CreateFromDirectory('.\\bin\\tests\\${osGroup}.${arch}.${configuration}', '.\\bin\\tests\\tests.zip')\""; - - if (!Constants.jitStressModeScenarios.containsKey(scenario)) { + + if (!Constants.jitStressModeScenarios.containsKey(scenario) && scenario != 'jitdiff') { // For windows, pull full test results and test drops for x86/x64. // No need to pull for stress mode scenarios (downstream builds use the default scenario) Utilities.addArchival(newJob, "bin/Product/**,bin/tests/tests.zip") } + + if (scenario == 'jitdiff') { + // retrive jit-dasm output for base commit, and run jit-diff + if (!isBuildOnly) { + // if this is a build only job, we want to keep the default (build) artifacts for the flow job + Utilities.addArchival(newJob, "bin/tests/${osGroup}.${arch}.${configuration}/dasm/**") + } + } if (!isBuildOnly) { if (architecture == 'x64' || !isPR) { @@ -1889,6 +2230,22 @@ combinedScenarios.each { scenario -> } break + case 'arm': + assert (scenario == 'default') + + // Set time out + setTestJobTimeOut(newJob, scenario) + + if ( lowerConfiguration == "debug" ) { + // For Debug builds, we will do a P1 test build + buildCommands += "set __TestIntermediateDir=int&&build.cmd ${lowerConfiguration} ${architecture} -priority=1" + } + else { + buildCommands += "set __TestIntermediateDir=int&&build.cmd ${lowerConfiguration} ${architecture}" + } + // Add archival. + Utilities.addArchival(newJob, "bin/Product/**") + break case 'arm64': assert (scenario == 'default') || (scenario == 'pri1r2r') || (scenario == 'gcstress0x3') || (scenario == 'gcstress0xc') // Set time out @@ -1901,8 +2258,8 @@ combinedScenarios.each { scenario -> else { buildCommands += "set __TestIntermediateDir=int&&build.cmd skiptests ${lowerConfiguration} ${architecture} toolset_dir C:\\ats2" // Test build and run are launched together. - buildCommands += "Z:\\arm64\\common\\scripts\\arm64PostLauncher.cmd %WORKSPACE% ${architecture} ${lowerConfiguration} ${scenario}" - Utilities.addXUnitDotNETResults(newJob, 'bin/tests/testResults.xml') + buildCommands += "python tests\\scripts\\arm64_post_build.py -repo_root %WORKSPACE% -arch ${architecture} -build_type ${lowerConfiguration} -scenario ${scenario} -key_location C:\\tools\\key.txt" + //Utilities.addXUnitDotNETResults(newJob, 'bin/tests/testResults.xml') } // Add archival. @@ -1914,8 +2271,10 @@ combinedScenarios.each { scenario -> break } break + // editor brace matching: } case 'Ubuntu': case 'Ubuntu16.04': + case 'Ubuntu16.10': case 'Debian8.4': case 'OSX': case 'FreeBSD': @@ -1923,18 +2282,20 @@ combinedScenarios.each { scenario -> case 'RHEL7.2': case 'OpenSUSE13.2': case 'OpenSUSE42.1': - case 'Fedora23': + case 'Fedora23': // editor brace matching: { switch (architecture) { case 'x64': - case 'x86ryujit': + case 'x86': + case 'x86compatjit': case 'x86lb': def arch = architecture - if (architecture == 'x86ryujit' || architecture == 'x86lb') { + if (architecture == 'x86compatjit' || architecture == 'x86lb') { arch = 'x86' } if (scenario == 'formatting') { buildCommands += "python tests/scripts/format.py -c \${WORKSPACE} -o Linux -a ${arch}" + Utilities.addArchival(newJob, "format.patch", "", true, false) break } @@ -2043,12 +2404,13 @@ combinedScenarios.each { scenario -> break } break + // editor brace matching: } default: println("Unknown os: ${os}"); assert false break - } - + } // os + newJob.with { steps { if (os == 'Windows_NT') { @@ -2078,7 +2440,7 @@ combinedScenarios.each { scenario -> latestSuccessful(true) } } - copyArtifacts("${corefxFolder}/linuxarmemulator_cross_${lowerConfiguration}") { + copyArtifacts("${corefxFolder}/linuxarmemulator_softfp_cross_${lowerConfiguration}") { includePatterns('bin/build.tar.gz') buildSelector { latestSuccessful(true) @@ -2091,7 +2453,7 @@ combinedScenarios.each { scenario -> } } } - } + } // newJob.with } // os } // configuration @@ -2160,6 +2522,10 @@ combinedScenarios.each { scenario -> return } break + case 'jitdiff': + if (configuration != 'Checked') { + return; + } case 'r2r': //Skip configs that aren't Checked or Release (so just Debug, for now) if (configuration != 'Checked' && configuration != 'Release') { @@ -2196,6 +2562,10 @@ combinedScenarios.each { scenario -> return } break + case 'standalone_gc': + if (configuration != 'Release' && configuration != 'Checked') { + return + } case 'coverage': //We only want Ubuntu Release for coverage if (os != 'Ubuntu') { @@ -2273,6 +2643,7 @@ combinedScenarios.each { scenario -> def runjitstressregsStr = '' def runjitmioptsStr = '' def runjitforcerelocsStr = '' + def runjitdisasmStr = '' def gcstressStr = '' if (scenario == 'r2r' || @@ -2321,6 +2692,11 @@ combinedScenarios.each { scenario -> gcstressStr = '--gcstresslevel=0xF' } + if (scenario == 'jitdiff') + { + runjitdisasmStr = '--jitdisasm --crossgen' + } + if (isLongGc(scenario)) { // Long GC tests behave very poorly when they are not // the only test running (many of them allocate until OOM). @@ -2486,7 +2862,7 @@ combinedScenarios.each { scenario -> --coreFxBinDir=\"\${WORKSPACE}/bin/${osGroup}.AnyCPU.Release;\${WORKSPACE}/bin/Unix.AnyCPU.Release;\${WORKSPACE}/bin/AnyOS.AnyCPU.Release\" \\ --coreFxNativeBinDir=\"\${WORKSPACE}/bin/${osGroup}.${architecture}.Release\" \\ --limitedDumpGeneration \\ - ${testEnvOpt} ${serverGCString} ${gcstressStr} ${crossgenStr} ${runcrossgentestsStr} ${runjitstressStr} ${runjitstressregsStr} ${runjitmioptsStr} ${runjitforcerelocsStr} ${sequentialString} ${playlistString}""") + ${testEnvOpt} ${serverGCString} ${gcstressStr} ${crossgenStr} ${runcrossgentestsStr} ${runjitstressStr} ${runjitstressregsStr} ${runjitmioptsStr} ${runjitforcerelocsStr} ${runjitdisasmStr} ${sequentialString} ${playlistString}""") } } } @@ -2498,6 +2874,10 @@ combinedScenarios.each { scenario -> // addEmailPublisher(newJob, 'clrcoverage@microsoft.com') } + if (scenario == 'jitdiff') { + Utilities.addArchival(newJob, "bin/tests/${osGroup}.${architecture}.${configuration}/dasm/**") + } + // Experimental: If on Ubuntu 14.04, then attempt to pull in crash dump links if (os in ['Ubuntu']) { SummaryBuilder summaries = new SummaryBuilder() @@ -2566,4 +2946,4 @@ JobReport.Report.generateJobReport(out) // Make the call to generate the help job Utilities.createHelperJob(this, project, branch, "Welcome to the ${project} Repository", // This is prepended to the help message - "Have a nice day!") // This is appended to the help message. You might put known issues here. \ No newline at end of file + "Have a nice day!") // This is appended to the help message. You might put known issues here. diff --git a/perf.groovy b/perf.groovy index a95b681..d7eb783 100644 --- a/perf.groovy +++ b/perf.groovy @@ -4,10 +4,11 @@ import jobs.generation.*; def project = GithubProject def branch = GithubBranchName -def projectFolder = Utilities.getFolderName(project) + '/' + Utilities.getFolderName(branch) +def projectName = Utilities.getFolderName(project) +def projectFolder = projectName + '/' + Utilities.getFolderName(branch) def static getOSGroup(def os) { - def osGroupMap = ['Ubuntu':'Linux', + def osGroupMap = ['Ubuntu14.04':'Linux', 'RHEL7.2': 'Linux', 'Ubuntu16.04': 'Linux', 'Debian8.4':'Linux', @@ -19,7 +20,7 @@ def static getOSGroup(def os) { 'OpenSUSE13.2': 'Linux', 'OpenSUSE42.1': 'Linux', 'LinuxARMEmulator': 'Linux'] - def osGroup = osGroupMap.get(os, null) + def osGroup = osGroupMap.get(os, null) assert osGroup != null : "Could not find os group for ${os}" return osGroupMap[os] } @@ -27,9 +28,6 @@ def static getOSGroup(def os) { [true, false].each { isPR -> ['Windows_NT'].each { os -> ['x64'].each { architecture -> - def configuration = 'Release' - def runType = isPR ? 'private' : 'rolling' - def benchViewName = isPR ? 'coreclr private %ghprbPullTitle%' : 'coreclr rolling %GIT_BRANCH_WITHOUT_ORIGIN% %GIT_COMMIT%' def newJob = job(Utilities.getFullJobName(project, "perf_perflab_${os}", isPR)) { // Set the label. label('windows_clr_perf') @@ -39,20 +37,32 @@ def static getOSGroup(def os) { } } + if (isPR) + { + parameters + { + stringParam('BenchviewCommitName', '%ghprbPullTitle%', 'The name that you will be used to build the full title of a run in Benchview. The final name will be of the form private BenchviewCommitName') + } + } + def configuration = 'Release' + def runType = isPR ? 'private' : 'rolling' + def benchViewName = isPR ? 'coreclr private %BenchviewCommitName%' : 'coreclr rolling %GIT_BRANCH_WITHOUT_ORIGIN% %GIT_COMMIT%' + steps { // Batch - - batchFile("C:\\Tools\\nuget.exe install Microsoft.BenchView.JSONFormat -Source http://benchviewtestfeed.azurewebsites.net/nuget -OutputDirectory C:\\tools -Prerelease -ExcludeVersion") + + batchFile("if exist \"%WORKSPACE%\\Microsoft.BenchView.JSONFormat\" rmdir /s /q \"%WORKSPACE%\\Microsoft.BenchView.JSONFormat\"") + batchFile("C:\\Tools\\nuget.exe install Microsoft.BenchView.JSONFormat -Source http://benchviewtestfeed.azurewebsites.net/nuget -OutputDirectory \"%WORKSPACE%\" -Prerelease -ExcludeVersion") //Do this here to remove the origin but at the front of the branch name as this is a problem for BenchView //we have to do it all as one statement because cmd is called each time and we lose the set environment variable batchFile("if [%GIT_BRANCH:~0,7%] == [origin/] (set GIT_BRANCH_WITHOUT_ORIGIN=%GIT_BRANCH:origin/=%) else (set GIT_BRANCH_WITHOUT_ORIGIN=%GIT_BRANCH%)\n" + - "py C:\\tools\\Microsoft.BenchView.JSONFormat\\tools\\submission-metadata.py --name " + "\"" + benchViewName + "\"" + " --user " + "\"dotnet-bot@microsoft.com\"\n" + - "py C:\\tools\\Microsoft.BenchView.JSONFormat\\tools\\build.py git --branch %GIT_BRANCH_WITHOUT_ORIGIN% --type " + runType) - batchFile("py C:\\tools\\Microsoft.BenchView.JSONFormat\\tools\\machinedata.py") + "py \"%WORKSPACE%\\Microsoft.BenchView.JSONFormat\\tools\\submission-metadata.py\" --name " + "\"" + benchViewName + "\"" + " --user " + "\"dotnet-bot@microsoft.com\"\n" + + "py \"%WORKSPACE%\\Microsoft.BenchView.JSONFormat\\tools\\build.py\" git --branch %GIT_BRANCH_WITHOUT_ORIGIN% --type " + runType) + batchFile("py \"%WORKSPACE%\\Microsoft.BenchView.JSONFormat\\tools\\machinedata.py\"") batchFile("set __TestIntermediateDir=int&&build.cmd release ${architecture}") batchFile("tests\\runtest.cmd release ${architecture} GenerateLayoutOnly") - batchFile("tests\\scripts\\run-xunit-perf.cmd -arch ${architecture} -configuration ${configuration} -testBinLoc bin\\tests\\Windows_NT.${architecture}.Release\\performance\\perflab\\Perflab -library -uploadToBenchview C:\\Tools\\Microsoft.Benchview.JSONFormat\\tools -runtype " + runType) - batchFile("tests\\scripts\\run-xunit-perf.cmd -arch ${architecture} -configuration ${configuration} -testBinLoc bin\\tests\\Windows_NT.${architecture}.Release\\Jit\\Performance\\CodeQuality -uploadToBenchview C:\\Tools\\Microsoft.Benchview.JSONFormat\\tools -runtype " + runType) + batchFile("tests\\scripts\\run-xunit-perf.cmd -arch ${architecture} -configuration ${configuration} -testBinLoc bin\\tests\\Windows_NT.${architecture}.Release\\performance\\perflab\\Perflab -library -uploadToBenchview \"%WORKSPACE%\\Microsoft.Benchview.JSONFormat\\tools\" -runtype " + runType) + batchFile("tests\\scripts\\run-xunit-perf.cmd -arch ${architecture} -configuration ${configuration} -testBinLoc bin\\tests\\Windows_NT.${architecture}.Release\\Jit\\Performance\\CodeQuality -uploadToBenchview \"%WORKSPACE%\\Microsoft.Benchview.JSONFormat\\tools\" -runtype " + runType) } } @@ -63,7 +73,7 @@ def static getOSGroup(def os) { Utilities.addArchival(newJob, archiveSettings) Utilities.standardJobSetup(newJob, project, isPR, "*/${branch}") - + if (isPR) { TriggerBuilder builder = TriggerBuilder.triggerOnPullRequest() builder.setGithubContext("${os} CoreCLR Perf Tests") @@ -83,72 +93,67 @@ def static getOSGroup(def os) { // Create the Linux/OSX/CentOS coreclr test leg for debug and release and each scenario [true, false].each { isPR -> - ['Ubuntu'].each { os -> - def osGroup = getOSGroup(os) - def architecture = 'x64' - def configuration = 'Checked' - def newJob = job(Utilities.getFullJobName(project, "perf_${osGroup}", isPR)) { - parameters { - stringParam('CORECLR_WINDOWS_BUILD', '', 'Build number to copy CoreCLR windows test binaries from') - stringParam('CORECLR_BUILD', '', "Build number to copy CoreCLR ${osGroup} binaries from") - } - + ['Ubuntu14.04'].each { os -> + def newJob = job(Utilities.getFullJobName(project, "perf_${os}", isPR)) { + + label('linux_clr_perf') + wrappers { + credentialsBinding { + string('BV_UPLOAD_SAS_TOKEN', 'CoreCLR Perf BenchView Sas') + } + } + + if (isPR) + { + parameters + { + stringParam('BenchviewCommitName', '\$ghprbPullTitle', 'The name that you will be used to build the full title of a run in Benchview. The final name will be of the form private BenchviewCommitName') + } + } + def osGroup = getOSGroup(os) + def architecture = 'x64' + def configuration = 'Release' + def runType = isPR ? 'private' : 'rolling' + def benchViewName = isPR ? 'coreclr private \$BenchviewCommitName' : 'coreclr rolling \$GIT_BRANCH_WITHOUT_ORIGIN \$GIT_COMMIT' + steps { - // Set up the copies - // Coreclr build containing the tests and mscorlib - copyArtifacts("dotnet_coreclr/master/x64_checked_windows_nt_pri1_bld") { - excludePatterns('**/testResults.xml', '**/*.ni.dll') - buildSelector { - buildNumber('${CORECLR_WINDOWS_BUILD}') - } - } - - // Coreclr build we are trying to test - copyArtifacts("dotnet_coreclr/master/checked_ubuntu") { - excludePatterns('**/testResults.xml', '**/*.ni.dll') - buildSelector { - buildNumber('${CORECLR_BUILD}') - } - } - - def corefxFolder = Utilities.getFolderName('dotnet/corefx') + '/' + 'master' - - // Corefx components. We now have full stack builds on all distros we test here, so we can copy straight from CoreFX jobs. - def osJobName = (os == 'Ubuntu') ? 'ubuntu14.04' : os.toLowerCase() - copyArtifacts("${corefxFolder}/${osJobName}_release") { - includePatterns('bin/build.tar.gz') - buildSelector { - latestSuccessful(true) - } - } - - // Unpack the corefx binaries - shell("tar -xf ./bin/build.tar.gz") - - // Unzip the tests first. Exit with 0 - shell("unzip -q -o ./bin/tests/tests.zip -d ./bin/tests/Windows_NT.${architecture}.${configuration} || exit 0") - - // Execute the tests - shell('./init-tools.sh') - - shell("""sudo bash ./tests/scripts/run-xunit-perf.sh \\ + shell("bash ./tests/scripts/perf-prep.sh") + shell("./init-tools.sh") + shell("./build.sh ${architecture} ${configuration}") + shell("GIT_BRANCH_WITHOUT_ORIGIN=\$(echo \$GIT_BRANCH | sed \"s/[^/]*\\/\\(.*\\)/\\1 /\")\n" + + "python3.5 \"\${WORKSPACE}/tests/scripts/Microsoft.BenchView.JSONFormat/tools/submission-metadata.py\" --name " + "\"" + benchViewName + "\"" + " --user " + "\"dotnet-bot@microsoft.com\"\n" + + "python3.5 \"\${WORKSPACE}/tests/scripts/Microsoft.BenchView.JSONFormat/tools/build.py\" git --branch \$GIT_BRANCH_WITHOUT_ORIGIN --type " + runType) + shell("""sudo -E bash ./tests/scripts/run-xunit-perf.sh \\ --testRootDir=\"\${WORKSPACE}/bin/tests/Windows_NT.${architecture}.${configuration}\" \\ --testNativeBinDir=\"\${WORKSPACE}/bin/obj/${osGroup}.${architecture}.${configuration}/tests\" \\ --coreClrBinDir=\"\${WORKSPACE}/bin/Product/${osGroup}.${architecture}.${configuration}\" \\ --mscorlibDir=\"\${WORKSPACE}/bin/Product/${osGroup}.${architecture}.${configuration}\" \\ - --coreFxBinDir=\"\${WORKSPACE}/bin/${osGroup}.AnyCPU.Release;\${WORKSPACE}/bin/Unix.AnyCPU.Release;\${WORKSPACE}/bin/AnyOS.AnyCPU.Release\" \\ - --coreFxNativeBinDir=\"\${WORKSPACE}/bin/${osGroup}.${architecture}.Release\"""") + --coreFxBinDir=\"\${WORKSPACE}/corefx/bin/${osGroup}.AnyCPU.${configuration};\${WORKSPACE}/corefx/bin/Unix.AnyCPU.${configuration};\${WORKSPACE}/corefx/bin/AnyOS.AnyCPU.${configuration}\" \\ + --coreFxNativeBinDir=\"\${WORKSPACE}/corefx/bin/${osGroup}.${architecture}.${configuration}\" \\ + --runType=\"${runType}\" \\ + --benchViewOS=\"${os}\" \\ + --uploadToBenchview""") } } - Utilities.setMachineAffinity(newJob, os, 'latest-or-auto') // Just run against Linux VM's for now. - // Save machinedata.json to /artifact/bin/ Jenkins dir def archiveSettings = new ArchivalSettings() - archiveSettings.addFiles('perf-*.xml') + archiveSettings.addFiles('sandbox/perf-*.xml') + archiveSettings.addFiles('machinedata.json') Utilities.addArchival(newJob, archiveSettings) Utilities.standardJobSetup(newJob, project, isPR, "*/${branch}") + + // For perf, we need to keep the run results longer + newJob.with { + // Enable the log rotator + logRotator { + artifactDaysToKeep(7) + daysToKeep(300) + artifactNumToKeep(25) + numToKeep(1000) + } + } if (isPR) { TriggerBuilder builder = TriggerBuilder.triggerOnPullRequest() builder.setGithubContext("${os} Perf Tests") @@ -163,4 +168,4 @@ def static getOSGroup(def os) { builder.emitTrigger(newJob) } } // os -} // isPR \ No newline at end of file +} // isPR diff --git a/pgosupport.cmake b/pgosupport.cmake index 27fe13d..015eed6 100644 --- a/pgosupport.cmake +++ b/pgosupport.cmake @@ -13,7 +13,7 @@ function(add_pgo TargetName) endif(WIN32) file(TO_NATIVE_PATH - "${CLR_CMAKE_PACKAGES_DIR}/${CLR_CMAKE_OPTDATA_PACKAGEWITHRID}/${CLR_CMAKE_OPTDATA_VERSION}/data/${ProfileFileName}" + "${CLR_CMAKE_PACKAGES_DIR}/Microsoft.DotNet.OptimizationData.Coreclr/${CLR_CMAKE_TARGET_OS}.${CLR_CMAKE_TARGET_ARCH}/${ProfileFileName}" ProfilePath ) @@ -37,18 +37,6 @@ function(add_pgo TargetName) endforeach(ConfigType) endfunction(add_pgo) -set(CLR_CMAKE_OPTDATA_PACKAGEID "optimization.PGO.CoreCLR") -set(CLR_CMAKE_OPTDATA_PACKAGEWITHRID "optimization.${CLR_CMAKE_TARGET_OS}-${CLR_CMAKE_TARGET_ARCH}.PGO.CoreCLR") - -# Parse optdata package version from project.json -file(TO_NATIVE_PATH "${CMAKE_SOURCE_DIR}/extract-from-json.py" ExtractFromJsonScript) -file(TO_NATIVE_PATH "${CMAKE_SOURCE_DIR}/src/.nuget/optdata/project.json" OptDataProjectJsonPath) -execute_process( - COMMAND python "${ExtractFromJsonScript}" -rf "${OptDataProjectJsonPath}" dependencies "${CLR_CMAKE_OPTDATA_PACKAGEID}" - OUTPUT_VARIABLE CLR_CMAKE_OPTDATA_VERSION - OUTPUT_STRIP_TRAILING_WHITESPACE -) - if(WIN32) if(CLR_CMAKE_PGO_INSTRUMENT) # Instrumented PGO binaries on Windows introduce an additional runtime dependency, pgort.dll. diff --git a/publish-packages.cmd b/publish-packages.cmd index 5831d29..d23ff23 100644 --- a/publish-packages.cmd +++ b/publish-packages.cmd @@ -1,4 +1,4 @@ -@if "%_echo%" neq "on" echo off +@if not defined _echo @echo off setlocal EnableDelayedExpansion if /I [%1] == [-?] goto Usage @@ -18,6 +18,8 @@ echo -AzureAccount="account name" echo -AzureToken="access token" echo -BuildType="Configuration" echo -BuildArch="Architecture" +echo To specify the name of the container to publish into, use the following property: +echo -Container="container name" echo Architecture can be x64, x86, arm, or arm64 echo Configuration can be Release, Debug, or Checked exit /b \ No newline at end of file diff --git a/publish-packages.sh b/publish-packages.sh index 8170419..d5d4caa 100755 --- a/publish-packages.sh +++ b/publish-packages.sh @@ -8,6 +8,8 @@ usage() echo " -AzureToken=\"access token\"" echo " -BuildType=\"Configuration\"" echo " -BuildArch=\"Architecture\"" + echo "To specify the name of the container to publish into, use the following property:" + echo " -Container=\"container name\"" echo "Configuration can be Release, Checked, or Debug" echo "Architecture can be x64, x86, arm, or arm64" exit 1 @@ -16,6 +18,7 @@ usage() working_tree_root="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" $working_tree_root/run.sh publish-packages -BuildOS $* +$working_tree_root/run.sh publish-packages -BuildOS -distroRid -PublishTestNativeBins $* if [ $? -ne 0 ] then echo "ERROR: An error occurred while publishing packages; see $working_tree_root/publish-packages.log for more details. There may have been networking problems, so please try again in a few minutes." diff --git a/run.cmd b/run.cmd index 3647198..6c761b6 100644 --- a/run.cmd +++ b/run.cmd @@ -1,4 +1,4 @@ -@if "%_echo%" neq "on" echo off +@if not defined _echo @echo off setlocal if not defined VisualStudioVersion ( @@ -30,10 +30,10 @@ if NOT [%ERRORLEVEL%]==[0] ( set _toolRuntime=%~dp0Tools set _dotnet=%_toolRuntime%\dotnetcli\dotnet.exe -echo Running: %_dotnet% %_toolRuntime%\run.exe %* -call %_dotnet% %_toolRuntime%\run.exe %* +echo Running: %_dotnet% %_toolRuntime%\run.exe %~dp0config.json %* +call %_dotnet% %_toolRuntime%\run.exe %~dp0config.json %* if NOT [%ERRORLEVEL%]==[0] ( exit /b 1 ) -exit /b 0 \ No newline at end of file +exit /b 0 diff --git a/run.sh b/run.sh index 1c9299a..bd6a68f 100755 --- a/run.sh +++ b/run.sh @@ -8,8 +8,8 @@ $working_tree_root/init-tools.sh toolRuntime=$working_tree_root/Tools dotnet=$toolRuntime/dotnetcli/dotnet -echo "Running: $dotnet $toolRuntime/run.exe $*" -$dotnet $toolRuntime/run.exe $* +echo "Running: $dotnet $toolRuntime/run.exe $working_tree_root/config.json $*" +$dotnet $toolRuntime/run.exe $working_tree_root/config.json $* if [ $? -ne 0 ] then echo "ERROR: An error occured in $dotnet $toolRuntime/run $#. Check $# logs under $working_tree_root." diff --git a/src/.gitmirror b/src/.gitmirror deleted file mode 100644 index f507630..0000000 --- a/src/.gitmirror +++ /dev/null @@ -1 +0,0 @@ -Only contents of this folder, excluding subfolders, will be mirrored by the Git-TFS Mirror. \ No newline at end of file diff --git a/src/.gitmirrorselective b/src/.gitmirrorselective new file mode 100644 index 0000000..94b143d --- /dev/null +++ b/src/.gitmirrorselective @@ -0,0 +1,2 @@ +jit +ToolBox \ No newline at end of file diff --git a/src/.nuget/Microsoft.NETCore.ILAsm/Microsoft.NETCore.ILAsm.builds b/src/.nuget/Microsoft.NETCore.ILAsm/Microsoft.NETCore.ILAsm.builds index 4cc7e10..e568ca5 100644 --- a/src/.nuget/Microsoft.NETCore.ILAsm/Microsoft.NETCore.ILAsm.builds +++ b/src/.nuget/Microsoft.NETCore.ILAsm/Microsoft.NETCore.ILAsm.builds @@ -27,6 +27,10 @@ Windows_NT arm + + Linux + amd64 + Linux amd64 @@ -55,14 +59,26 @@ Linux amd64 + + Linux + arm + Linux amd64 + + Linux + arm + Linux amd64 + + Linux + amd64 + OSX amd64 diff --git a/src/.nuget/Microsoft.NETCore.ILAsm/Microsoft.NETCore.ILAsm.pkgproj b/src/.nuget/Microsoft.NETCore.ILAsm/Microsoft.NETCore.ILAsm.pkgproj index d2cc6d3..c0b2134 100644 --- a/src/.nuget/Microsoft.NETCore.ILAsm/Microsoft.NETCore.ILAsm.pkgproj +++ b/src/.nuget/Microsoft.NETCore.ILAsm/Microsoft.NETCore.ILAsm.pkgproj @@ -22,6 +22,9 @@ arm + + amd64 + amd64 @@ -43,15 +46,24 @@ amd64 + + arm + amd64 + + arm + amd64 + + amd64 + amd64 - \ No newline at end of file + diff --git a/src/.nuget/Microsoft.NETCore.ILAsm/alpine/3.4.3/Microsoft.NETCore.ILAsm.pkgproj b/src/.nuget/Microsoft.NETCore.ILAsm/alpine/3.4.3/Microsoft.NETCore.ILAsm.pkgproj new file mode 100644 index 0000000..41a5b4c --- /dev/null +++ b/src/.nuget/Microsoft.NETCore.ILAsm/alpine/3.4.3/Microsoft.NETCore.ILAsm.pkgproj @@ -0,0 +1,29 @@ + + + + + true + alpine.3.4.3-$(PackagePlatform) + + x64; + + + + + + runtimes/$(PackageTargetRuntime)/native + + + + + + + + + + runtimes/$(PackageTargetRuntime)/native + true + + + + \ No newline at end of file diff --git a/src/.nuget/Microsoft.NETCore.ILAsm/linux/Microsoft.NETCore.ILAsm.pkgproj b/src/.nuget/Microsoft.NETCore.ILAsm/linux/Microsoft.NETCore.ILAsm.pkgproj new file mode 100644 index 0000000..ce3bf63 --- /dev/null +++ b/src/.nuget/Microsoft.NETCore.ILAsm/linux/Microsoft.NETCore.ILAsm.pkgproj @@ -0,0 +1,29 @@ + + + + + true + linux-$(PackagePlatform) + + x64; + + + + + + runtimes/$(PackageTargetRuntime)/native + + + + + + + + + + runtimes/$(PackageTargetRuntime)/native + true + + + + \ No newline at end of file diff --git a/src/.nuget/Microsoft.NETCore.ILAsm/ubuntu/14.04/Microsoft.NETCore.ILAsm.pkgproj b/src/.nuget/Microsoft.NETCore.ILAsm/ubuntu/14.04/Microsoft.NETCore.ILAsm.pkgproj index 0864a65..cacadc7 100644 --- a/src/.nuget/Microsoft.NETCore.ILAsm/ubuntu/14.04/Microsoft.NETCore.ILAsm.pkgproj +++ b/src/.nuget/Microsoft.NETCore.ILAsm/ubuntu/14.04/Microsoft.NETCore.ILAsm.pkgproj @@ -4,8 +4,8 @@ true ubuntu.14.04-$(PackagePlatform) - - x64; + + x64;arm; @@ -26,4 +26,4 @@ - \ No newline at end of file + diff --git a/src/.nuget/Microsoft.NETCore.ILAsm/ubuntu/16.04/Microsoft.NETCore.ILAsm.pkgproj b/src/.nuget/Microsoft.NETCore.ILAsm/ubuntu/16.04/Microsoft.NETCore.ILAsm.pkgproj index b48290b..818495e 100644 --- a/src/.nuget/Microsoft.NETCore.ILAsm/ubuntu/16.04/Microsoft.NETCore.ILAsm.pkgproj +++ b/src/.nuget/Microsoft.NETCore.ILAsm/ubuntu/16.04/Microsoft.NETCore.ILAsm.pkgproj @@ -4,8 +4,8 @@ true ubuntu.16.04-$(PackagePlatform) - - x64; + + x64;arm; @@ -26,4 +26,4 @@ - \ No newline at end of file + diff --git a/src/.nuget/Microsoft.NETCore.ILDAsm/Microsoft.NETCore.ILDAsm.builds b/src/.nuget/Microsoft.NETCore.ILDAsm/Microsoft.NETCore.ILDAsm.builds index e7ae8e2..5939fda 100644 --- a/src/.nuget/Microsoft.NETCore.ILDAsm/Microsoft.NETCore.ILDAsm.builds +++ b/src/.nuget/Microsoft.NETCore.ILDAsm/Microsoft.NETCore.ILDAsm.builds @@ -27,6 +27,10 @@ Windows_NT arm + + Linux + amd64 + Linux amd64 @@ -55,14 +59,26 @@ Linux amd64 + + Linux + arm + Linux amd64 + + Linux + arm + Linux amd64 + + Linux + amd64 + OSX amd64 diff --git a/src/.nuget/Microsoft.NETCore.ILDAsm/Microsoft.NETCore.ILDAsm.pkgproj b/src/.nuget/Microsoft.NETCore.ILDAsm/Microsoft.NETCore.ILDAsm.pkgproj index 945bef9..47683ef 100644 --- a/src/.nuget/Microsoft.NETCore.ILDAsm/Microsoft.NETCore.ILDAsm.pkgproj +++ b/src/.nuget/Microsoft.NETCore.ILDAsm/Microsoft.NETCore.ILDAsm.pkgproj @@ -22,6 +22,9 @@ arm + + amd64 + amd64 @@ -43,15 +46,24 @@ amd64 + + arm + amd64 + + arm + amd64 + + amd64 + amd64 - \ No newline at end of file + diff --git a/src/.nuget/Microsoft.NETCore.ILDAsm/alpine/3.4.3/Microsoft.NETCore.ILDAsm.pkgproj b/src/.nuget/Microsoft.NETCore.ILDAsm/alpine/3.4.3/Microsoft.NETCore.ILDAsm.pkgproj new file mode 100644 index 0000000..b27fe08 --- /dev/null +++ b/src/.nuget/Microsoft.NETCore.ILDAsm/alpine/3.4.3/Microsoft.NETCore.ILDAsm.pkgproj @@ -0,0 +1,29 @@ + + + + + true + alpine.3.4.3-$(PackagePlatform) + + x64; + + + + + + runtimes/$(PackageTargetRuntime)/native + + + + + + + + + + runtimes/$(PackageTargetRuntime)/native + true + + + + \ No newline at end of file diff --git a/src/.nuget/Microsoft.NETCore.ILDAsm/linux/Microsoft.NETCore.ILDAsm.pkgproj b/src/.nuget/Microsoft.NETCore.ILDAsm/linux/Microsoft.NETCore.ILDAsm.pkgproj new file mode 100644 index 0000000..7a7f82d --- /dev/null +++ b/src/.nuget/Microsoft.NETCore.ILDAsm/linux/Microsoft.NETCore.ILDAsm.pkgproj @@ -0,0 +1,29 @@ + + + + + true + linux-$(PackagePlatform) + + x64; + + + + + + runtimes/$(PackageTargetRuntime)/native + + + + + + + + + + runtimes/$(PackageTargetRuntime)/native + true + + + + \ No newline at end of file diff --git a/src/.nuget/Microsoft.NETCore.ILDAsm/ubuntu/14.04/Microsoft.NETCore.ILDAsm.pkgproj b/src/.nuget/Microsoft.NETCore.ILDAsm/ubuntu/14.04/Microsoft.NETCore.ILDAsm.pkgproj index e5bdb51..e087645 100644 --- a/src/.nuget/Microsoft.NETCore.ILDAsm/ubuntu/14.04/Microsoft.NETCore.ILDAsm.pkgproj +++ b/src/.nuget/Microsoft.NETCore.ILDAsm/ubuntu/14.04/Microsoft.NETCore.ILDAsm.pkgproj @@ -4,8 +4,8 @@ true ubuntu.14.04-$(PackagePlatform) - - x64; + + x64;arm; @@ -26,4 +26,4 @@ - \ No newline at end of file + diff --git a/src/.nuget/Microsoft.NETCore.ILDAsm/ubuntu/16.04/Microsoft.NETCore.ILDAsm.pkgproj b/src/.nuget/Microsoft.NETCore.ILDAsm/ubuntu/16.04/Microsoft.NETCore.ILDAsm.pkgproj index b20c9c9..776e59b 100644 --- a/src/.nuget/Microsoft.NETCore.ILDAsm/ubuntu/16.04/Microsoft.NETCore.ILDAsm.pkgproj +++ b/src/.nuget/Microsoft.NETCore.ILDAsm/ubuntu/16.04/Microsoft.NETCore.ILDAsm.pkgproj @@ -4,8 +4,8 @@ true ubuntu.16.04-$(PackagePlatform) - - x64; + + x64;arm; @@ -26,4 +26,4 @@ - \ No newline at end of file + diff --git a/src/.nuget/Microsoft.NETCore.Jit/Microsoft.NETCore.Jit.builds b/src/.nuget/Microsoft.NETCore.Jit/Microsoft.NETCore.Jit.builds index 9095196..61c690e 100644 --- a/src/.nuget/Microsoft.NETCore.Jit/Microsoft.NETCore.Jit.builds +++ b/src/.nuget/Microsoft.NETCore.Jit/Microsoft.NETCore.Jit.builds @@ -27,6 +27,10 @@ Windows_NT arm + + Linux + amd64 + Linux amd64 @@ -55,14 +59,26 @@ Linux amd64 + + Linux + arm + Linux amd64 + + Linux + arm + Linux amd64 + + Linux + amd64 + OSX amd64 diff --git a/src/.nuget/Microsoft.NETCore.Jit/Microsoft.NETCore.Jit.pkgproj b/src/.nuget/Microsoft.NETCore.Jit/Microsoft.NETCore.Jit.pkgproj index a6a2c19..bcd4e42 100644 --- a/src/.nuget/Microsoft.NETCore.Jit/Microsoft.NETCore.Jit.pkgproj +++ b/src/.nuget/Microsoft.NETCore.Jit/Microsoft.NETCore.Jit.pkgproj @@ -21,6 +21,9 @@ arm + + amd64 + amd64 @@ -42,15 +45,24 @@ amd64 + + arm + amd64 + + arm + amd64 + + amd64 + amd64 - \ No newline at end of file + diff --git a/src/.nuget/Microsoft.NETCore.Jit/alpine/3.4.3/Microsoft.NETCore.Jit.pkgproj b/src/.nuget/Microsoft.NETCore.Jit/alpine/3.4.3/Microsoft.NETCore.Jit.pkgproj new file mode 100644 index 0000000..96851ff --- /dev/null +++ b/src/.nuget/Microsoft.NETCore.Jit/alpine/3.4.3/Microsoft.NETCore.Jit.pkgproj @@ -0,0 +1,29 @@ + + + + + true + alpine.3.4.3-$(PackagePlatform) + + x64; + + + + + + runtimes/$(PackageTargetRuntime)/native + + + + + + + + + + runtimes/$(PackageTargetRuntime)/native + true + + + + \ No newline at end of file diff --git a/src/.nuget/Microsoft.NETCore.Jit/linux/Microsoft.NETCore.Jit.pkgproj b/src/.nuget/Microsoft.NETCore.Jit/linux/Microsoft.NETCore.Jit.pkgproj new file mode 100644 index 0000000..541b81e --- /dev/null +++ b/src/.nuget/Microsoft.NETCore.Jit/linux/Microsoft.NETCore.Jit.pkgproj @@ -0,0 +1,29 @@ + + + + + true + linux-$(PackagePlatform) + + x64; + + + + + + runtimes/$(PackageTargetRuntime)/native + + + + + + + + + + runtimes/$(PackageTargetRuntime)/native + true + + + + \ No newline at end of file diff --git a/src/.nuget/Microsoft.NETCore.Jit/ubuntu/14.04/Microsoft.NETCore.Jit.pkgproj b/src/.nuget/Microsoft.NETCore.Jit/ubuntu/14.04/Microsoft.NETCore.Jit.pkgproj index e6775da..50d343f 100644 --- a/src/.nuget/Microsoft.NETCore.Jit/ubuntu/14.04/Microsoft.NETCore.Jit.pkgproj +++ b/src/.nuget/Microsoft.NETCore.Jit/ubuntu/14.04/Microsoft.NETCore.Jit.pkgproj @@ -4,8 +4,8 @@ true ubuntu.14.04-$(PackagePlatform) - - x64; + + x64;arm; @@ -26,4 +26,4 @@ - \ No newline at end of file + diff --git a/src/.nuget/Microsoft.NETCore.Jit/ubuntu/16.04/Microsoft.NETCore.Jit.pkgproj b/src/.nuget/Microsoft.NETCore.Jit/ubuntu/16.04/Microsoft.NETCore.Jit.pkgproj index dc59c2a..e57b7c5 100644 --- a/src/.nuget/Microsoft.NETCore.Jit/ubuntu/16.04/Microsoft.NETCore.Jit.pkgproj +++ b/src/.nuget/Microsoft.NETCore.Jit/ubuntu/16.04/Microsoft.NETCore.Jit.pkgproj @@ -4,8 +4,8 @@ true ubuntu.16.04-$(PackagePlatform) - - x64; + + x64;arm; @@ -26,4 +26,4 @@ - \ No newline at end of file + diff --git a/src/.nuget/Microsoft.NETCore.Jit/win/Microsoft.NETCore.Jit.pkgproj b/src/.nuget/Microsoft.NETCore.Jit/win/Microsoft.NETCore.Jit.pkgproj index 0a43ac4..66106c3 100644 --- a/src/.nuget/Microsoft.NETCore.Jit/win/Microsoft.NETCore.Jit.pkgproj +++ b/src/.nuget/Microsoft.NETCore.Jit/win/Microsoft.NETCore.Jit.pkgproj @@ -8,6 +8,7 @@ + runtimes/$(PackageTargetRuntime)/native diff --git a/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/Microsoft.NETCore.Runtime.CoreCLR.builds b/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/Microsoft.NETCore.Runtime.CoreCLR.builds index 341ec28..c7bfdc3 100644 --- a/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/Microsoft.NETCore.Runtime.CoreCLR.builds +++ b/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/Microsoft.NETCore.Runtime.CoreCLR.builds @@ -6,7 +6,6 @@ $(PackageOutputPath) - @@ -27,6 +26,10 @@ Windows_NT arm + + Linux + amd64 + Linux amd64 @@ -55,14 +58,26 @@ Linux amd64 + + Linux + arm + Linux amd64 + + Linux + arm + Linux amd64 + + Linux + amd64 + OSX amd64 diff --git a/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/Microsoft.NETCore.Runtime.CoreCLR.pkgproj b/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/Microsoft.NETCore.Runtime.CoreCLR.pkgproj index 65adcfe..a1405d5 100644 --- a/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/Microsoft.NETCore.Runtime.CoreCLR.pkgproj +++ b/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/Microsoft.NETCore.Runtime.CoreCLR.pkgproj @@ -9,18 +9,6 @@ true - - - win8-arm - $(RuntimeWin8ArmMicrosoftNETCoreRuntimeCoreCLRPackageVersion) - - - - $(MicrosoftNETCoreWindowsApiSetsPackageVersion) - amd64 @@ -31,6 +19,12 @@ x86 + + arm + + + amd64 + amd64 @@ -52,15 +46,24 @@ amd64 + + arm + amd64 + + arm + amd64 + + amd64 + amd64 - \ No newline at end of file + diff --git a/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/alpine/3.4.3/Microsoft.NETCore.Runtime.CoreCLR.pkgproj b/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/alpine/3.4.3/Microsoft.NETCore.Runtime.CoreCLR.pkgproj new file mode 100644 index 0000000..c779349 --- /dev/null +++ b/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/alpine/3.4.3/Microsoft.NETCore.Runtime.CoreCLR.pkgproj @@ -0,0 +1,56 @@ + + + + + true + alpine.3.4.3-$(PackagePlatform) + + x64; + + + + + + + + + + + + + + + + + + + + runtimes/$(PackageTargetRuntime)/native + + + + runtimes/$(PackageTargetRuntime)/lib/netstandard1.0 + + + + ref/netstandard1.0 + + + tools + + + + + + + + + + + + runtimes/$(PackageTargetRuntime)/native + true + + + + diff --git a/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/linux/Microsoft.NETCore.Runtime.CoreCLR.pkgproj b/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/linux/Microsoft.NETCore.Runtime.CoreCLR.pkgproj new file mode 100644 index 0000000..31e7196 --- /dev/null +++ b/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/linux/Microsoft.NETCore.Runtime.CoreCLR.pkgproj @@ -0,0 +1,56 @@ + + + + + true + linux-$(PackagePlatform) + + x64; + + + + + + + + + + + + + + + + + + + + runtimes/$(PackageTargetRuntime)/native + + + + runtimes/$(PackageTargetRuntime)/lib/netstandard1.0 + + + + ref/netstandard1.0 + + + tools + + + + + + + + + + + + runtimes/$(PackageTargetRuntime)/native + true + + + + diff --git a/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/ubuntu/14.04/Microsoft.NETCore.Runtime.CoreCLR.pkgproj b/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/ubuntu/14.04/Microsoft.NETCore.Runtime.CoreCLR.pkgproj index 4b1f151..86cb61a 100644 --- a/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/ubuntu/14.04/Microsoft.NETCore.Runtime.CoreCLR.pkgproj +++ b/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/ubuntu/14.04/Microsoft.NETCore.Runtime.CoreCLR.pkgproj @@ -4,12 +4,12 @@ true ubuntu.14.04-$(PackagePlatform) - - x64; + + x64;arm; - + @@ -17,8 +17,8 @@ - - + + diff --git a/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/ubuntu/16.04/Microsoft.NETCore.Runtime.CoreCLR.pkgproj b/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/ubuntu/16.04/Microsoft.NETCore.Runtime.CoreCLR.pkgproj index 7163623..72c48ee 100644 --- a/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/ubuntu/16.04/Microsoft.NETCore.Runtime.CoreCLR.pkgproj +++ b/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/ubuntu/16.04/Microsoft.NETCore.Runtime.CoreCLR.pkgproj @@ -4,12 +4,12 @@ true ubuntu.16.04-$(PackagePlatform) - - x64; + + x64;arm; - + @@ -17,8 +17,8 @@ - - + + diff --git a/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/win/Microsoft.NETCore.Runtime.CoreCLR.pkgproj b/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/win/Microsoft.NETCore.Runtime.CoreCLR.pkgproj index f77ac72..844fb0b 100644 --- a/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/win/Microsoft.NETCore.Runtime.CoreCLR.pkgproj +++ b/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/win/Microsoft.NETCore.Runtime.CoreCLR.pkgproj @@ -39,7 +39,7 @@ - + @@ -84,13 +84,13 @@ + Include="@(LongNameFiles -> 'tools\$(CrossTargetComponentFolder)_$(PackagePlatform)\%(FileName)$(CrossTargetLongNameSuffix)%(Extension)')" /> runtimes\$(PackageTargetRuntime)\native true - tools/$(CrossTargetComponentFolder)_$(PackagePlatform) + tools\$(CrossTargetComponentFolder)_$(PackagePlatform) true diff --git a/src/.nuget/Microsoft.NETCore.TestHost/Microsoft.NETCore.TestHost.builds b/src/.nuget/Microsoft.NETCore.TestHost/Microsoft.NETCore.TestHost.builds index 2ae0292..c1d076f 100644 --- a/src/.nuget/Microsoft.NETCore.TestHost/Microsoft.NETCore.TestHost.builds +++ b/src/.nuget/Microsoft.NETCore.TestHost/Microsoft.NETCore.TestHost.builds @@ -27,6 +27,10 @@ Windows_NT arm + + Linux + amd64 + Linux amd64 @@ -55,14 +59,26 @@ Linux amd64 + + Linux + arm + Linux amd64 + + Linux + arm + Linux amd64 + + Linux + amd64 + OSX amd64 diff --git a/src/.nuget/Microsoft.NETCore.TestHost/Microsoft.NETCore.TestHost.pkgproj b/src/.nuget/Microsoft.NETCore.TestHost/Microsoft.NETCore.TestHost.pkgproj index fd6f7aa..325461d 100644 --- a/src/.nuget/Microsoft.NETCore.TestHost/Microsoft.NETCore.TestHost.pkgproj +++ b/src/.nuget/Microsoft.NETCore.TestHost/Microsoft.NETCore.TestHost.pkgproj @@ -9,11 +9,6 @@ true - - - win7-arm - $(RuntimeWin7ArmMicrosoftNETCoreTestHostPackageVersion) -