mirror of
https://git.code.sf.net/p/mingw-w64/mingw-w64
synced 2025-04-18 17:44:18 +03:00
crt: Provide _aligned_msize function for all CRT import libraries
Function _aligned_msize() is available only in msvcr80+ and UCRT. It is not available in msvcrt.dll system os library. Now when the mingw-w64 aligned functions use same alignment and gap calculation we can use mingw-w64 __mingw_aligned_msize() function as implementation for CRT's _aligned_msize() function. Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
parent
b8a0910a88
commit
b40e24afb1
@ -323,6 +323,7 @@ src_msvcrt=\
|
||||
misc/__iswcsymf.c \
|
||||
misc/__sys_errlist.c \
|
||||
misc/__sys_nerr.c \
|
||||
misc/_aligned_msize.c \
|
||||
misc/_configthreadlocale.c \
|
||||
misc/_set_purecall_handler.c \
|
||||
misc/imaxdiv.c \
|
||||
@ -811,6 +812,7 @@ src_pre_msvcr80=\
|
||||
misc/__iswcsymf.c \
|
||||
misc/__sys_errlist.c \
|
||||
misc/__sys_nerr.c \
|
||||
misc/_aligned_msize.c \
|
||||
misc/_configthreadlocale.c \
|
||||
misc/_get_errno.c \
|
||||
misc/_initterm_e.c \
|
||||
|
13
mingw-w64-crt/misc/_aligned_msize.c
Normal file
13
mingw-w64-crt/misc/_aligned_msize.c
Normal file
@ -0,0 +1,13 @@
|
||||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the mingw-w64 runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
||||
*/
|
||||
|
||||
#include <malloc.h>
|
||||
|
||||
size_t __cdecl _aligned_msize(void *memory, size_t alignment, size_t offset)
|
||||
{
|
||||
return __mingw_aligned_msize(memory, alignment, offset);
|
||||
}
|
||||
size_t (__cdecl *__MINGW_IMP_SYMBOL(_aligned_msize))(void *, size_t, size_t) = _aligned_msize;
|
@ -165,8 +165,8 @@ extern "C" {
|
||||
#define _recalloc_dbg(p,c,s,t,f,l) _recalloc(p,c,s)
|
||||
#define _aligned_recalloc_dbg(p,c,s,a,f,l) _aligned_realloc(p,c,s,a)
|
||||
#define _aligned_offset_recalloc_dbg(p,c,s,a,o,f,l) _aligned_offset_recalloc(p,c,s,a,o)
|
||||
#define _aligned_msize_dbg(p,a,o) _aligned_msize(p,a,o)
|
||||
#endif
|
||||
#define _aligned_msize_dbg(p,a,o) _aligned_msize(p,a,o)
|
||||
|
||||
#define _malloca_dbg(s,t,f,l) _malloca(s)
|
||||
#define _freea_dbg(p,t) _freea(p)
|
||||
|
@ -106,8 +106,8 @@ extern "C" {
|
||||
_CRTIMP void *__cdecl _recalloc(void *_Memory,size_t _Count,size_t _Size);
|
||||
_CRTIMP void *__cdecl _aligned_recalloc(void *_Memory,size_t _Count,size_t _Size,size_t _Alignment);
|
||||
_CRTIMP void *__cdecl _aligned_offset_recalloc(void *_Memory,size_t _Count,size_t _Size,size_t _Alignment,size_t _Offset);
|
||||
_CRTIMP size_t __cdecl _aligned_msize(void *_Memory,size_t _Alignment,size_t _Offset);
|
||||
# endif
|
||||
_CRTIMP size_t __cdecl _aligned_msize(void *_Memory,size_t _Alignment,size_t _Offset);
|
||||
|
||||
#if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC)
|
||||
#pragma pop_macro("calloc")
|
||||
|
@ -462,8 +462,8 @@ float __cdecl __MINGW_NOTHROW strtof(const char * __restrict__ _Str,char ** __re
|
||||
_CRTIMP void *__cdecl _recalloc(void *_Memory,size_t _Count,size_t _Size);
|
||||
_CRTIMP void *__cdecl _aligned_recalloc(void *_Memory,size_t _Count,size_t _Size,size_t _Alignment);
|
||||
_CRTIMP void *__cdecl _aligned_offset_recalloc(void *_Memory,size_t _Count,size_t _Size,size_t _Alignment,size_t _Offset);
|
||||
_CRTIMP size_t __cdecl _aligned_msize(void *_Memory,size_t _Alignment,size_t _Offset);
|
||||
# endif
|
||||
_CRTIMP size_t __cdecl _aligned_msize(void *_Memory,size_t _Alignment,size_t _Offset);
|
||||
|
||||
#if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC)
|
||||
#pragma pop_macro("calloc")
|
||||
|
Loading…
x
Reference in New Issue
Block a user