msvcrt: Avoid using inline assembly in __ExceptionPtrDestroy().

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zebediah Figura 2018-05-31 17:13:49 -05:00 committed by Alexandre Julliard
parent e6e7976d66
commit 6f819b49c1
1 changed files with 6 additions and 4 deletions

View File

@ -1718,10 +1718,12 @@ void __cdecl __ExceptionPtrCreate(exception_ptr *ep)
} }
#ifdef __i386__ #ifdef __i386__
static inline void call_dtor(const cxx_exception_type *type, void *func, void *object) extern void call_dtor(const cxx_exception_type *type, void *func, void *object);
{
__asm__ __volatile__("call *%0" : : "m" (func), "c" (object) : "eax", "edx", "memory"); __ASM_GLOBAL_FUNC( call_dtor,
} "movl 12(%esp),%ecx\n\t"
"call *8(%esp)\n\t"
"ret" );
#elif __x86_64__ #elif __x86_64__
static inline void call_dtor(const cxx_exception_type *type, unsigned int dtor, void *object) static inline void call_dtor(const cxx_exception_type *type, unsigned int dtor, void *object)
{ {