summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools
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
parent538386f36fcf1dba7d6a0e71d1fb6861ce297558 (diff)
Fix compilation with MinGW.
Change-Id: I494c84e8e6889a7d7bb3b29669337483732d02c2 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/tools')
-rw-r--r--src/corelib/tools/qhash.cpp2
-rw-r--r--src/corelib/tools/qsimd.cpp8
2 files changed, 8 insertions, 2 deletions
diff --git a/src/corelib/tools/qhash.cpp b/src/corelib/tools/qhash.cpp
index 863e37605d..6119c945fe 100644
--- a/src/corelib/tools/qhash.cpp
+++ b/src/corelib/tools/qhash.cpp
@@ -169,7 +169,7 @@ static uint qt_create_qhash_seed()
}
#endif // Q_OS_UNIX
-#ifdef Q_OS_WIN32
+#if defined(Q_OS_WIN32) && !defined(Q_CC_GNU)
errno_t err;
err = rand_s(&seed);
if (err == 0)
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()
{