Commit ef52560a2494217b8c6f0c3ea230f5e3863f14a0

Sam Lantinga 2021-02-09T15:10:06

Fixed bug 5539 - Clang 11 fails to compile a CMake build with conflicting types for _m_prefetchw vladius In SDL_cpuinfo.h it seems like <intrin.h> is not included when __clang__ is defined, as the comment in the file explicitly reads: "Many of the intrinsics SDL uses are not implemented by clang with Visual Studio" However, the SDL_endian.h header does include <intrin.h> without any precautions like: >#ifdef _MSC_VER >#include <intrin.h> >#endif Maybe it should be changed to something like: >#ifdef _MSC_VER >#ifndef __clang__ >#include <intrin.h> >#endif >#endif

1
2
3
4
5
6
7
8
9
10
11
12
13
diff --git a/include/SDL_endian.h b/include/SDL_endian.h
index 4534cad..f9a4fd3 100644
--- a/include/SDL_endian.h
+++ b/include/SDL_endian.h
@@ -30,7 +30,7 @@
 
 #include "SDL_stdinc.h"
 
-#ifdef _MSC_VER
+#if defined(_MSC_VER) && !defined(__clang__)
 #include <intrin.h>
 #endif