Don't complain about missing CPU features under Valgrind

If you're running Qt under valgrind, it stands to reason that you know
what you're doing.

In particular, Valgrind does support AVX and AVX2 instructions, but some
versions seem to be missing the necessary CPUID bits.

Change-Id: I9a75ad8521ae4e5cbbe5ffff13d1940f6fa5c4f4
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: David Faure <david.faure@kdab.com>
This commit is contained in:
Thiago Macieira 2015-04-03 11:22:30 -07:00
parent 62f6866508
commit f9f4082ab6

View File

@ -36,6 +36,10 @@
#include <QByteArray>
#include <stdio.h>
#ifdef Q_OS_LINUX
# include "../testlib/3rdparty/valgrind_p.h"
#endif
#if defined(Q_OS_WIN)
# if defined(Q_OS_WINCE)
# include <qt_windows.h>
@ -552,7 +556,12 @@ void qDetectCpuFeatures()
}
}
if (minFeature != 0 && (f & minFeature) != minFeature) {
#ifdef RUNNING_ON_VALGRIND
bool runningOnValgrind = RUNNING_ON_VALGRIND;
#else
bool runningOnValgrind = false;
#endif
if (!runningOnValgrind && (minFeature != 0 && (f & minFeature) != minFeature)) {
uint missing = minFeature & ~f;
fprintf(stderr, "Incompatible processor. This Qt build requires the following features:\n ");
for (int i = 0; i < features_count; ++i) {