Commit c4ac2d28 authored by Donna Whisnant's avatar Donna Whisnant Committed by Alexandre Julliard

oleaut32: Fix DispCallFunc() stdcall test to be ABI not x64 specific.

The tests checking callee stack cleaning for stdcall vs. cdecl should be a function of the calling ABI of the platform, not whether it is 64-bit or not. This fixes the check for platforms like ARM that may be 32-bit but that do not use the stdcall convention of callee stack cleaning. Signed-off-by: 's avatarDonna Whisnant <dewhisna@dewtronics.com> Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
parent 7074b411
......@@ -92,6 +92,12 @@ static WCHAR wszguid[] = {'g','u','i','d',0};
static const BOOL is_win64 = sizeof(void *) > sizeof(int);
#ifdef __i386__
static const BOOL abi_supports_stdcall = TRUE;
#else
static const BOOL abi_supports_stdcall = FALSE;
#endif
static HRESULT WINAPI invoketest_QueryInterface(IInvokeTest *iface, REFIID riid, void **ret)
{
if (IsEqualIID(riid, &IID_IUnknown) ||
......@@ -1115,7 +1121,7 @@ static void test_DispCallFunc(void)
ok( V_UI4(&result) == 4321, "wrong result %u\n", V_UI4(&result) );
/* the function checks the argument sizes for stdcall */
if (!is_win64) /* no stdcall on 64-bit */
if (abi_supports_stdcall)
{
res = DispCallFunc( NULL, (ULONG_PTR)stdcall_func, CC_STDCALL, VT_UI4, 0, types, pargs, &result );
ok( res == DISP_E_BADCALLEE, "DispCallFunc wrong error %x\n", res );
......
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