diff --git a/ide/vs2019/mimalloc-override.vcxproj b/ide/vs2019/mimalloc-override.vcxproj
index 17b6f4c0..a0e79fb0 100644
--- a/ide/vs2019/mimalloc-override.vcxproj
+++ b/ide/vs2019/mimalloc-override.vcxproj
@@ -254,4 +254,4 @@
-
+
\ No newline at end of file
diff --git a/include/mimalloc.h b/include/mimalloc.h
index e6f68b66..b99b668a 100644
--- a/include/mimalloc.h
+++ b/include/mimalloc.h
@@ -42,13 +42,18 @@ terms of the MIT license. A copy of the license can be found in the file
#else
#define mi_decl_export __declspec(dllimport)
#endif
- #if (_MSC_VER >= 1900) && !defined(__EDG__)
- #define mi_decl_restrict __declspec(allocator) __declspec(restrict)
+ #if defined(__MINGW32__)
+ #define mi_decl_restrict
+ #define mi_attr_malloc __attribute__((malloc))
#else
- #define mi_decl_restrict __declspec(restrict)
+ #if (_MSC_VER >= 1900) && !defined(__EDG__)
+ #define mi_decl_restrict __declspec(allocator) __declspec(restrict)
+ #else
+ #define mi_decl_restrict __declspec(restrict)
+ #endif
+ #define mi_attr_malloc
#endif
#define mi_cdecl __cdecl
- #define mi_attr_malloc
#define mi_attr_alloc_size(s)
#define mi_attr_alloc_size2(s1,s2)
#define mi_attr_alloc_align(p)
diff --git a/src/os.c b/src/os.c
index 512df5be..1765a941 100644
--- a/src/os.c
+++ b/src/os.c
@@ -866,6 +866,8 @@ static void* mi_os_alloc_huge_os_pagesx(void* addr, size_t size, int numa_node)
params[0].ULong = (unsigned)numa_node;
return (*pVirtualAlloc2)(GetCurrentProcess(), addr, size, flags, PAGE_READWRITE, params, 1);
}
+ #else
+ UNUSED(numa_node);
#endif
// otherwise use regular virtual alloc on older windows
return VirtualAlloc(addr, size, flags, PAGE_READWRITE);
diff --git a/test/main-override.cpp b/test/main-override.cpp
index fdd79d2d..734e4c94 100644
--- a/test/main-override.cpp
+++ b/test/main-override.cpp
@@ -168,7 +168,7 @@ void heap_thread_free_large_worker() {
void heap_thread_free_large() {
for (int i = 0; i < 100; i++) {
- shared_p = mi_malloc(2*1024*1024 + 1);
+ shared_p = mi_malloc_aligned(2*1024*1024 + 1, 8);
auto t1 = std::thread(heap_thread_free_large_worker);
t1.join();
}