mirror of
https://github.com/holub/mame
synced 2025-07-03 09:06:08 +03:00
util/mfpresolve.h: Fix build with MSVC ABI.
All ABI paths must be valid C++ - can't use a static assertion.
This commit is contained in:
parent
b33b81b4d2
commit
adee79cf84
@ -46,8 +46,8 @@ inline std::pair<std::uintptr_t, std::uintptr_t> resolve_member_function(Ret (T:
|
||||
{
|
||||
if (MAME_ABI_CXX_TYPE == MAME_ABI_CXX_ITANIUM)
|
||||
{
|
||||
struct { uintptr_t ptr; ptrdiff_t adj; } equiv;
|
||||
static_assert(sizeof(function) == sizeof(equiv));
|
||||
struct { std::uintptr_t ptr; std::ptrdiff_t adj; } equiv;
|
||||
assert(sizeof(function) == sizeof(equiv));
|
||||
*reinterpret_cast<decltype(function) *>(&equiv) = function;
|
||||
return detail::resolve_member_function_itanium(equiv.ptr, equiv.adj, object);
|
||||
}
|
||||
@ -68,7 +68,7 @@ inline std::pair<std::uintptr_t, std::uintptr_t> resolve_member_function(Ret (T:
|
||||
if (MAME_ABI_CXX_TYPE == MAME_ABI_CXX_ITANIUM)
|
||||
{
|
||||
struct { std::uintptr_t ptr; std::ptrdiff_t adj; } equiv;
|
||||
static_assert(sizeof(function) == sizeof(equiv));
|
||||
assert(sizeof(function) == sizeof(equiv));
|
||||
*reinterpret_cast<decltype(function) *>(&equiv) = function;
|
||||
return detail::resolve_member_function_itanium(equiv.ptr, equiv.adj, object);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user