[UCRT] Import Microsoft.Windows.SDK.CRTSource version 10.0.22621.3

Imported from https://www.nuget.org/packages/Microsoft.Windows.SDK.CRTSource/10.0.22621.3
License: MIT
This commit is contained in:
Timo Kreuzer 2024-05-11 07:03:12 +02:00
parent f1b60c66f0
commit 04e0dc4a7a
568 changed files with 115483 additions and 0 deletions

View file

@ -0,0 +1,30 @@
//
// calloc.cpp
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// Implementation of calloc(). Note that _calloc_base is defined in its own
// source file to resolve various issues when linking.
//
#include <corecrt_internal.h>
#include <malloc.h>
// Allocates a block of memory of size 'count * size' in the heap. The newly
// allocated block is zero-initialized. If allocation fails, nullptr is
// returned.
//
// This function supports patching and therefore must be marked noinline.
// Both _calloc_dbg and _calloc_base must also be marked noinline
// to prevent identical COMDAT folding from substituting calls to calloc
// with either other function or vice versa.
extern "C" _CRT_HYBRIDPATCHABLE __declspec(noinline) _CRTRESTRICT void* __cdecl calloc(
size_t const count,
size_t const size
)
{
#ifdef _DEBUG
return _calloc_dbg(count, size, _NORMAL_BLOCK, nullptr, 0);
#else
return _calloc_base(count, size);
#endif
}