https://git.reactos.org/?p=reactos.git;a=commitdiff;h=912268762eb3287ba286615fa1b1c3bd0c04336b

commit 912268762eb3287ba286615fa1b1c3bd0c04336b
Author:     Hermès Bélusca-Maïto <[email protected]>
AuthorDate: Sun Oct 6 15:41:30 2019 +0200
Commit:     Hermès Bélusca-Maïto <[email protected]>
CommitDate: Mon Oct 7 02:54:05 2019 +0200

    [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

Reply via email to