From 912268762eb3287ba286615fa1b1c3bd0c04336b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herm=C3=A8s=20B=C3=A9lusca-Ma=C3=AFto?= Date: Sun, 6 Oct 2019 15:41:30 +0200 Subject: [PATCH] [SDK:CRT] For intrinsics that don't exist on MSVC 2010 we cannot use an implementation in inlined ASM for x64 builds. --- sdk/include/crt/msc/intrin.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sdk/include/crt/msc/intrin.h b/sdk/include/crt/msc/intrin.h index 305280bec9a..5fd30019174 100644 --- a/sdk/include/crt/msc/intrin.h +++ b/sdk/include/crt/msc/intrin.h @@ -268,6 +268,7 @@ extern "C" { #if (_MSC_VER >= 1700) #pragma intrinsic(__fastfail) #else +#if defined(_M_IX86) __declspec(noreturn) __forceinline void __fastfail(unsigned int Code) { @@ -277,6 +278,9 @@ void __fastfail(unsigned int Code) int 29h } } +#else +void __fastfail(unsigned int Code); +#endif // defined(_M_IX86) #endif #endif #if defined(_M_ARM) @@ -341,6 +345,7 @@ void __forceinline __invlpg_fixed(void * Address) #if (_MSC_VER >= 1800) #pragma intrinsic(_sgdt) #else +#if defined(_M_IX86) __forceinline void _sgdt(void *Destination) { @@ -350,6 +355,9 @@ void _sgdt(void *Destination) sgdt [eax] } } +#else +void _sgdt(void *Destination); +#endif // defined(_M_IX86) #endif #pragma intrinsic(_mm_pause) #endif