Commit b281c471 authored by Piotr Caban's avatar Piotr Caban Committed by Alexandre Julliard

msvcrt: Add scheduler_resource_allocation_error class implementation.

parent ccdd3673
......@@ -138,10 +138,10 @@
@ stub -arch=win64 ??0scheduler_not_attached@Concurrency@@QEAA@PEBD@Z
@ stub -arch=win32 ??0scheduler_not_attached@Concurrency@@QAE@XZ
@ stub -arch=win64 ??0scheduler_not_attached@Concurrency@@QEAA@XZ
@ stub -arch=win32 ??0scheduler_resource_allocation_error@Concurrency@@QAE@J@Z
@ stub -arch=win64 ??0scheduler_resource_allocation_error@Concurrency@@QEAA@J@Z
@ stub -arch=win32 ??0scheduler_resource_allocation_error@Concurrency@@QAE@PBDJ@Z
@ stub -arch=win64 ??0scheduler_resource_allocation_error@Concurrency@@QEAA@PEBDJ@Z
@ thiscall -arch=i386 ??0scheduler_resource_allocation_error@Concurrency@@QAE@J@Z(ptr long) msvcr120.??0scheduler_resource_allocation_error@Concurrency@@QAE@J@Z
@ cdecl -arch=win64 ??0scheduler_resource_allocation_error@Concurrency@@QEAA@J@Z(ptr long) msvcr120.??0scheduler_resource_allocation_error@Concurrency@@QEAA@J@Z
@ thiscall -arch=i386 ??0scheduler_resource_allocation_error@Concurrency@@QAE@PBDJ@Z(ptr str long) msvcr120.??0scheduler_resource_allocation_error@Concurrency@@QAE@PBDJ@Z
@ cdecl -arch=win64 ??0scheduler_resource_allocation_error@Concurrency@@QEAA@PEBDJ@Z(ptr str long) msvcr120.??0scheduler_resource_allocation_error@Concurrency@@QEAA@PEBDJ@Z
@ stub -arch=win32 ??0scheduler_worker_creation_error@Concurrency@@QAE@J@Z
@ stub -arch=win64 ??0scheduler_worker_creation_error@Concurrency@@QEAA@J@Z
@ stub -arch=win32 ??0scheduler_worker_creation_error@Concurrency@@QAE@PBDJ@Z
......@@ -475,8 +475,8 @@
@ stub -arch=i386 ?done@agent@Concurrency@@IAE_NXZ
@ stub -arch=win64 ?done@agent@Concurrency@@IEAA_NXZ
@ stub ?from_numa_node@location@Concurrency@@SA?AV12@G@Z
@ stub -arch=i386 ?get_error_code@scheduler_resource_allocation_error@Concurrency@@QBEJXZ
@ stub -arch=win64 ?get_error_code@scheduler_resource_allocation_error@Concurrency@@QEBAJXZ
@ thiscall -arch=i386 ?get_error_code@scheduler_resource_allocation_error@Concurrency@@QBEJXZ(ptr) msvcr120.?get_error_code@scheduler_resource_allocation_error@Concurrency@@QBEJXZ
@ cdecl -arch=win64 ?get_error_code@scheduler_resource_allocation_error@Concurrency@@QEBAJXZ(ptr) msvcr120.?get_error_code@scheduler_resource_allocation_error@Concurrency@@QEBAJXZ
@ cdecl ?is_current_task_group_canceling@Concurrency@@YA_NXZ(ptr) msvcp120.?is_current_task_group_canceling@Concurrency@@YA_NXZ
@ thiscall -arch=i386 ?lock@critical_section@Concurrency@@QAEXXZ(ptr) msvcr120.?lock@critical_section@Concurrency@@QAEXXZ
@ cdecl -arch=win64 ?lock@critical_section@Concurrency@@QEAAXXZ(ptr) msvcr120.?lock@critical_section@Concurrency@@QEAAXXZ
......
......@@ -140,10 +140,10 @@
@ stub -arch=win64 ??0scheduler_not_attached@Concurrency@@QEAA@PEBD@Z
@ stub -arch=win32 ??0scheduler_not_attached@Concurrency@@QAE@XZ
@ stub -arch=win64 ??0scheduler_not_attached@Concurrency@@QEAA@XZ
@ stub -arch=win32 ??0scheduler_resource_allocation_error@Concurrency@@QAE@J@Z
@ stub -arch=win64 ??0scheduler_resource_allocation_error@Concurrency@@QEAA@J@Z
@ stub -arch=win32 ??0scheduler_resource_allocation_error@Concurrency@@QAE@PBDJ@Z
@ stub -arch=win64 ??0scheduler_resource_allocation_error@Concurrency@@QEAA@PEBDJ@Z
@ thiscall -arch=i386 ??0scheduler_resource_allocation_error@Concurrency@@QAE@J@Z(ptr long) scheduler_resource_allocation_error_ctor
@ cdecl -arch=win64 ??0scheduler_resource_allocation_error@Concurrency@@QEAA@J@Z(ptr long) scheduler_resource_allocation_error_ctor
@ thiscall -arch=i386 ??0scheduler_resource_allocation_error@Concurrency@@QAE@PBDJ@Z(ptr str long) scheduler_resource_allocation_error_ctor_name
@ cdecl -arch=win64 ??0scheduler_resource_allocation_error@Concurrency@@QEAA@PEBDJ@Z(ptr str long) scheduler_resource_allocation_error_ctor_name
@ thiscall -arch=win32 ??0scoped_lock@critical_section@Concurrency@@QAE@AAV12@@Z(ptr ptr) critical_section_scoped_lock_ctor
@ cdecl -arch=win64 ??0scoped_lock@critical_section@Concurrency@@QEAA@AEAV12@@Z(ptr ptr) critical_section_scoped_lock_ctor
@ stub -arch=win32 ??0scoped_lock@reader_writer_lock@Concurrency@@QAE@AAV12@@Z
......@@ -457,8 +457,8 @@
@ cdecl -arch=win64 ?_wsopen@@YAHPEB_WHHH@Z(wstr long long long) MSVCRT__wsopen
@ thiscall -arch=i386 ?before@type_info@@QBEHABV1@@Z(ptr ptr) MSVCRT_type_info_before
@ cdecl -arch=win64 ?before@type_info@@QEBAHAEBV1@@Z(ptr ptr) MSVCRT_type_info_before
@ stub -arch=win32 ?get_error_code@scheduler_resource_allocation_error@Concurrency@@QBEJXZ
@ stub -arch=win64 ?get_error_code@scheduler_resource_allocation_error@Concurrency@@QEBAJXZ
@ thiscall -arch=i386 ?get_error_code@scheduler_resource_allocation_error@Concurrency@@QBEJXZ(ptr) scheduler_resource_allocation_error_get_error_code
@ cdecl -arch=win64 ?get_error_code@scheduler_resource_allocation_error@Concurrency@@QEBAJXZ(ptr) scheduler_resource_allocation_error_get_error_code
@ thiscall -arch=win32 ?lock@critical_section@Concurrency@@QAEXXZ(ptr) critical_section_lock
@ cdecl -arch=win64 ?lock@critical_section@Concurrency@@QEAAXXZ(ptr) critical_section_lock
@ thiscall -arch=win32 ?lock@reader_writer_lock@Concurrency@@QAEXXZ(ptr) reader_writer_lock_lock
......
......@@ -236,12 +236,12 @@
@ stub -arch=arm ??0scheduler_not_attached@Concurrency@@QAA@XZ
@ stub -arch=i386 ??0scheduler_not_attached@Concurrency@@QAE@XZ
@ stub -arch=win64 ??0scheduler_not_attached@Concurrency@@QEAA@XZ
@ stub -arch=arm ??0scheduler_resource_allocation_error@Concurrency@@QAA@J@Z
@ stub -arch=i386 ??0scheduler_resource_allocation_error@Concurrency@@QAE@J@Z
@ stub -arch=win64 ??0scheduler_resource_allocation_error@Concurrency@@QEAA@J@Z
@ stub -arch=arm ??0scheduler_resource_allocation_error@Concurrency@@QAA@PBDJ@Z
@ stub -arch=i386 ??0scheduler_resource_allocation_error@Concurrency@@QAE@PBDJ@Z
@ stub -arch=win64 ??0scheduler_resource_allocation_error@Concurrency@@QEAA@PEBDJ@Z
@ cdecl -arch=arm ??0scheduler_resource_allocation_error@Concurrency@@QAA@J@Z(ptr long) scheduler_resource_allocation_error_ctor
@ thiscall -arch=i386 ??0scheduler_resource_allocation_error@Concurrency@@QAE@J@Z(ptr long) scheduler_resource_allocation_error_ctor
@ cdecl -arch=win64 ??0scheduler_resource_allocation_error@Concurrency@@QEAA@J@Z(ptr long) scheduler_resource_allocation_error_ctor
@ cdecl -arch=arm ??0scheduler_resource_allocation_error@Concurrency@@QAA@PBDJ@Z(ptr str long) scheduler_resource_allocation_error_ctor_name
@ thiscall -arch=i386 ??0scheduler_resource_allocation_error@Concurrency@@QAE@PBDJ@Z(ptr str long) scheduler_resource_allocation_error_ctor_name
@ cdecl -arch=win64 ??0scheduler_resource_allocation_error@Concurrency@@QEAA@PEBDJ@Z(ptr str long) scheduler_resource_allocation_error_ctor_name
@ stub -arch=arm ??0scheduler_worker_creation_error@Concurrency@@QAA@J@Z
@ stub -arch=i386 ??0scheduler_worker_creation_error@Concurrency@@QAE@J@Z
@ stub -arch=win64 ??0scheduler_worker_creation_error@Concurrency@@QEAA@J@Z
......@@ -743,9 +743,9 @@
@ cdecl -arch=win64 ?before@type_info@@QEBA_NAEBV1@@Z(ptr ptr) MSVCRT_type_info_before
@ stub ?current@location@Concurrency@@SA?AV12@XZ
@ stub ?from_numa_node@location@Concurrency@@SA?AV12@G@Z
@ stub -arch=arm ?get_error_code@scheduler_resource_allocation_error@Concurrency@@QBAJXZ
@ stub -arch=i386 ?get_error_code@scheduler_resource_allocation_error@Concurrency@@QBEJXZ
@ stub -arch=win64 ?get_error_code@scheduler_resource_allocation_error@Concurrency@@QEBAJXZ
@ cdecl -arch=arm ?get_error_code@scheduler_resource_allocation_error@Concurrency@@QBAJXZ(ptr) scheduler_resource_allocation_error_get_error_code
@ thiscall -arch=i386 ?get_error_code@scheduler_resource_allocation_error@Concurrency@@QBEJXZ(ptr) scheduler_resource_allocation_error_get_error_code
@ cdecl -arch=win64 ?get_error_code@scheduler_resource_allocation_error@Concurrency@@QEBAJXZ(ptr) scheduler_resource_allocation_error_get_error_code
@ cdecl -arch=arm ?lock@critical_section@Concurrency@@QAAXXZ(ptr) critical_section_lock
@ thiscall -arch=i386 ?lock@critical_section@Concurrency@@QAEXXZ(ptr) critical_section_lock
@ cdecl -arch=win64 ?lock@critical_section@Concurrency@@QEAAXXZ(ptr) critical_section_lock
......
......@@ -233,12 +233,12 @@
@ stub -arch=arm ??0scheduler_not_attached@Concurrency@@QAA@XZ
@ stub -arch=i386 ??0scheduler_not_attached@Concurrency@@QAE@XZ
@ stub -arch=win64 ??0scheduler_not_attached@Concurrency@@QEAA@XZ
@ stub -arch=arm ??0scheduler_resource_allocation_error@Concurrency@@QAA@J@Z
@ stub -arch=i386 ??0scheduler_resource_allocation_error@Concurrency@@QAE@J@Z
@ stub -arch=win64 ??0scheduler_resource_allocation_error@Concurrency@@QEAA@J@Z
@ stub -arch=arm ??0scheduler_resource_allocation_error@Concurrency@@QAA@PBDJ@Z
@ stub -arch=i386 ??0scheduler_resource_allocation_error@Concurrency@@QAE@PBDJ@Z
@ stub -arch=win64 ??0scheduler_resource_allocation_error@Concurrency@@QEAA@PEBDJ@Z
@ cdecl -arch=arm ??0scheduler_resource_allocation_error@Concurrency@@QAA@J@Z(ptr long) scheduler_resource_allocation_error_ctor
@ thiscall -arch=i386 ??0scheduler_resource_allocation_error@Concurrency@@QAE@J@Z(ptr long) scheduler_resource_allocation_error_ctor
@ cdecl -arch=win64 ??0scheduler_resource_allocation_error@Concurrency@@QEAA@J@Z(ptr long) scheduler_resource_allocation_error_ctor
@ cdecl -arch=arm ??0scheduler_resource_allocation_error@Concurrency@@QAA@PBDJ@Z(ptr str long) scheduler_resource_allocation_error_ctor_name
@ thiscall -arch=i386 ??0scheduler_resource_allocation_error@Concurrency@@QAE@PBDJ@Z(ptr str long) scheduler_resource_allocation_error_ctor_name
@ cdecl -arch=win64 ??0scheduler_resource_allocation_error@Concurrency@@QEAA@PEBDJ@Z(ptr str long) scheduler_resource_allocation_error_ctor_name
@ stub -arch=arm ??0scheduler_worker_creation_error@Concurrency@@QAA@J@Z
@ stub -arch=i386 ??0scheduler_worker_creation_error@Concurrency@@QAE@J@Z
@ stub -arch=win64 ??0scheduler_worker_creation_error@Concurrency@@QEAA@J@Z
......@@ -725,9 +725,9 @@
@ cdecl -arch=win64 ?before@type_info@@QEBA_NAEBV1@@Z(ptr ptr) MSVCRT_type_info_before
@ stub ?current@location@Concurrency@@SA?AV12@XZ
@ stub ?from_numa_node@location@Concurrency@@SA?AV12@G@Z
@ stub -arch=arm ?get_error_code@scheduler_resource_allocation_error@Concurrency@@QBAJXZ
@ stub -arch=i386 ?get_error_code@scheduler_resource_allocation_error@Concurrency@@QBEJXZ
@ stub -arch=win64 ?get_error_code@scheduler_resource_allocation_error@Concurrency@@QEBAJXZ
@ cdecl -arch=arm ?get_error_code@scheduler_resource_allocation_error@Concurrency@@QBAJXZ(ptr) scheduler_resource_allocation_error_get_error_code
@ thiscall -arch=i386 ?get_error_code@scheduler_resource_allocation_error@Concurrency@@QBEJXZ(ptr) scheduler_resource_allocation_error_get_error_code
@ cdecl -arch=win64 ?get_error_code@scheduler_resource_allocation_error@Concurrency@@QEBAJXZ(ptr) scheduler_resource_allocation_error_get_error_code
@ cdecl -arch=arm ?lock@critical_section@Concurrency@@QAAXXZ(ptr) critical_section_lock
@ thiscall -arch=i386 ?lock@critical_section@Concurrency@@QAEXXZ(ptr) critical_section_lock
@ cdecl -arch=win64 ?lock@critical_section@Concurrency@@QEAAXXZ(ptr) critical_section_lock
......
......@@ -231,12 +231,12 @@
@ stub -arch=arm ??0scheduler_not_attached@Concurrency@@QAA@XZ
@ stub -arch=i386 ??0scheduler_not_attached@Concurrency@@QAE@XZ
@ stub -arch=win64 ??0scheduler_not_attached@Concurrency@@QEAA@XZ
@ stub -arch=arm ??0scheduler_resource_allocation_error@Concurrency@@QAA@J@Z
@ stub -arch=i386 ??0scheduler_resource_allocation_error@Concurrency@@QAE@J@Z
@ stub -arch=win64 ??0scheduler_resource_allocation_error@Concurrency@@QEAA@J@Z
@ stub -arch=arm ??0scheduler_resource_allocation_error@Concurrency@@QAA@PBDJ@Z
@ stub -arch=i386 ??0scheduler_resource_allocation_error@Concurrency@@QAE@PBDJ@Z
@ stub -arch=win64 ??0scheduler_resource_allocation_error@Concurrency@@QEAA@PEBDJ@Z
@ cdecl -arch=arm ??0scheduler_resource_allocation_error@Concurrency@@QAA@J@Z(ptr long) msvcr120.??0scheduler_resource_allocation_error@Concurrency@@QAA@J@Z
@ thiscall -arch=i386 ??0scheduler_resource_allocation_error@Concurrency@@QAE@J@Z(ptr long) msvcr120.??0scheduler_resource_allocation_error@Concurrency@@QAE@J@Z
@ cdecl -arch=win64 ??0scheduler_resource_allocation_error@Concurrency@@QEAA@J@Z(ptr long) msvcr120.??0scheduler_resource_allocation_error@Concurrency@@QEAA@J@Z
@ cdecl -arch=arm ??0scheduler_resource_allocation_error@Concurrency@@QAA@PBDJ@Z(ptr str long) msvcr120.??0scheduler_resource_allocation_error@Concurrency@@QAA@PBDJ@Z
@ thiscall -arch=i386 ??0scheduler_resource_allocation_error@Concurrency@@QAE@PBDJ@Z(ptr str long) msvcr120.??0scheduler_resource_allocation_error@Concurrency@@QAE@PBDJ@Z
@ cdecl -arch=win64 ??0scheduler_resource_allocation_error@Concurrency@@QEAA@PEBDJ@Z(ptr str long) msvcr120.??0scheduler_resource_allocation_error@Concurrency@@QEAA@PEBDJ@Z
@ stub -arch=arm ??0scheduler_worker_creation_error@Concurrency@@QAA@J@Z
@ stub -arch=i386 ??0scheduler_worker_creation_error@Concurrency@@QAE@J@Z
@ stub -arch=win64 ??0scheduler_worker_creation_error@Concurrency@@QEAA@J@Z
......@@ -721,9 +721,9 @@
@ cdecl -arch=win64 ?before@type_info@@QEBA_NAEBV1@@Z(ptr ptr) msvcr120.?before@type_info@@QEBA_NAEBV1@@Z
@ stub ?current@location@Concurrency@@SA?AV12@XZ
@ stub ?from_numa_node@location@Concurrency@@SA?AV12@G@Z
@ stub -arch=arm ?get_error_code@scheduler_resource_allocation_error@Concurrency@@QBAJXZ
@ stub -arch=i386 ?get_error_code@scheduler_resource_allocation_error@Concurrency@@QBEJXZ
@ stub -arch=win64 ?get_error_code@scheduler_resource_allocation_error@Concurrency@@QEBAJXZ
@ cdecl -arch=arm ?get_error_code@scheduler_resource_allocation_error@Concurrency@@QBAJXZ(ptr) msvcr120.?get_error_code@scheduler_resource_allocation_error@Concurrency@@QBAJXZ
@ thiscall -arch=i386 ?get_error_code@scheduler_resource_allocation_error@Concurrency@@QBEJXZ(ptr) msvcr120.?get_error_code@scheduler_resource_allocation_error@Concurrency@@QBEJXZ
@ cdecl -arch=win64 ?get_error_code@scheduler_resource_allocation_error@Concurrency@@QEBAJXZ(ptr) msvcr120.?get_error_code@scheduler_resource_allocation_error@Concurrency@@QEBAJXZ
@ cdecl -arch=arm ?lock@critical_section@Concurrency@@QAAXXZ(ptr) msvcr120.?lock@critical_section@Concurrency@@QAAXXZ
@ thiscall -arch=i386 ?lock@critical_section@Concurrency@@QAEXXZ(ptr) msvcr120.?lock@critical_section@Concurrency@@QAEXXZ
@ cdecl -arch=win64 ?lock@critical_section@Concurrency@@QEAAXXZ(ptr) msvcr120.?lock@critical_section@Concurrency@@QEAAXXZ
......
......@@ -649,6 +649,68 @@ void * __thiscall MSVCRT_type_info_vector_dtor(type_info * _this, unsigned int f
return _this;
}
#if _MSVCR_VER >= 100
typedef struct {
exception e;
HRESULT hr;
} scheduler_resource_allocation_error;
extern const vtable_ptr MSVCRT_scheduler_resource_allocation_error_vtable;
/* ??0scheduler_resource_allocation_error@Concurrency@@QAE@PBDJ@Z */
/* ??0scheduler_resource_allocation_error@Concurrency@@QEAA@PEBDJ@Z */
DEFINE_THISCALL_WRAPPER(scheduler_resource_allocation_error_ctor_name, 12)
scheduler_resource_allocation_error* __thiscall scheduler_resource_allocation_error_ctor_name(
scheduler_resource_allocation_error *this, const char *name, HRESULT hr)
{
TRACE("(%p %s %x)\n", this, wine_dbgstr_a(name), hr);
MSVCRT_exception_ctor(&this->e, &name);
this->e.vtable = &MSVCRT_scheduler_resource_allocation_error_vtable;
this->hr = hr;
return this;
}
/* ??0scheduler_resource_allocation_error@Concurrency@@QAE@J@Z */
/* ??0scheduler_resource_allocation_error@Concurrency@@QEAA@J@Z */
DEFINE_THISCALL_WRAPPER(scheduler_resource_allocation_error_ctor, 8)
scheduler_resource_allocation_error* __thiscall scheduler_resource_allocation_error_ctor(
scheduler_resource_allocation_error *this, HRESULT hr)
{
return scheduler_resource_allocation_error_ctor_name(this, NULL, hr);
}
DEFINE_THISCALL_WRAPPER(MSVCRT_scheduler_resource_allocation_error_copy_ctor,8)
scheduler_resource_allocation_error* __thiscall MSVCRT_scheduler_resource_allocation_error_copy_ctor(
scheduler_resource_allocation_error *this,
const scheduler_resource_allocation_error *rhs)
{
TRACE("(%p,%p)\n", this, rhs);
if (!rhs->e.do_free)
memcpy(this, rhs, sizeof(*this));
else
scheduler_resource_allocation_error_ctor_name(this, rhs->e.name, rhs->hr);
return this;
}
/* ?get_error_code@scheduler_resource_allocation_error@Concurrency@@QBEJXZ */
/* ?get_error_code@scheduler_resource_allocation_error@Concurrency@@QEBAJXZ */
DEFINE_THISCALL_WRAPPER(scheduler_resource_allocation_error_get_error_code, 4)
HRESULT __thiscall scheduler_resource_allocation_error_get_error_code(
const scheduler_resource_allocation_error *this)
{
TRACE("(%p)\n", this);
return this->hr;
}
DEFINE_THISCALL_WRAPPER(MSVCRT_scheduler_resource_allocation_error_dtor,4)
void __thiscall MSVCRT_scheduler_resource_allocation_error_dtor(
scheduler_resource_allocation_error * this)
{
TRACE("(%p)\n", this);
MSVCRT_exception_dtor(&this->e);
}
#endif
#ifndef __GNUC__
void __asm_dummy_vtables(void) {
#endif
......@@ -672,6 +734,11 @@ __ASM_VTABLE(bad_cast,
__ASM_VTABLE(__non_rtti_object,
VTABLE_ADD_FUNC(MSVCRT___non_rtti_object_vector_dtor)
VTABLE_ADD_FUNC(MSVCRT_what_exception));
#if _MSVCR_VER >= 100
__ASM_VTABLE(scheduler_resource_allocation_error,
VTABLE_ADD_FUNC(MSVCRT_exception_vector_dtor)
VTABLE_ADD_FUNC(MSVCRT_what_exception));
#endif
#ifndef __GNUC__
}
......@@ -690,11 +757,18 @@ DEFINE_RTTI_DATA1( bad_typeid, 0, &exception_rtti_base_descriptor, ".?AVbad_type
DEFINE_RTTI_DATA1( bad_cast, 0, &exception_rtti_base_descriptor, ".?AVbad_cast@@" )
DEFINE_RTTI_DATA2( __non_rtti_object, 0, &bad_typeid_rtti_base_descriptor, &exception_rtti_base_descriptor, ".?AV__non_rtti_object@@" )
#endif
#if _MSVCR_VER >= 100
DEFINE_RTTI_DATA1(scheduler_resource_allocation_error, 0, &exception_rtti_base_descriptor,
".?AVscheduler_resource_allocation_error@Concurrency@@")
#endif
DEFINE_EXCEPTION_TYPE_INFO( exception, 0, NULL, NULL )
DEFINE_EXCEPTION_TYPE_INFO( bad_typeid, 1, &exception_cxx_type_info, NULL )
DEFINE_EXCEPTION_TYPE_INFO( bad_cast, 1, &exception_cxx_type_info, NULL )
DEFINE_EXCEPTION_TYPE_INFO( __non_rtti_object, 2, &bad_typeid_cxx_type_info, &exception_cxx_type_info )
#if _MSVCR_VER >= 100
DEFINE_EXCEPTION_TYPE_INFO(scheduler_resource_allocation_error, 1, &exception_cxx_type_info, NULL)
#endif
#if _MSVCR_VER >= 80
typedef exception bad_alloc;
......@@ -749,6 +823,9 @@ void msvcrt_init_exception(void *base)
init_bad_typeid_rtti(base);
init_bad_cast_rtti(base);
init___non_rtti_object_rtti(base);
#if _MSVCR_VER >= 100
init_scheduler_resource_allocation_error_rtti(base);
#endif
init_exception_cxx(base);
init_bad_typeid_cxx(base);
......@@ -757,6 +834,9 @@ void msvcrt_init_exception(void *base)
#if _MSVCR_VER >= 80
init_bad_alloc_cxx(base);
#endif
#if _MSVCR_VER >= 100
init_scheduler_resource_allocation_error_cxx(base);
#endif
#endif
}
......
......@@ -274,3 +274,5 @@ extern void *vtbl_wrapper_20;
#define CALL_VTBL_FUNC(this, off, ret, type, args) ((ret (__cdecl***)type)this)[0][off/4]args
#endif
exception* __thiscall MSVCRT_exception_ctor(exception*, const char**);
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment