https://git.reactos.org/?p=reactos.git;a=commitdiff;h=912268762eb3287ba2866…
commit 912268762eb3287ba286615fa1b1c3bd0c04336b
Author: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org>
AuthorDate: Sun Oct 6 15:41:30 2019 +0200
Commit: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org>
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