add mi_cdecl to functions to avoid errors when compiling with a different calling convention, see PR #592

This commit is contained in:
daan 2022-10-31 12:16:34 -07:00
parent 698bb2cae7
commit c4663463d1
3 changed files with 8 additions and 8 deletions

View File

@ -448,7 +448,7 @@ void _mi_heap_set_default_direct(mi_heap_t* heap) {
// -------------------------------------------------------- // --------------------------------------------------------
// Run functions on process init/done, and thread init/done // Run functions on process init/done, and thread init/done
// -------------------------------------------------------- // --------------------------------------------------------
static void mi_process_done(void); static void mi_cdecl mi_process_done(void);
static bool os_preloading = true; // true until this module is initialized static bool os_preloading = true; // true until this module is initialized
static bool mi_redirected = false; // true if malloc redirects to mi_malloc static bool mi_redirected = false; // true if malloc redirects to mi_malloc
@ -479,8 +479,8 @@ mi_decl_export void _mi_redirect_entry(DWORD reason) {
mi_thread_done(); mi_thread_done();
} }
} }
__declspec(dllimport) bool mi_allocator_init(const char** message); __declspec(dllimport) bool mi_cdecl mi_allocator_init(const char** message);
__declspec(dllimport) void mi_allocator_done(void); __declspec(dllimport) void mi_cdecl mi_allocator_done(void);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
@ -579,7 +579,7 @@ void mi_process_init(void) mi_attr_noexcept {
} }
// Called when the process is done (through `at_exit`) // Called when the process is done (through `at_exit`)
static void mi_process_done(void) { static void mi_cdecl mi_process_done(void) {
// only shutdown if we were initialized // only shutdown if we were initialized
if (!_mi_process_is_initialized) return; if (!_mi_process_is_initialized) return;
// ensure we are called once // ensure we are called once

View File

@ -169,7 +169,7 @@ void mi_option_disable(mi_option_t option) {
} }
static void mi_out_stderr(const char* msg, void* arg) { static void mi_cdecl mi_out_stderr(const char* msg, void* arg) {
MI_UNUSED(arg); MI_UNUSED(arg);
if (msg == NULL) return; if (msg == NULL) return;
#ifdef _WIN32 #ifdef _WIN32
@ -202,7 +202,7 @@ static void mi_out_stderr(const char* msg, void* arg) {
static char out_buf[MI_MAX_DELAY_OUTPUT+1]; static char out_buf[MI_MAX_DELAY_OUTPUT+1];
static _Atomic(size_t) out_len; static _Atomic(size_t) out_len;
static void mi_out_buf(const char* msg, void* arg) { static void mi_cdecl mi_out_buf(const char* msg, void* arg) {
MI_UNUSED(arg); MI_UNUSED(arg);
if (msg==NULL) return; if (msg==NULL) return;
if (mi_atomic_load_relaxed(&out_len)>=MI_MAX_DELAY_OUTPUT) return; if (mi_atomic_load_relaxed(&out_len)>=MI_MAX_DELAY_OUTPUT) return;
@ -234,7 +234,7 @@ static void mi_out_buf_flush(mi_output_fun* out, bool no_more_buf, void* arg) {
// Once this module is loaded, switch to this routine // Once this module is loaded, switch to this routine
// which outputs to stderr and the delayed output buffer. // which outputs to stderr and the delayed output buffer.
static void mi_out_buf_stderr(const char* msg, void* arg) { static void mi_cdecl mi_out_buf_stderr(const char* msg, void* arg) {
mi_out_stderr(msg,arg); mi_out_stderr(msg,arg);
mi_out_buf(msg,arg); mi_out_buf(msg,arg);
} }

View File

@ -267,7 +267,7 @@ static void mi_buffered_flush(buffered_t* buf) {
buf->used = 0; buf->used = 0;
} }
static void mi_buffered_out(const char* msg, void* arg) { static void mi_cdecl mi_buffered_out(const char* msg, void* arg) {
buffered_t* buf = (buffered_t*)arg; buffered_t* buf = (buffered_t*)arg;
if (msg==NULL || buf==NULL) return; if (msg==NULL || buf==NULL) return;
for (const char* src = msg; *src != 0; src++) { for (const char* src = msg; *src != 0; src++) {