[MSVCRT_SHARED] Fix up for use with ucrtbase

This commit is contained in:
Timo Kreuzer
2025-05-26 10:38:50 +03:00
parent b11532744d
commit 52870a61ea
4 changed files with 14 additions and 4 deletions

View File

@@ -117,7 +117,7 @@ add_library(msvcrt_shared
${msvcrt_shared_asm}
)
target_compile_definitions(msvcrt_shared PRIVATE _MSVCR_VER=0)
target_compile_definitions(msvcrt_shared PRIVATE _MSVCR_VER=0 __UCRTSUPPORT__)
add_dependencies(msvcrt_shared psdk asm)
###############################################################################

View File

@@ -610,6 +610,7 @@ void throw_exception(const char* msg)
_CxxThrowException(&e, &exception_exception_type);
}
#ifndef __UCRTSUPPORT__
/******************************************************************
* ?set_terminate@@YAP6AXXZP6AXXZ@Z (MSVCRT.@)
*
@@ -639,6 +640,7 @@ terminate_function CDECL _get_terminate(void)
TRACE("returning %p\n", data->terminate_handler);
return data->terminate_handler;
}
#endif /* !__UCRTSUPPORT__ */
/******************************************************************
* ?set_unexpected@@YAP6AXXZP6AXXZ@Z (MSVCRT.@)
@@ -682,6 +684,7 @@ _se_translator_function CDECL _set_se_translator(_se_translator_function func)
return previous;
}
#ifndef __UCRTSUPPORT__
/******************************************************************
* ?terminate@@YAXXZ (MSVCRT.@)
*
@@ -711,6 +714,7 @@ void CDECL unexpected(void)
if (data->unexpected_handler) data->unexpected_handler();
terminate();
}
#endif /* !__UCRTSUPPORT__ */
/******************************************************************
@@ -898,7 +902,7 @@ void WINAPI _CxxThrowException( void *object, const cxx_exception_type *type )
for (;;) RaiseException( CXX_EXCEPTION, EXCEPTION_NONCONTINUABLE, CXX_EXCEPTION_PARAMS, args );
}
#if _MSVCR_VER >= 80
#if _MSVCR_VER >= 80 || defined(__UCRTSUPPORT__)
/*********************************************************************
* ?_is_exception_typeof@@YAHABVtype_info@@PAU_EXCEPTION_POINTERS@@@Z
@@ -971,7 +975,7 @@ void* __cdecl __AdjustPointer(void *obj, const this_ptr_offsets *off)
#endif
#if _MSVCR_VER >= 140
#if _MSVCR_VER >= 140 || defined(__UCRTSUPPORT__)
typedef struct
{

View File

@@ -522,6 +522,7 @@ static BOOL WINAPI msvcrt_console_handler(DWORD ctrlType)
return ret;
}
#ifndef __UCRTSUPPORT__
/*********************************************************************
* __pxcptinfoptrs (MSVCRT.@)
*/
@@ -529,6 +530,7 @@ void** CDECL __pxcptinfoptrs(void)
{
return (void**)&msvcrt_get_thread_data()->xcptinfo;
}
#endif /* !__UCRTSUPPORT__ */
typedef void (CDECL *float_handler)(int, int);
@@ -642,6 +644,7 @@ void msvcrt_free_signals(void)
SetConsoleCtrlHandler(msvcrt_console_handler, FALSE);
}
#ifndef __UCRTSUPPORT__
/*********************************************************************
* signal (MSVCRT.@)
* Some signals may never be generated except through an explicit call to
@@ -724,6 +727,7 @@ int CDECL raise(int sig)
}
return 0;
}
#endif /* !__UCRTSUPPORT__ */
/*********************************************************************
* _XcptFilter (MSVCRT.@)
@@ -1011,7 +1015,7 @@ struct __std_exception_data {
char dofree;
};
#if _MSVCR_VER>=140
#if _MSVCR_VER>=140 || defined(__UCRTSUPPORT__)
/*********************************************************************
* __std_exception_copy (UCRTBASE.@)

View File

@@ -39,6 +39,8 @@ int __thiscall type_info_before(type_info* _this, const type_info *rhs);
void __thiscall type_info_dtor(type_info* _this);
const char* __thiscall type_info_name(type_info* _this);
const char* __thiscall type_info_raw_name(type_info* _this);
struct __type_info_node;
const char * __thiscall type_info_name_internal_method(type_info * _this, struct __type_info_node *node);
#undef bad_cast
#undef bad_typeid