Module: wine Branch: master Commit: 9165dbbffcffc959e148be633d2b4693cec006b2 URL: http://source.winehq.org/git/wine.git/?a=commit;h=9165dbbffcffc959e148be633d...
Author: Thomas Faber thomas.faber@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();