- Moved from mailing list to GitLab - Compile warnings are fixed
@piotr
-- v3: msvcr100: Implement invalid_multiple_scheduling exception. msvcr100: Make all exception ctors with a string parameter trace the string.
From: Torge Matthies tmatthies@codeweavers.com
Signed-off-by: Torge Matthies tmatthies@codeweavers.com --- dlls/msvcrt/concurrency.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/dlls/msvcrt/concurrency.c b/dlls/msvcrt/concurrency.c index c982e367749..e57aef34d2b 100644 --- a/dlls/msvcrt/concurrency.c +++ b/dlls/msvcrt/concurrency.c @@ -378,7 +378,7 @@ static void create_default_scheduler(void); DEFINE_THISCALL_WRAPPER(improper_lock_ctor_str, 8) improper_lock* __thiscall improper_lock_ctor_str(improper_lock *this, const char *str) { - TRACE("(%p %p)\n", this, str); + TRACE("(%p %s)\n", this, str); return __exception_ctor(this, str, &improper_lock_vtable); }
@@ -403,7 +403,7 @@ DEFINE_THISCALL_WRAPPER(improper_scheduler_attach_ctor_str, 8) improper_scheduler_attach* __thiscall improper_scheduler_attach_ctor_str( improper_scheduler_attach *this, const char *str) { - TRACE("(%p %p)\n", this, str); + TRACE("(%p %s)\n", this, str); return __exception_ctor(this, str, &improper_scheduler_attach_vtable); }
@@ -430,7 +430,7 @@ DEFINE_THISCALL_WRAPPER(improper_scheduler_detach_ctor_str, 8) improper_scheduler_detach* __thiscall improper_scheduler_detach_ctor_str( improper_scheduler_detach *this, const char *str) { - TRACE("(%p %p)\n", this, str); + TRACE("(%p %s)\n", this, str); return __exception_ctor(this, str, &improper_scheduler_detach_vtable); }
@@ -457,7 +457,7 @@ DEFINE_THISCALL_WRAPPER(invalid_scheduler_policy_key_ctor_str, 8) invalid_scheduler_policy_key* __thiscall invalid_scheduler_policy_key_ctor_str( invalid_scheduler_policy_key *this, const char *str) { - TRACE("(%p %p)\n", this, str); + TRACE("(%p %s)\n", this, str); return __exception_ctor(this, str, &invalid_scheduler_policy_key_vtable); }
@@ -484,7 +484,7 @@ DEFINE_THISCALL_WRAPPER(invalid_scheduler_policy_thread_specification_ctor_str, invalid_scheduler_policy_thread_specification* __thiscall invalid_scheduler_policy_thread_specification_ctor_str( invalid_scheduler_policy_thread_specification *this, const char *str) { - TRACE("(%p %p)\n", this, str); + TRACE("(%p %s)\n", this, str); return __exception_ctor(this, str, &invalid_scheduler_policy_thread_specification_vtable); }
@@ -511,7 +511,7 @@ DEFINE_THISCALL_WRAPPER(invalid_scheduler_policy_value_ctor_str, 8) invalid_scheduler_policy_value* __thiscall invalid_scheduler_policy_value_ctor_str( invalid_scheduler_policy_value *this, const char *str) { - TRACE("(%p %p)\n", this, str); + TRACE("(%p %s)\n", this, str); return __exception_ctor(this, str, &invalid_scheduler_policy_value_vtable); }
From: Torge Matthies tmatthies@codeweavers.com
Signed-off-by: Torge Matthies tmatthies@codeweavers.com --- dlls/concrt140/concrt140.spec | 12 ++++----- dlls/msvcr100/msvcr100.spec | 8 +++--- dlls/msvcr110/msvcr110.spec | 12 ++++----- dlls/msvcr120/msvcr120.spec | 12 ++++----- dlls/msvcr120_app/msvcr120_app.spec | 12 ++++----- dlls/msvcrt/concurrency.c | 38 +++++++++++++++++++++++++++++ 6 files changed, 66 insertions(+), 28 deletions(-)
diff --git a/dlls/concrt140/concrt140.spec b/dlls/concrt140/concrt140.spec index 9370566bb2c..64da684f415 100644 --- a/dlls/concrt140/concrt140.spec +++ b/dlls/concrt140/concrt140.spec @@ -144,12 +144,12 @@ @ stub -arch=arm ??0invalid_link_target@Concurrency@@QAA@XZ @ stub -arch=i386 ??0invalid_link_target@Concurrency@@QAE@XZ @ stub -arch=win64 ??0invalid_link_target@Concurrency@@QEAA@XZ -@ stub -arch=arm ??0invalid_multiple_scheduling@Concurrency@@QAA@PBD@Z -@ stub -arch=i386 ??0invalid_multiple_scheduling@Concurrency@@QAE@PBD@Z -@ stub -arch=win64 ??0invalid_multiple_scheduling@Concurrency@@QEAA@PEBD@Z -@ stub -arch=arm ??0invalid_multiple_scheduling@Concurrency@@QAA@XZ -@ stub -arch=i386 ??0invalid_multiple_scheduling@Concurrency@@QAE@XZ -@ stub -arch=win64 ??0invalid_multiple_scheduling@Concurrency@@QEAA@XZ +@ cdecl -arch=arm ??0invalid_multiple_scheduling@Concurrency@@QAA@PBD@Z(ptr ptr) invalid_multiple_scheduling_ctor_str +@ thiscall -arch=i386 ??0invalid_multiple_scheduling@Concurrency@@QAE@PBD@Z(ptr ptr) invalid_multiple_scheduling_ctor_str +@ cdecl -arch=win64 ??0invalid_multiple_scheduling@Concurrency@@QEAA@PEBD@Z(ptr ptr) invalid_multiple_scheduling_ctor_str +@ cdecl -arch=arm ??0invalid_multiple_scheduling@Concurrency@@QAA@XZ(ptr) invalid_multiple_scheduling_ctor +@ thiscall -arch=i386 ??0invalid_multiple_scheduling@Concurrency@@QAE@XZ(ptr) invalid_multiple_scheduling_ctor +@ cdecl -arch=win64 ??0invalid_multiple_scheduling@Concurrency@@QEAA@XZ(ptr) invalid_multiple_scheduling_ctor @ stub -arch=arm ??0invalid_oversubscribe_operation@Concurrency@@QAA@PBD@Z @ stub -arch=i386 ??0invalid_oversubscribe_operation@Concurrency@@QAE@PBD@Z @ stub -arch=win64 ??0invalid_oversubscribe_operation@Concurrency@@QEAA@PEBD@Z diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec index 0d38005c13a..c0bbbc5b86d 100644 --- a/dlls/msvcr100/msvcr100.spec +++ b/dlls/msvcr100/msvcr100.spec @@ -94,10 +94,10 @@ @ stub -arch=win64 ??0invalid_link_target@Concurrency@@QEAA@PEBD@Z @ stub -arch=win32 ??0invalid_link_target@Concurrency@@QAE@XZ @ stub -arch=win64 ??0invalid_link_target@Concurrency@@QEAA@XZ -@ stub -arch=win32 ??0invalid_multiple_scheduling@Concurrency@@QAE@PBD@Z -@ stub -arch=win64 ??0invalid_multiple_scheduling@Concurrency@@QEAA@PEBD@Z -@ stub -arch=win32 ??0invalid_multiple_scheduling@Concurrency@@QAE@XZ -@ stub -arch=win64 ??0invalid_multiple_scheduling@Concurrency@@QEAA@XZ +@ thiscall -arch=win32 ??0invalid_multiple_scheduling@Concurrency@@QAE@PBD@Z(ptr ptr) invalid_multiple_scheduling_ctor_str +@ cdecl -arch=win64 ??0invalid_multiple_scheduling@Concurrency@@QEAA@PEBD@Z(ptr ptr) invalid_multiple_scheduling_ctor_str +@ thiscall -arch=win32 ??0invalid_multiple_scheduling@Concurrency@@QAE@XZ(ptr) invalid_multiple_scheduling_ctor +@ cdecl -arch=win64 ??0invalid_multiple_scheduling@Concurrency@@QEAA@XZ(ptr) invalid_multiple_scheduling_ctor @ stub -arch=win32 ??0invalid_operation@Concurrency@@QAE@PBD@Z @ stub -arch=win64 ??0invalid_operation@Concurrency@@QEAA@PEBD@Z @ stub -arch=win32 ??0invalid_operation@Concurrency@@QAE@XZ diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec index 24e7630194c..a272ae98a1c 100644 --- a/dlls/msvcr110/msvcr110.spec +++ b/dlls/msvcr110/msvcr110.spec @@ -167,12 +167,12 @@ @ stub -arch=arm ??0invalid_link_target@Concurrency@@QAA@XZ @ stub -arch=i386 ??0invalid_link_target@Concurrency@@QAE@XZ @ stub -arch=win64 ??0invalid_link_target@Concurrency@@QEAA@XZ -@ stub -arch=arm ??0invalid_multiple_scheduling@Concurrency@@QAA@PBD@Z -@ stub -arch=i386 ??0invalid_multiple_scheduling@Concurrency@@QAE@PBD@Z -@ stub -arch=win64 ??0invalid_multiple_scheduling@Concurrency@@QEAA@PEBD@Z -@ stub -arch=arm ??0invalid_multiple_scheduling@Concurrency@@QAA@XZ -@ stub -arch=i386 ??0invalid_multiple_scheduling@Concurrency@@QAE@XZ -@ stub -arch=win64 ??0invalid_multiple_scheduling@Concurrency@@QEAA@XZ +@ cdecl -arch=arm ??0invalid_multiple_scheduling@Concurrency@@QAA@PBD@Z(ptr ptr) invalid_multiple_scheduling_ctor_str +@ thiscall -arch=i386 ??0invalid_multiple_scheduling@Concurrency@@QAE@PBD@Z(ptr ptr) invalid_multiple_scheduling_ctor_str +@ cdecl -arch=win64 ??0invalid_multiple_scheduling@Concurrency@@QEAA@PEBD@Z(ptr ptr) invalid_multiple_scheduling_ctor_str +@ cdecl -arch=arm ??0invalid_multiple_scheduling@Concurrency@@QAA@XZ(ptr) invalid_multiple_scheduling_ctor +@ thiscall -arch=i386 ??0invalid_multiple_scheduling@Concurrency@@QAE@XZ(ptr) invalid_multiple_scheduling_ctor +@ cdecl -arch=win64 ??0invalid_multiple_scheduling@Concurrency@@QEAA@XZ(ptr) invalid_multiple_scheduling_ctor @ stub -arch=arm ??0invalid_operation@Concurrency@@QAA@PBD@Z @ stub -arch=i386 ??0invalid_operation@Concurrency@@QAE@PBD@Z @ stub -arch=win64 ??0invalid_operation@Concurrency@@QEAA@PEBD@Z diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec index b1258dad5de..d16316e7e05 100644 --- a/dlls/msvcr120/msvcr120.spec +++ b/dlls/msvcr120/msvcr120.spec @@ -164,12 +164,12 @@ @ stub -arch=arm ??0invalid_link_target@Concurrency@@QAA@XZ @ stub -arch=i386 ??0invalid_link_target@Concurrency@@QAE@XZ @ stub -arch=win64 ??0invalid_link_target@Concurrency@@QEAA@XZ -@ stub -arch=arm ??0invalid_multiple_scheduling@Concurrency@@QAA@PBD@Z -@ stub -arch=i386 ??0invalid_multiple_scheduling@Concurrency@@QAE@PBD@Z -@ stub -arch=win64 ??0invalid_multiple_scheduling@Concurrency@@QEAA@PEBD@Z -@ stub -arch=arm ??0invalid_multiple_scheduling@Concurrency@@QAA@XZ -@ stub -arch=i386 ??0invalid_multiple_scheduling@Concurrency@@QAE@XZ -@ stub -arch=win64 ??0invalid_multiple_scheduling@Concurrency@@QEAA@XZ +@ cdecl -arch=arm ??0invalid_multiple_scheduling@Concurrency@@QAA@PBD@Z(ptr ptr) invalid_multiple_scheduling_ctor_str +@ thiscall -arch=i386 ??0invalid_multiple_scheduling@Concurrency@@QAE@PBD@Z(ptr ptr) invalid_multiple_scheduling_ctor_str +@ cdecl -arch=win64 ??0invalid_multiple_scheduling@Concurrency@@QEAA@PEBD@Z(ptr ptr) invalid_multiple_scheduling_ctor_str +@ cdecl -arch=arm ??0invalid_multiple_scheduling@Concurrency@@QAA@XZ(ptr) invalid_multiple_scheduling_ctor +@ thiscall -arch=i386 ??0invalid_multiple_scheduling@Concurrency@@QAE@XZ(ptr) invalid_multiple_scheduling_ctor +@ cdecl -arch=win64 ??0invalid_multiple_scheduling@Concurrency@@QEAA@XZ(ptr) invalid_multiple_scheduling_ctor @ stub -arch=arm ??0invalid_operation@Concurrency@@QAA@PBD@Z @ stub -arch=i386 ??0invalid_operation@Concurrency@@QAE@PBD@Z @ stub -arch=win64 ??0invalid_operation@Concurrency@@QEAA@PEBD@Z diff --git a/dlls/msvcr120_app/msvcr120_app.spec b/dlls/msvcr120_app/msvcr120_app.spec index 93ce779ea69..aa5d8ccf968 100644 --- a/dlls/msvcr120_app/msvcr120_app.spec +++ b/dlls/msvcr120_app/msvcr120_app.spec @@ -162,12 +162,12 @@ @ stub -arch=arm ??0invalid_link_target@Concurrency@@QAA@XZ @ stub -arch=i386 ??0invalid_link_target@Concurrency@@QAE@XZ @ stub -arch=win64 ??0invalid_link_target@Concurrency@@QEAA@XZ -@ stub -arch=arm ??0invalid_multiple_scheduling@Concurrency@@QAA@PBD@Z -@ stub -arch=i386 ??0invalid_multiple_scheduling@Concurrency@@QAE@PBD@Z -@ stub -arch=win64 ??0invalid_multiple_scheduling@Concurrency@@QEAA@PEBD@Z -@ stub -arch=arm ??0invalid_multiple_scheduling@Concurrency@@QAA@XZ -@ stub -arch=i386 ??0invalid_multiple_scheduling@Concurrency@@QAE@XZ -@ stub -arch=win64 ??0invalid_multiple_scheduling@Concurrency@@QEAA@XZ +@ cdecl -arch=arm ??0invalid_multiple_scheduling@Concurrency@@QAA@PBD@Z(ptr ptr) msvcr120.??0invalid_multiple_scheduling@Concurrency@@QAA@PBD@Z +@ thiscall -arch=i386 ??0invalid_multiple_scheduling@Concurrency@@QAE@PBD@Z(ptr ptr) msvcr120.??0invalid_multiple_scheduling@Concurrency@@QAE@PBD@Z +@ cdecl -arch=win64 ??0invalid_multiple_scheduling@Concurrency@@QEAA@PEBD@Z(ptr ptr) msvcr120.??0invalid_multiple_scheduling@Concurrency@@QEAA@PEBD@Z +@ cdecl -arch=arm ??0invalid_multiple_scheduling@Concurrency@@QAA@XZ(ptr) msvcr120.??0invalid_multiple_scheduling@Concurrency@@QAA@XZ +@ thiscall -arch=i386 ??0invalid_multiple_scheduling@Concurrency@@QAE@XZ(ptr) msvcr120.??0invalid_multiple_scheduling@Concurrency@@QAE@XZ +@ cdecl -arch=win64 ??0invalid_multiple_scheduling@Concurrency@@QEAA@XZ(ptr) msvcr120.??0invalid_multiple_scheduling@Concurrency@@QEAA@XZ @ stub -arch=arm ??0invalid_operation@Concurrency@@QAA@PBD@Z @ stub -arch=i386 ??0invalid_operation@Concurrency@@QAE@PBD@Z @ stub -arch=win64 ??0invalid_operation@Concurrency@@QEAA@PEBD@Z diff --git a/dlls/msvcrt/concurrency.c b/dlls/msvcrt/concurrency.c index e57aef34d2b..d0c9924c631 100644 --- a/dlls/msvcrt/concurrency.c +++ b/dlls/msvcrt/concurrency.c @@ -329,6 +329,9 @@ extern const vtable_ptr improper_scheduler_attach_vtable; typedef exception improper_scheduler_detach; extern const vtable_ptr improper_scheduler_detach_vtable;
+typedef exception invalid_multiple_scheduling; +extern const vtable_ptr invalid_multiple_scheduling_vtable; + typedef exception invalid_scheduler_policy_key; extern const vtable_ptr invalid_scheduler_policy_key_vtable;
@@ -451,6 +454,35 @@ improper_scheduler_detach * __thiscall improper_scheduler_detach_copy_ctor( return __exception_copy_ctor(_this, rhs, &improper_scheduler_detach_vtable); }
+/* ??0invalid_multiple_scheduling@Concurrency@@QAA@PBD@Z */ +/* ??0invalid_multiple_scheduling@Concurrency@@QAE@PBD@Z */ +/* ??0invalid_multiple_scheduling@Concurrency@@QEAA@PEBD@Z */ +DEFINE_THISCALL_WRAPPER(invalid_multiple_scheduling_ctor_str, 8) +invalid_multiple_scheduling* __thiscall invalid_multiple_scheduling_ctor_str( + invalid_multiple_scheduling *this, const char *str) +{ + TRACE("(%p %s)\n", this, str); + return __exception_ctor(this, str, &invalid_multiple_scheduling_vtable); +} + +/* ??0invalid_multiple_scheduling@Concurrency@@QAA@XZ */ +/* ??0invalid_multiple_scheduling@Concurrency@@QAE@XZ */ +/* ??0invalid_multiple_scheduling@Concurrency@@QEAA@XZ */ +DEFINE_THISCALL_WRAPPER(invalid_multiple_scheduling_ctor, 4) +invalid_multiple_scheduling* __thiscall invalid_multiple_scheduling_ctor( + invalid_multiple_scheduling *this) +{ + return invalid_multiple_scheduling_ctor_str(this, NULL); +} + +DEFINE_THISCALL_WRAPPER(invalid_multiple_scheduling_copy_ctor,8) +invalid_multiple_scheduling * __thiscall invalid_multiple_scheduling_copy_ctor( + invalid_multiple_scheduling * _this, const invalid_multiple_scheduling * rhs) +{ + TRACE("(%p %p)\n", _this, rhs); + return __exception_copy_ctor(_this, rhs, &invalid_multiple_scheduling_vtable); +} + /* ??0invalid_scheduler_policy_key@Concurrency@@QAE@PBD@Z */ /* ??0invalid_scheduler_policy_key@Concurrency@@QEAA@PEBD@Z */ DEFINE_THISCALL_WRAPPER(invalid_scheduler_policy_key_ctor_str, 8) @@ -583,6 +615,8 @@ DEFINE_RTTI_DATA1(improper_scheduler_attach, 0, &cexception_rtti_base_descriptor ".?AVimproper_scheduler_attach@Concurrency@@") DEFINE_RTTI_DATA1(improper_scheduler_detach, 0, &cexception_rtti_base_descriptor, ".?AVimproper_scheduler_detach@Concurrency@@") +DEFINE_RTTI_DATA1(invalid_multiple_scheduling, 0, &cexception_rtti_base_descriptor, + ".?AVinvalid_multiple_scheduling@Concurrency@@") DEFINE_RTTI_DATA1(invalid_scheduler_policy_key, 0, &cexception_rtti_base_descriptor, ".?AVinvalid_scheduler_policy_key@Concurrency@@") DEFINE_RTTI_DATA1(invalid_scheduler_policy_thread_specification, 0, &cexception_rtti_base_descriptor, @@ -610,6 +644,9 @@ __ASM_BLOCK_BEGIN(concurrency_exception_vtables) __ASM_VTABLE(improper_scheduler_detach, VTABLE_ADD_FUNC(cexception_vector_dtor) VTABLE_ADD_FUNC(cexception_what)); + __ASM_VTABLE(invalid_multiple_scheduling, + VTABLE_ADD_FUNC(cexception_vector_dtor) + VTABLE_ADD_FUNC(cexception_what)); __ASM_VTABLE(invalid_scheduler_policy_key, VTABLE_ADD_FUNC(cexception_vector_dtor) VTABLE_ADD_FUNC(cexception_what)); @@ -3042,6 +3079,7 @@ void msvcrt_init_concurrency(void *base) init_improper_lock_rtti(base); init_improper_scheduler_attach_rtti(base); init_improper_scheduler_detach_rtti(base); + init_invalid_multiple_scheduling_rtti(base); init_invalid_scheduler_policy_key_rtti(base); init_invalid_scheduler_policy_thread_specification_rtti(base); init_invalid_scheduler_policy_value_rtti(base);
On Fri Jul 15 19:52:29 2022 +0000, Torge Matthies wrote:
changed this line in [version 3 of the diff](/wine/wine/-/merge_requests/463/diffs?diff_id=5219&start_sha=6ee4a6fe86585113535b0ca5e8dfd348ff268e94#24c8e99f61c1fc2b69d361492bf667ba408b92b5_464_464)
Alright I prepended a commit that changes all the constructors that take a string to print that string in the TRACE and changed it here too
On Fri Jul 15 19:52:31 2022 +0000, Torge Matthies wrote:
changed this line in [version 3 of the diff](/wine/wine/-/merge_requests/463/diffs?diff_id=5219&start_sha=6ee4a6fe86585113535b0ca5e8dfd348ff268e94#24c8e99f61c1fc2b69d361492bf667ba408b92b5_633_632)
Done, I moved this line and the `init_invalid_multiple_scheduling_cxx` call to a later commit, see https://gitlab.winehq.org/wine/wine/-/merge_requests/464/diffs?commit_id=494...
This merge request was approved by Piotr Caban.