mirror of
https://github.com/reactos/reactos.git
synced 2026-05-30 23:33:24 +08:00
[MSVCRT_SHARED] Fix up for use with ucrtbase
This commit is contained in:
@@ -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)
|
||||
|
||||
###############################################################################
|
||||
|
||||
@@ -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
|
||||
{
|
||||
|
||||
@@ -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.@)
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user