w32pthreads: fix mingw build on x86 with -msse2 or higher
authorHendrik Leppkes <h.leppkes@gmail.com>
Wed, 14 Oct 2015 21:18:17 +0000 (23:18 +0200)
committerLuca Barbato <lu_zero@gentoo.org>
Fri, 16 Oct 2015 15:46:41 +0000 (17:46 +0200)
When SSE2 or higher compiler optimizations are used, mingw uses
the _mm_mfence intrinsic for MemoryBarrier, however it doesn't include
the appropriate headers automatically.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
compat/w32pthreads.h

index ac9a814..3bc69b3 100644 (file)
 #include <windows.h>
 #include <process.h>
 
+/* MinGW requires the intrinsics header for the pthread_once fallback code */
+#if _WIN32_WINNT < 0x0600 && defined(__MINGW32__)
+#include <intrin.h>
+#endif
+
 #include "libavutil/attributes.h"
 #include "libavutil/internal.h"
 #include "libavutil/mem.h"