Rémi Bernon : include: Include x86intrin.h in msvcrt/intrin.h.

Alexandre Julliard julliard at winehq.org
Tue Mar 16 16:39:03 CDT 2021


Module: wine
Branch: master
Commit: b18a48eb703c06ea4152d797c18c66c5094ced4d
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=b18a48eb703c06ea4152d797c18c66c5094ced4d

Author: Rémi Bernon <rbernon at codeweavers.com>
Date:   Mon Mar 15 16:07:38 2021 +0100

include: Include x86intrin.h in msvcrt/intrin.h.

Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 include/msvcrt/intrin.h | 4 ++++
 include/msvcrt/stdlib.h | 8 ++++++++
 tools/makedep.c         | 1 +
 3 files changed, 13 insertions(+)

diff --git a/include/msvcrt/intrin.h b/include/msvcrt/intrin.h
index 781c6fac823..8b84929bc02 100644
--- a/include/msvcrt/intrin.h
+++ b/include/msvcrt/intrin.h
@@ -7,6 +7,10 @@
 #ifndef _INC_INTRIN
 #define _INC_INTRIN
 
+#if defined(__i386__) || defined(__x86_64__)
+# include <x86intrin.h>
+#endif
+
 #ifdef __cplusplus
 extern "C" {
 #endif
diff --git a/include/msvcrt/stdlib.h b/include/msvcrt/stdlib.h
index ed6560bc318..287e4030669 100644
--- a/include/msvcrt/stdlib.h
+++ b/include/msvcrt/stdlib.h
@@ -164,15 +164,23 @@ _ACRTIMP char*         __cdecl _itoa(int,char*,int);
 _ACRTIMP errno_t       __cdecl _itoa_s(int,char*,size_t,int);
 _ACRTIMP char*         __cdecl _ltoa(__msvcrt_long,char*,int);
 _ACRTIMP errno_t       __cdecl _ltoa_s(__msvcrt_long, char*, size_t, int);
+#ifndef _lrotl
 _ACRTIMP __msvcrt_ulong __cdecl _lrotl(__msvcrt_ulong,int);
+#endif
+#ifndef _lrotr
 _ACRTIMP __msvcrt_ulong __cdecl _lrotr(__msvcrt_ulong,int);
+#endif
 _ACRTIMP void          __cdecl _makepath(char*,const char*,const char*,const char*,const char*);
 _ACRTIMP int           __cdecl _makepath_s(char*,size_t,const char*,const char*,const char*,const char*);
 _ACRTIMP size_t        __cdecl _mbstrlen(const char*);
 _ACRTIMP _onexit_t     __cdecl _onexit(_onexit_t);
 _ACRTIMP int           __cdecl _putenv(const char*);
+#ifndef _rotl
 _ACRTIMP unsigned int  __cdecl _rotl(unsigned int,int);
+#endif
+#ifndef _rotr
 _ACRTIMP unsigned int  __cdecl _rotr(unsigned int,int);
+#endif
 _ACRTIMP void          __cdecl _searchenv(const char*,const char*,char*);
 _ACRTIMP int           __cdecl _set_error_mode(int);
 _ACRTIMP void          __cdecl _seterrormode(int);
diff --git a/tools/makedep.c b/tools/makedep.c
index 913854c7f05..8245a324279 100644
--- a/tools/makedep.c
+++ b/tools/makedep.c
@@ -1570,6 +1570,7 @@ static struct file *open_include_file( const struct makefile *make, struct incl_
     if (pFile->type == INCL_SYSTEM && pFile->use_msvcrt)
     {
         if (!strcmp( pFile->name, "stdarg.h" )) return NULL;
+        if (!strcmp( pFile->name, "x86intrin.h" )) return NULL;
         fprintf( stderr, "%s:%d: error: system header %s cannot be used with msvcrt\n",
                  pFile->included_by->file->name, pFile->included_line, pFile->name );
         exit(1);




More information about the wine-cvs mailing list