diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp index c3e2bd299d..d82f7560e3 100644 --- a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp +++ b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp @@ -47,6 +47,12 @@ # include <pthread.h> #endif +// At least these specific versions of MSVC2010 has a severe performance problem with this file, +// taking about 1 hour to compile if the portion making use of variadic macros is enabled. +#if defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 160030319) && (_MSC_FULL_VER <= 160040219) +# define TST_QMETATYPE_BROKEN_COMPILER +#endif + Q_DECLARE_METATYPE(QMetaType::Type) class tst_QMetaType: public QObject @@ -1332,7 +1338,7 @@ void tst_QMetaType::automaticTemplateRegistration() QVERIFY(qRegisterMetaType<UnregisteredTypeList>("UnregisteredTypeList") > 0); } -#ifdef Q_COMPILER_VARIADIC_MACROS +#if defined(Q_COMPILER_VARIADIC_MACROS) && !defined(TST_QMETATYPE_BROKEN_COMPILER) #define FOR_EACH_STATIC_PRIMITIVE_TYPE(F, ...) \ F(bool, __VA_ARGS__) \ |