Module: wine Branch: master Commit: 05806e0edb05a2bc594201947d3637bcbf126d1b URL: https://source.winehq.org/git/wine.git/?a=commit;h=05806e0edb05a2bc594201947...
Author: Jacek Caban jacek@codeweavers.com Date: Mon Dec 14 18:10:04 2020 +0100
msvcrt: Use GCC-style assembly on Clang MSVC target.
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Piotr Caban piotr@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/msvcrt/math.c | 14 +++++++------- dlls/msvcrt/misc.c | 6 +++--- 2 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/dlls/msvcrt/math.c b/dlls/msvcrt/math.c index e5dd9cb2b8a..e6e837e52c6 100644 --- a/dlls/msvcrt/math.c +++ b/dlls/msvcrt/math.c @@ -1297,7 +1297,7 @@ double CDECL tanh( double x ) }
-#if defined(__GNUC__) && defined(__i386__) +#if (defined(__GNUC__) || defined(__clang__)) && defined(__i386__)
#define CREATE_FPU_FUNC1(name, call) \ __ASM_GLOBAL_FUNC(name, \ @@ -1411,7 +1411,7 @@ __ASM_GLOBAL_FUNC(_ftol, __ASM_CFI(".cfi_same_value %ebp\n\t") "ret")
-#endif /* defined(__GNUC__) && defined(__i386__) */ +#endif /* (defined(__GNUC__) || defined(__clang__)) && defined(__i386__) */
/********************************************************************* * _fpclass (MSVCRT.@) @@ -1638,7 +1638,7 @@ double CDECL modf( double x, double *iptr ) #if defined(__i386__) || defined(__x86_64__) void CDECL _statusfp2( unsigned int *x86_sw, unsigned int *sse2_sw ) { -#ifdef __GNUC__ +#if defined(__GNUC__) || defined(__clang__) unsigned int flags; unsigned long fpword;
@@ -1710,7 +1710,7 @@ unsigned int CDECL _statusfp(void) unsigned int CDECL _clearfp(void) { unsigned int flags = 0; -#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) +#if (defined(__GNUC__) || defined(__clang__)) && (defined(__i386__) || defined(__x86_64__)) unsigned long fpword;
__asm__ __volatile__( "fnstsw %0; fnclex" : "=m" (fpword) ); @@ -1802,7 +1802,7 @@ double CDECL _chgsign(double num) int CDECL __control87_2( unsigned int newval, unsigned int mask, unsigned int *x86_cw, unsigned int *sse2_cw ) { -#ifdef __GNUC__ +#if defined(__GNUC__) || defined(__clang__) unsigned long fpword; unsigned int flags; unsigned int old_flags; @@ -2152,7 +2152,7 @@ int CDECL _finite(double num) */ void CDECL _fpreset(void) { -#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) +#if (defined(__GNUC__) || defined(__clang__)) && (defined(__i386__) || defined(__x86_64__)) const unsigned int x86_cw = 0x27f; __asm__ __volatile__( "fninit; fldcw %0" : : "m" (x86_cw) ); if (sse2_supported) @@ -2171,7 +2171,7 @@ void CDECL _fpreset(void) */ int CDECL fesetenv(const fenv_t *env) { -#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) +#if (defined(__GNUC__) || defined(__clang__)) && (defined(__i386__) || defined(__x86_64__)) struct { WORD control_word; WORD unused1; diff --git a/dlls/msvcrt/misc.c b/dlls/msvcrt/misc.c index 17019e9f5a7..5ea1ddfc6c7 100644 --- a/dlls/msvcrt/misc.c +++ b/dlls/msvcrt/misc.c @@ -213,7 +213,7 @@ void* CDECL bsearch(const void *key, const void *base, size_t nmemb, */ #ifdef __i386__
-# ifdef __GNUC__ +# if defined(__GNUC__) || defined(__clang__)
__ASM_GLOBAL_FUNC(_chkesp, "jnz 1f\n\t" @@ -242,7 +242,7 @@ void CDECL DECLSPEC_HIDDEN chkesp_fail(void) DebugBreak(); }
-# else /* __GNUC__ */ +# else /* __GNUC__ || __clang__ */
/**********************************************************************/
@@ -250,7 +250,7 @@ void CDECL _chkesp(void) { }
-# endif /* __GNUC__ */ +# endif /* __GNUC__ || __clang__ */
#endif /* __i386__ */