--
Best regards,
LIU Hao
From 28f1b0cc35c89f14e57fb8c950f75dc514147dd4 Mon Sep 17 00:00:00 2001
From: LIU Hao <[email protected]>
Date: Mon, 9 May 2022 16:17:46 +0800
Subject: [PATCH] crt: Hide `*recalloc()` functions for MSVCR* prior to 90

They are only available since MSVCR90, and in UCRT.

Signed-off-by: LIU Hao <[email protected]>
---
 mingw-w64-headers/crt/crtdbg.h | 7 +++++--
 mingw-w64-headers/crt/malloc.h | 6 ++++--
 mingw-w64-headers/crt/stdlib.h | 6 ++++--
 3 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/mingw-w64-headers/crt/crtdbg.h b/mingw-w64-headers/crt/crtdbg.h
index 1b4f37bbf..c8b99c817 100644
--- a/mingw-w64-headers/crt/crtdbg.h
+++ b/mingw-w64-headers/crt/crtdbg.h
@@ -142,18 +142,21 @@ extern "C" {
 #define _malloc_dbg(s,t,f,l) malloc(s)
 #define _calloc_dbg(c,s,t,f,l) calloc(c,s)
 #define _realloc_dbg(p,s,t,f,l) realloc(p,s)
-#define _recalloc_dbg(p,c,s,t,f,l) _recalloc(p,c,s)
 #define _expand_dbg(p,s,t,f,l) _expand(p,s)
 #define _free_dbg(p,t) free(p)
 #define _msize_dbg(p,t) _msize(p)
 
 #define _aligned_malloc_dbg(s,a,f,l) _aligned_malloc(s,a)
 #define _aligned_realloc_dbg(p,s,a,f,l) _aligned_realloc(p,s,a)
-#define _aligned_recalloc_dbg(p,c,s,a,f,l) _aligned_realloc(p,c,s,a)
 #define _aligned_free_dbg(p) _aligned_free(p)
 #define _aligned_offset_malloc_dbg(s,a,o,f,l) _aligned_offset_malloc(s,a,o)
 #define _aligned_offset_realloc_dbg(p,s,a,o,f,l) 
_aligned_offset_realloc(p,s,a,o)
+
+#if __MSVCRT_VERSION__ >= 0x900
+#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)
+#endif
 
 #define _malloca_dbg(s,t,f,l) _malloca(s)
 #define _freea_dbg(p,t) _freea(p)
diff --git a/mingw-w64-headers/crt/malloc.h b/mingw-w64-headers/crt/malloc.h
index 13911193f..c6698f451 100644
--- a/mingw-w64-headers/crt/malloc.h
+++ b/mingw-w64-headers/crt/malloc.h
@@ -58,16 +58,18 @@ extern "C" {
   void __cdecl free(void *_Memory);
   void *__cdecl malloc(size_t _Size);
   void *__cdecl realloc(void *_Memory,size_t _NewSize);
-  _CRTIMP void *__cdecl _recalloc(void *_Memory,size_t _Count,size_t _Size);
 
   _CRTIMP void __cdecl _aligned_free(void *_Memory);
   _CRTIMP void *__cdecl _aligned_malloc(size_t _Size,size_t _Alignment);
 
   _CRTIMP void *__cdecl _aligned_offset_malloc(size_t _Size,size_t 
_Alignment,size_t _Offset);
   _CRTIMP void *__cdecl _aligned_realloc(void *_Memory,size_t _Size,size_t 
_Alignment);
-  _CRTIMP void *__cdecl _aligned_recalloc(void *_Memory,size_t _Count,size_t 
_Size,size_t _Alignment);
   _CRTIMP void *__cdecl _aligned_offset_realloc(void *_Memory,size_t 
_Size,size_t _Alignment,size_t _Offset);
+# if __MSVCRT_VERSION__ >= 0x900
+  _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);
+# endif
 #endif
 
 /* Users should really use MS provided versions */
diff --git a/mingw-w64-headers/crt/stdlib.h b/mingw-w64-headers/crt/stdlib.h
index 609c1c4a4..8dc1de254 100644
--- a/mingw-w64-headers/crt/stdlib.h
+++ b/mingw-w64-headers/crt/stdlib.h
@@ -536,14 +536,16 @@ float __cdecl __MINGW_NOTHROW strtof(const char * 
__restrict__ _Str,char ** __re
   void __cdecl free(void *_Memory);
   void *__cdecl malloc(size_t _Size);
   void *__cdecl realloc(void *_Memory,size_t _NewSize);
-  _CRTIMP void *__cdecl _recalloc(void *_Memory,size_t _Count,size_t _Size);
   _CRTIMP void __cdecl _aligned_free(void *_Memory);
   _CRTIMP void *__cdecl _aligned_malloc(size_t _Size,size_t _Alignment);
   _CRTIMP void *__cdecl _aligned_offset_malloc(size_t _Size,size_t 
_Alignment,size_t _Offset);
   _CRTIMP void *__cdecl _aligned_realloc(void *_Memory,size_t _Size,size_t 
_Alignment);
-  _CRTIMP void *__cdecl _aligned_recalloc(void *_Memory,size_t _Count,size_t 
_Size,size_t _Alignment);
   _CRTIMP void *__cdecl _aligned_offset_realloc(void *_Memory,size_t 
_Size,size_t _Alignment,size_t _Offset);
+# if __MSVCRT_VERSION__ >= 0x900
+  _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);
+# endif
 #endif
 
 #ifndef _WSTDLIB_DEFINED
-- 
2.36.0

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to