summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools/qsimd.cpp
diff options
context:
space:
mode:
authorMarcel Krems <m.krems@software-vision.eu>2012-04-05 23:15:51 +0200
committerQt by Nokia <qt-info@nokia.com>2012-04-05 23:54:37 +0200
commit4bdb7a0780a3505775b4978a871fdbe773cee4b6 (patch)
tree9c5202d1f3adb335fb3b84312fb9e37eb0566487 /src/corelib/tools/qsimd.cpp
parent538386f36fcf1dba7d6a0e71d1fb6861ce297558 (diff)
Fix compilation with MinGW.
Change-Id: I494c84e8e6889a7d7bb3b29669337483732d02c2 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/tools/qsimd.cpp')
-rw-r--r--src/corelib/tools/qsimd.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/corelib/tools/qsimd.cpp b/src/corelib/tools/qsimd.cpp
index 08fd6ff66b..f13009a02d 100644
--- a/src/corelib/tools/qsimd.cpp
+++ b/src/corelib/tools/qsimd.cpp
@@ -47,7 +47,9 @@
# if defined(Q_OS_WINCE)
# include <qt_windows.h>
# endif
-# include <intrin.h>
+# if !defined(Q_CC_GNU)
+# include <intrin.h>
+# endif
#elif defined(Q_OS_LINUX) && defined(__arm__)
#include "private/qcore_unix_p.h"
@@ -377,12 +379,16 @@ static const uint minFeature = None
;
#ifdef Q_OS_WIN
+#if defined(Q_CC_GNU)
+# define ffs __builtin_ffs
+#else
int ffs(int i)
{
unsigned long result;
return _BitScanForward(&result, i) ? result : 0;
}
#endif
+#endif // Q_OS_WIN
uint qDetectCPUFeatures()
{