Fix build with /std:c++17 on 32-bit Windows

Bug: chromium:1274168
Change-Id: I31c300f5cb078e90f25c5752c821f756dedd8591
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3304552
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
This commit is contained in:
Nico Weber 2021-11-26 12:39:24 -05:00 committed by Crashpad LUCI CQ
parent 0d26b02c37
commit 281ba70a13

View File

@ -96,7 +96,19 @@ struct FunctorTraits<R (*)(Args..., ...)> {
return std::forward<Function>(function)(std::forward<RunArgs>(args)...);
}
};
#endif
#if defined(OS_WIN) && defined(ARCH_CPU_X86)
template <typename R, typename... Args>
struct FunctorTraits<R(__stdcall*)(Args...)> {
template <typename... RunArgs>
DISABLE_CFI_ICALL static R Invoke(R(__stdcall* function)(Args...),
RunArgs&&... args) {
return function(std::forward<RunArgs>(args)...);
}
};
#endif // OS_WIN && ARCH_CPU_X86
#endif // __cplusplus >= 201703L
} // namespace