Thomas Faber : kernel32/tests: Run test_thread_fpu_cw on x86 MSVC builds.
Alexandre Julliard
julliard at wine.codeweavers.com
Wed Sep 2 10:23:15 CDT 2015
Module: wine
Branch: master
Commit: 9165dbbffcffc959e148be633d2b4693cec006b2
URL: http://source.winehq.org/git/wine.git/?a=commit;h=9165dbbffcffc959e148be633d2b4693cec006b2
Author: Thomas Faber <thomas.faber at reactos.org>
Date: Tue Sep 1 16:14:54 2015 +0200
kernel32/tests: Run test_thread_fpu_cw on x86 MSVC builds.
---
dlls/kernel32/tests/thread.c | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/dlls/kernel32/tests/thread.c b/dlls/kernel32/tests/thread.c
index 2e1614c..d0fbfa4 100644
--- a/dlls/kernel32/tests/thread.c
+++ b/dlls/kernel32/tests/thread.c
@@ -1408,16 +1408,25 @@ static void test_ThreadErrorMode(void)
pSetThreadErrorMode(oldmode, NULL);
}
-#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
+#if (defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))) || (defined(_MSC_VER) && defined(__i386__))
static inline void set_fpu_cw(WORD cw)
{
+#ifdef _MSC_VER
+ __asm { fnclex }
+ __asm { fldcw [cw] }
+#else
__asm__ volatile ("fnclex; fldcw %0" : : "m" (cw));
+#endif
}
static inline WORD get_fpu_cw(void)
{
WORD cw = 0;
+#ifdef _MSC_VER
+ __asm { fnstcw [cw] }
+#else
__asm__ volatile ("fnstcw %0" : "=m" (cw));
+#endif
return cw;
}
@@ -1888,7 +1897,7 @@ START_TEST(thread)
test_RegisterWaitForSingleObject();
test_TLS();
test_ThreadErrorMode();
-#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
+#if (defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))) || (defined(_MSC_VER) && defined(__i386__))
test_thread_fpu_cw();
#endif
test_thread_actctx();
More information about the wine-cvs
mailing list