Remove handling of missing very old compiler feature check
Removes handling of missing Q_COMPILER_NULLPTR, Q_COMPILER_AUTODECL, Q_COMPILER_LAMBDA, Q_COMPILER_VARIADIC_MACROS and Q_COMPILER_AUTO_FUNCTION. We haven't supported any compilers without these for a long time. Change-Id: I3df88206516a25763e2c28b083733780f35a8764 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
parent
1ef274fb94
commit
4628e5cded
@ -99,8 +99,6 @@ QFuture<T> run(T (*functionPointer)(Param1, Param2, Param3, Param4, Param5), con
|
||||
return (new StoredFunctorCall5<T, T (*)(Param1, Param2, Param3, Param4, Param5), Arg1, Arg2, Arg3, Arg4, Arg5>(functionPointer, arg1, arg2, arg3, arg4, arg5))->start();
|
||||
}
|
||||
|
||||
#if defined(Q_COMPILER_DECLTYPE) && defined(Q_COMPILER_AUTO_FUNCTION)
|
||||
|
||||
template <typename Functor>
|
||||
auto run(Functor functor) -> typename std::enable_if<!QtPrivate::HasResultType<Functor>::Value, QFuture<decltype(functor())>>::type
|
||||
{
|
||||
@ -148,8 +146,6 @@ auto run(Functor functor, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3,
|
||||
return (new StoredFunctorCall5<result_type, Functor, Arg1, Arg2, Arg3, Arg4, Arg5>(functor, arg1, arg2, arg3, arg4, arg5))->start();
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
template <typename FunctionObject>
|
||||
QFuture<typename FunctionObject::result_type> run(FunctionObject functionObject)
|
||||
{
|
||||
@ -370,8 +366,6 @@ QFuture<T> run(QThreadPool *pool, T (*functionPointer)(Param1, Param2, Param3, P
|
||||
return (new StoredFunctorCall5<T, T (*)(Param1, Param2, Param3, Param4, Param5), Arg1, Arg2, Arg3, Arg4, Arg5>(functionPointer, arg1, arg2, arg3, arg4, arg5))->start(pool);
|
||||
}
|
||||
|
||||
#if defined(Q_COMPILER_DECLTYPE) && defined(Q_COMPILER_AUTO_FUNCTION)
|
||||
|
||||
template <typename Functor>
|
||||
auto run(QThreadPool *pool, Functor functor) -> typename std::enable_if<!QtPrivate::HasResultType<Functor>::Value, QFuture<decltype(functor())>>::type
|
||||
{
|
||||
@ -419,8 +413,6 @@ auto run(QThreadPool *pool, Functor functor, const Arg1 &arg1, const Arg2 &arg2,
|
||||
return (new StoredFunctorCall5<result_type, Functor, Arg1, Arg2, Arg3, Arg4, Arg5>(functor, arg1, arg2, arg3, arg4, arg5))->start(pool);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
template <typename FunctionObject>
|
||||
QFuture<typename FunctionObject::result_type> run(QThreadPool *pool, FunctionObject functionObject)
|
||||
{
|
||||
|
@ -161,9 +161,7 @@ public:
|
||||
inline QDebug &operator<<(QLatin1String t) { putByteArray(t.latin1(), t.size(), ContainsLatin1); return maybeSpace(); }
|
||||
inline QDebug &operator<<(const QByteArray & t) { putByteArray(t.constData(), t.size(), ContainsBinary); return maybeSpace(); }
|
||||
inline QDebug &operator<<(const void * t) { stream->ts << t; return maybeSpace(); }
|
||||
#ifdef Q_COMPILER_NULLPTR
|
||||
inline QDebug &operator<<(std::nullptr_t) { stream->ts << "(nullptr)"; return maybeSpace(); }
|
||||
#endif
|
||||
inline QDebug &operator<<(QTextStreamFunction f) {
|
||||
stream->ts << f;
|
||||
return *this;
|
||||
|
@ -111,8 +111,6 @@ private:
|
||||
#define Q_DECLARE_LOGGING_CATEGORY(name) \
|
||||
extern const QLoggingCategory &name();
|
||||
|
||||
#if defined(Q_COMPILER_VARIADIC_MACROS) || defined(Q_MOC_RUN)
|
||||
|
||||
#define Q_LOGGING_CATEGORY(name, ...) \
|
||||
const QLoggingCategory &name() \
|
||||
{ \
|
||||
@ -148,39 +146,6 @@ private:
|
||||
for (bool qt_category_enabled = category().isCriticalEnabled(); qt_category_enabled; qt_category_enabled = false) \
|
||||
QMessageLogger(QT_MESSAGELOG_FILE, QT_MESSAGELOG_LINE, QT_MESSAGELOG_FUNC, category().categoryName()).critical(__VA_ARGS__)
|
||||
|
||||
#else // defined(Q_COMPILER_VARIADIC_MACROS) || defined(Q_MOC_RUN)
|
||||
|
||||
// Optional msgType argument not supported
|
||||
#define Q_LOGGING_CATEGORY(name, string) \
|
||||
const QLoggingCategory &name() \
|
||||
{ \
|
||||
static const QLoggingCategory category(string); \
|
||||
return category; \
|
||||
}
|
||||
|
||||
// check for enabled category inside QMessageLogger.
|
||||
#if !defined(QT_NO_DEBUG_OUTPUT)
|
||||
# define qCDebug qDebug
|
||||
#else
|
||||
# define qCDebug(category) QT_NO_QDEBUG_MACRO()
|
||||
#endif
|
||||
|
||||
#if !defined(QT_NO_INFO_OUTPUT)
|
||||
# define qCInfo qInfo
|
||||
#else
|
||||
# define qCInfo(category) QT_NO_QDEBUG_MACRO()
|
||||
#endif
|
||||
|
||||
#if !defined(QT_NO_WARNING_OUTPUT)
|
||||
# define qCWarning qWarning
|
||||
#else
|
||||
# define qCWarning(category) QT_NO_QDEBUG_MACRO()
|
||||
#endif
|
||||
|
||||
#define qCCritical qCritical
|
||||
|
||||
#endif // Q_COMPILER_VARIADIC_MACROS || defined(Q_MOC_RUN)
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
#endif // QLOGGINGCATEGORY_H
|
||||
|
@ -64,11 +64,7 @@ class QString;
|
||||
// The following macros can be defined by tools that understand Qt
|
||||
// to have the information from the macro.
|
||||
#ifndef QT_ANNOTATE_CLASS
|
||||
# ifndef Q_COMPILER_VARIADIC_MACROS
|
||||
# define QT_ANNOTATE_CLASS(type, x)
|
||||
# else
|
||||
# define QT_ANNOTATE_CLASS(type, ...)
|
||||
# endif
|
||||
# define QT_ANNOTATE_CLASS(type, ...)
|
||||
#endif
|
||||
#ifndef QT_ANNOTATE_CLASS2
|
||||
# define QT_ANNOTATE_CLASS2(type, a1, a2)
|
||||
@ -105,11 +101,7 @@ class QString;
|
||||
#endif
|
||||
#define Q_PLUGIN_METADATA(x) QT_ANNOTATE_CLASS(qt_plugin_metadata, x)
|
||||
#define Q_INTERFACES(x) QT_ANNOTATE_CLASS(qt_interfaces, x)
|
||||
#ifdef Q_COMPILER_VARIADIC_MACROS
|
||||
# define Q_PROPERTY(...) QT_ANNOTATE_CLASS(qt_property, __VA_ARGS__)
|
||||
#else
|
||||
# define Q_PROPERTY(text) QT_ANNOTATE_CLASS(qt_property, text)
|
||||
#endif
|
||||
#define Q_PROPERTY(...) QT_ANNOTATE_CLASS(qt_property, __VA_ARGS__)
|
||||
#define Q_PRIVATE_PROPERTY(d, text) QT_ANNOTATE_CLASS2(qt_private_property, d, text)
|
||||
#ifndef Q_REVISION
|
||||
# define Q_REVISION(v)
|
||||
|
@ -306,8 +306,6 @@ struct QArrayDataPointerRef
|
||||
// accomplished by hiding a static const instance of QStaticArrayData, which is
|
||||
// POD.
|
||||
|
||||
#if defined(Q_COMPILER_VARIADIC_MACROS)
|
||||
#if defined(Q_COMPILER_LAMBDA)
|
||||
// Hide array inside a lambda
|
||||
#define Q_ARRAY_LITERAL(Type, ...) \
|
||||
([]() -> QArrayDataPointerRef<Type> { \
|
||||
@ -324,10 +322,7 @@ struct QArrayDataPointerRef
|
||||
return StaticWrapper::get(); \
|
||||
}()) \
|
||||
/**/
|
||||
#endif
|
||||
#endif // defined(Q_COMPILER_VARIADIC_MACROS)
|
||||
|
||||
#if defined(Q_ARRAY_LITERAL)
|
||||
#define Q_ARRAY_LITERAL_IMPL(Type, ...) \
|
||||
union { Type type_must_be_POD; } dummy; Q_UNUSED(dummy) \
|
||||
\
|
||||
@ -342,31 +337,6 @@ struct QArrayDataPointerRef
|
||||
{ static_cast<QTypedArrayData<Type> *>( \
|
||||
const_cast<QArrayData *>(&literal.header)) }; \
|
||||
/**/
|
||||
#else
|
||||
// As a fallback, memory is allocated and data copied to the heap.
|
||||
|
||||
// The fallback macro does NOT use variadic macros and does NOT support
|
||||
// variable number of arguments. It is suitable for char arrays.
|
||||
|
||||
namespace QtPrivate {
|
||||
template <class T, size_t N>
|
||||
inline QArrayDataPointerRef<T> qMakeArrayLiteral(const T (&array)[N])
|
||||
{
|
||||
union { T type_must_be_POD; } dummy; Q_UNUSED(dummy)
|
||||
|
||||
QArrayDataPointerRef<T> result = { QTypedArrayData<T>::allocate(N) };
|
||||
Q_CHECK_PTR(result.ptr);
|
||||
|
||||
::memcpy(result.ptr->data(), array, N * sizeof(T));
|
||||
result.ptr->size = N;
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
#define Q_ARRAY_LITERAL(Type, Array) \
|
||||
QT_PREPEND_NAMESPACE(QtPrivate::qMakeArrayLiteral)<Type>( Array )
|
||||
#endif // !defined(Q_ARRAY_LITERAL)
|
||||
|
||||
namespace QtPrivate {
|
||||
struct Q_CORE_EXPORT QContainerImplHelper
|
||||
|
@ -201,7 +201,7 @@ qsizetype QtPrivate::qustrlen(const ushort *str) noexcept
|
||||
return result;
|
||||
}
|
||||
|
||||
#if defined(Q_COMPILER_LAMBDA) && !defined(__OPTIMIZE_SIZE__)
|
||||
#if !defined(__OPTIMIZE_SIZE__)
|
||||
namespace {
|
||||
template <uint MaxCount> struct UnrollTailLoop
|
||||
{
|
||||
@ -627,7 +627,7 @@ void qt_from_latin1(ushort *dst, const char *str, size_t size) noexcept
|
||||
size = size % 8;
|
||||
dst += offset;
|
||||
str += offset;
|
||||
# if defined(Q_COMPILER_LAMBDA) && !defined(__OPTIMIZE_SIZE__)
|
||||
# if !defined(__OPTIMIZE_SIZE__)
|
||||
return UnrollTailLoop<7>::exec(int(size), [=](int i) { dst[i] = (uchar)str[i]; });
|
||||
# endif
|
||||
#endif
|
||||
|
@ -189,16 +189,8 @@ do {\
|
||||
return;\
|
||||
} while (false)
|
||||
|
||||
#ifdef Q_COMPILER_VARIADIC_MACROS
|
||||
|
||||
#define QSKIP(statement, ...) QSKIP_INTERNAL(statement)
|
||||
|
||||
#else
|
||||
|
||||
#define QSKIP(statement) QSKIP_INTERNAL(statement)
|
||||
|
||||
#endif
|
||||
|
||||
#define QEXPECT_FAIL(dataIndex, comment, mode)\
|
||||
do {\
|
||||
if (!QTest::qExpectFail(dataIndex, static_cast<const char *>(comment), QTest::mode, __FILE__, __LINE__))\
|
||||
|
@ -127,14 +127,11 @@ void tst_QtConcurrentMap::map()
|
||||
QtConcurrent::map(numberList.begin(), numberList.end(), &Number::multiplyBy2).waitForFinished();
|
||||
QCOMPARE(numberList, QList<Number>() << 4 << 8 << 12);
|
||||
|
||||
#ifdef Q_COMPILER_LAMBDA
|
||||
// lambda
|
||||
QtConcurrent::map(list, [](int &x){x *= 2;}).waitForFinished();
|
||||
QCOMPARE(list, QList<int>() << 128 << 256 << 384);
|
||||
QtConcurrent::map(list.begin(), list.end(), [](int &x){x *= 2;}).waitForFinished();
|
||||
QCOMPARE(list, QList<int>() << 256 << 512 << 768);
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
// functors don't take arguments by reference, making these no-ops
|
||||
@ -160,13 +157,11 @@ void tst_QtConcurrentMap::map()
|
||||
QtConcurrent::map(list.begin(), list.end(), multiplyBy2Immutable).waitForFinished();
|
||||
QCOMPARE(list, QList<int>() << 1 << 2 << 3);
|
||||
|
||||
#ifdef Q_COMPILER_LAMBDA
|
||||
// lambda
|
||||
QtConcurrent::map(list, [](int x){x *= 2;}).waitForFinished();
|
||||
QCOMPARE(list, QList<int>() << 1 << 2 << 3);
|
||||
QtConcurrent::map(list.begin(), list.end(), [](int x){x *= 2;}).waitForFinished();
|
||||
QCOMPARE(list, QList<int>() << 1 << 2 << 3);
|
||||
#endif
|
||||
}
|
||||
|
||||
// Linked lists and forward iterators
|
||||
|
@ -48,12 +48,8 @@ private slots:
|
||||
#ifndef QT_NO_EXCEPTIONS
|
||||
void exceptions();
|
||||
#endif
|
||||
#ifdef Q_COMPILER_DECLTYPE
|
||||
void functor();
|
||||
#endif
|
||||
#ifdef Q_COMPILER_LAMBDA
|
||||
void lambda();
|
||||
#endif
|
||||
};
|
||||
|
||||
void light()
|
||||
@ -648,7 +644,6 @@ void tst_QtConcurrentRun::exceptions()
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Q_COMPILER_DECLTYPE
|
||||
// Compiler supports decltype
|
||||
struct Functor {
|
||||
int operator()() { return 42; }
|
||||
@ -706,9 +701,7 @@ void tst_QtConcurrentRun::functor()
|
||||
QtConcurrent::run(&pool, f, 1,2,3,4,5).waitForFinished();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Q_COMPILER_LAMBDA
|
||||
// Compiler supports lambda
|
||||
void tst_QtConcurrentRun::lambda()
|
||||
{
|
||||
@ -742,7 +735,6 @@ void tst_QtConcurrentRun::lambda()
|
||||
}
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
QTEST_MAIN(tst_QtConcurrentRun)
|
||||
#include "tst_qtconcurrentrun.moc"
|
||||
|
@ -254,19 +254,15 @@ public:
|
||||
int rvalue() && { ADD("TestClass1::rvalue"); return 0; }
|
||||
int const_rvalue() const && { ADD("TestClass1::const_rvalue"); return 0; }
|
||||
#endif
|
||||
#ifdef Q_COMPILER_DECLTYPE
|
||||
int decltype_param(int x = 0, decltype(x) = 0) { ADD("TestClass1::decltype_param"); return x; }
|
||||
template<typename T> int decltype_template_param(T x = 0, decltype(x) = 0)
|
||||
{ ADD("TestClass1::decltype_template_param"); return x; }
|
||||
template<typename T> void decltype_template_param2(T x, decltype(x + QString()))
|
||||
{ ADD("TestClass1::decltype_template_param2"); }
|
||||
# ifdef Q_COMPILER_AUTO_FUNCTION
|
||||
auto decltype_return(int x = 0) -> decltype(x)
|
||||
{ ADD("TestClass1::decltype_return"); return x; }
|
||||
template <typename T> auto decltype_template_return(T x = 0) -> decltype(x)
|
||||
{ ADD("TestClass1::decltype_template_return"); return x; }
|
||||
# endif
|
||||
#endif
|
||||
|
||||
public:
|
||||
TestClass1()
|
||||
@ -323,15 +319,11 @@ public:
|
||||
std::move(*this).rvalue();
|
||||
std::move(*this).const_rvalue();
|
||||
#endif
|
||||
#ifdef Q_COMPILER_DECLTYPE
|
||||
decltype_param();
|
||||
decltype_template_param(0);
|
||||
decltype_template_param2(QByteArray(), QString());
|
||||
# ifdef Q_COMPILER_AUTO_FUNCTION
|
||||
decltype_return();
|
||||
decltype_template_return(0);
|
||||
# endif
|
||||
#endif
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -369,11 +369,9 @@ private slots:
|
||||
}
|
||||
|
||||
Q_LOGGING_CATEGORY(TST_MACRO_1, "tst.macro.1")
|
||||
#ifdef Q_COMPILER_VARIADIC_MACROS
|
||||
Q_LOGGING_CATEGORY(TST_MACRO_2, "tst.macro.2", QtDebugMsg)
|
||||
Q_LOGGING_CATEGORY(TST_MACRO_3, "tst.macro.3", QtFatalMsg)
|
||||
Q_LOGGING_CATEGORY(TST_MACRO_4, "tst.macro.4", QtInfoMsg)
|
||||
#endif
|
||||
|
||||
void QLoggingCategoryMacro()
|
||||
{
|
||||
@ -384,7 +382,6 @@ private slots:
|
||||
QCOMPARE(cat1.isWarningEnabled(), true);
|
||||
QCOMPARE(cat1.isCriticalEnabled(), true);
|
||||
|
||||
#ifdef Q_COMPILER_VARIADIC_MACROS
|
||||
const QLoggingCategory &cat2 = TST_MACRO_2();
|
||||
QCOMPARE(cat2.categoryName(), "tst.macro.2");
|
||||
QCOMPARE(cat2.isDebugEnabled(), true);
|
||||
@ -405,7 +402,6 @@ private slots:
|
||||
QCOMPARE(cat4.isInfoEnabled(), true);
|
||||
QCOMPARE(cat4.isWarningEnabled(), true);
|
||||
QCOMPARE(cat4.isCriticalEnabled(), true);
|
||||
#endif
|
||||
}
|
||||
|
||||
void qCDebugMacros()
|
||||
|
@ -1499,7 +1499,7 @@ public:
|
||||
typedef MyObject* MyObjectPtr;
|
||||
Q_DECLARE_METATYPE(MyObjectPtr)
|
||||
|
||||
#if defined(Q_COMPILER_VARIADIC_MACROS) && !defined(TST_QMETATYPE_BROKEN_COMPILER)
|
||||
#if !defined(TST_QMETATYPE_BROKEN_COMPILER)
|
||||
static QByteArray createTypeName(const char *begin, const char *va)
|
||||
{
|
||||
QByteArray tn(begin);
|
||||
@ -1697,7 +1697,7 @@ void tst_QMetaType::automaticTemplateRegistration()
|
||||
QVERIFY(qRegisterMetaType<UnregisteredTypeList>("UnregisteredTypeList") > 0);
|
||||
}
|
||||
|
||||
#if defined(Q_COMPILER_VARIADIC_MACROS) && !defined(TST_QMETATYPE_BROKEN_COMPILER)
|
||||
#if !defined(TST_QMETATYPE_BROKEN_COMPILER)
|
||||
|
||||
#define FOR_EACH_STATIC_PRIMITIVE_TYPE(F) \
|
||||
F(bool) \
|
||||
@ -1776,7 +1776,7 @@ void tst_QMetaType::automaticTemplateRegistration()
|
||||
CREATE_AND_VERIFY_CONTAINER(QHash, void*, void*)
|
||||
CREATE_AND_VERIFY_CONTAINER(QHash, const void*, const void*)
|
||||
|
||||
#endif // Q_COMPILER_VARIADIC_MACROS
|
||||
#endif // !defined(TST_QMETATYPE_BROKEN_COMPILER)
|
||||
|
||||
#define TEST_OWNING_SMARTPOINTER(SMARTPOINTER, ELEMENT_TYPE, FLAG_TEST, FROMVARIANTFUNCTION) \
|
||||
{ \
|
||||
@ -2565,9 +2565,7 @@ Q_DECLARE_METATYPE(UndefinedFunction0);
|
||||
Q_DECLARE_METATYPE(UndefinedFunction1);
|
||||
Q_DECLARE_METATYPE(UndefinedFunction2);
|
||||
Q_DECLARE_METATYPE(UndefinedFunction3);
|
||||
#ifdef Q_COMPILER_VARIADIC_TEMPLATES
|
||||
Q_DECLARE_METATYPE(UndefinedFunction4);
|
||||
#endif
|
||||
|
||||
QTEST_MAIN(tst_QMetaType)
|
||||
#include "tst_qmetatype.moc"
|
||||
|
@ -6029,7 +6029,6 @@ void tst_QObject::connectFunctorArgDifference()
|
||||
QStringListModel model;
|
||||
connect(&model, &QStringListModel::rowsInserted, SlotFunctor());
|
||||
|
||||
#if defined(Q_COMPILER_LAMBDA)
|
||||
connect(&timer, &QTimer::timeout, [=](){});
|
||||
connect(&timer, &QTimer::objectNameChanged, [=](const QString &){});
|
||||
connect(qApp, &QCoreApplication::aboutToQuit, [=](){});
|
||||
@ -6037,7 +6036,6 @@ void tst_QObject::connectFunctorArgDifference()
|
||||
connect(&timer, &QTimer::objectNameChanged, [=](){});
|
||||
connect(&model, &QStringListModel::rowsInserted, [=](){});
|
||||
connect(&model, &QStringListModel::rowsInserted, [=](const QModelIndex &){});
|
||||
#endif
|
||||
|
||||
QVERIFY(true);
|
||||
}
|
||||
@ -6075,7 +6073,6 @@ void tst_QObject::connectFunctorQueued()
|
||||
e.exec();
|
||||
QCOMPARE(status, 2);
|
||||
|
||||
#if defined(Q_COMPILER_LAMBDA)
|
||||
status = 1;
|
||||
connect(&obj, &SenderObject::signal1, this, [&status] { status = 2; }, Qt::QueuedConnection);
|
||||
|
||||
@ -6083,7 +6080,6 @@ void tst_QObject::connectFunctorQueued()
|
||||
QCOMPARE(status, 1);
|
||||
e.exec();
|
||||
QCOMPARE(status, 2);
|
||||
#endif
|
||||
}
|
||||
|
||||
void tst_QObject::connectFunctorWithContext()
|
||||
@ -6117,7 +6113,6 @@ void tst_QObject::connectFunctorWithContext()
|
||||
e.exec();
|
||||
QCOMPARE(status, 2);
|
||||
|
||||
#if defined(Q_COMPILER_LAMBDA)
|
||||
status = 1;
|
||||
connect(&obj, &SenderObject::signal1, this, [this, &status, &obj] { status = 2; QCOMPARE(sender(), &obj); }, Qt::QueuedConnection);
|
||||
|
||||
@ -6125,7 +6120,6 @@ void tst_QObject::connectFunctorWithContext()
|
||||
QCOMPARE(status, 1);
|
||||
e.exec();
|
||||
QCOMPARE(status, 2);
|
||||
#endif
|
||||
|
||||
// Free
|
||||
context->deleteLater();
|
||||
@ -6435,7 +6429,7 @@ void connectFunctorOverload_impl(Signal signal, int expOverload, QList<QVariant>
|
||||
|
||||
void tst_QObject::connectFunctorOverloads()
|
||||
{
|
||||
#if defined (Q_COMPILER_DECLTYPE) && defined (Q_COMPILER_VARIADIC_TEMPLATES)
|
||||
#if defined (Q_COMPILER_VARIADIC_TEMPLATES)
|
||||
connectFunctorOverload_impl<ComplexFunctor>(&FunctorArgDifferenceObject::signal_ii, 1,
|
||||
(QList<QVariant>() << 1 << 2));
|
||||
connectFunctorOverload_impl<ComplexFunctor>(&FunctorArgDifferenceObject::signal_iiS, 1,
|
||||
@ -6609,7 +6603,6 @@ void tst_QObject::disconnectDoesNotLeakFunctor()
|
||||
}
|
||||
QCOMPARE(countedStructObjectsCount, 0);
|
||||
{
|
||||
#if defined(Q_COMPILER_LAMBDA)
|
||||
CountedStruct s;
|
||||
QCOMPARE(countedStructObjectsCount, 1);
|
||||
QTimer timer;
|
||||
@ -6619,7 +6612,6 @@ void tst_QObject::disconnectDoesNotLeakFunctor()
|
||||
QCOMPARE(countedStructObjectsCount, 2);
|
||||
QVERIFY(QObject::disconnect(c));
|
||||
QCOMPARE(countedStructObjectsCount, 1);
|
||||
#endif // Q_COMPILER_LAMBDA
|
||||
}
|
||||
QCOMPARE(countedStructObjectsCount, 0);
|
||||
}
|
||||
@ -6667,7 +6659,6 @@ void tst_QObject::contextDoesNotLeakFunctor()
|
||||
}
|
||||
QCOMPARE(countedStructObjectsCount, 0);
|
||||
{
|
||||
#if defined(Q_COMPILER_LAMBDA)
|
||||
CountedStruct s;
|
||||
QEventLoop e;
|
||||
ContextObject *context = new ContextObject;
|
||||
@ -6680,7 +6671,6 @@ void tst_QObject::contextDoesNotLeakFunctor()
|
||||
context->deleteLater();
|
||||
e.exec();
|
||||
QCOMPARE(countedStructObjectsCount, 1);
|
||||
#endif // Q_COMPILER_LAMBDA
|
||||
}
|
||||
QCOMPARE(countedStructObjectsCount, 0);
|
||||
}
|
||||
|
@ -78,9 +78,7 @@ private slots:
|
||||
void fromRawData_data();
|
||||
void fromRawData();
|
||||
void literals();
|
||||
#if defined(Q_COMPILER_VARIADIC_MACROS) && defined(Q_COMPILER_LAMBDA)
|
||||
void variadicLiterals();
|
||||
#endif
|
||||
#ifdef Q_COMPILER_RVALUE_REFS
|
||||
void rValueReferences();
|
||||
#endif
|
||||
@ -1618,9 +1616,7 @@ void tst_QArrayData::literals()
|
||||
QCOMPARE(v.size(), size_t(11));
|
||||
// v.capacity() is unspecified, for now
|
||||
|
||||
#if defined(Q_COMPILER_VARIADIC_MACROS) && defined(Q_COMPILER_LAMBDA)
|
||||
QVERIFY(v.isStatic());
|
||||
#endif
|
||||
|
||||
#if !defined(QT_NO_UNSHARABLE_CONTAINERS)
|
||||
QVERIFY(v.isSharable());
|
||||
@ -1633,7 +1629,6 @@ void tst_QArrayData::literals()
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(Q_COMPILER_VARIADIC_MACROS) && defined(Q_COMPILER_LAMBDA)
|
||||
// Variadic Q_ARRAY_LITERAL need to be available in the current configuration.
|
||||
void tst_QArrayData::variadicLiterals()
|
||||
{
|
||||
@ -1682,7 +1677,6 @@ void tst_QArrayData::variadicLiterals()
|
||||
QCOMPARE(const_(v)[i], i);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Q_COMPILER_RVALUE_REFS
|
||||
// std::remove_reference is in C++11, but requires library support
|
||||
|
@ -138,9 +138,7 @@ private slots:
|
||||
void reserveExtended();
|
||||
void movablity_data();
|
||||
void movablity();
|
||||
#if defined(Q_COMPILER_LAMBDA)
|
||||
void literals();
|
||||
#endif
|
||||
void toUpperLower_data();
|
||||
void toUpperLower();
|
||||
void isUpper();
|
||||
@ -2192,7 +2190,6 @@ void tst_QByteArray::movablity()
|
||||
QVERIFY(true);
|
||||
}
|
||||
|
||||
#if defined(Q_COMPILER_LAMBDA)
|
||||
// Only tested on c++0x compliant compiler or gcc
|
||||
void tst_QByteArray::literals()
|
||||
{
|
||||
@ -2213,7 +2210,6 @@ void tst_QByteArray::literals()
|
||||
QVERIFY(str2.constData() == s);
|
||||
QVERIFY(str2.data() != s);
|
||||
}
|
||||
#endif
|
||||
|
||||
void tst_QByteArray::toUpperLower_data()
|
||||
{
|
||||
|
@ -89,9 +89,7 @@ private slots:
|
||||
#endif
|
||||
void constCorrectness();
|
||||
void customDeleter();
|
||||
#ifdef Q_COMPILER_LAMBDA
|
||||
void lambdaCustomDeleter();
|
||||
#endif
|
||||
void creating();
|
||||
void creatingCvQualified();
|
||||
void creatingVariadic();
|
||||
@ -1670,7 +1668,6 @@ void tst_QSharedPointer::customDeleter()
|
||||
safetyCheck();
|
||||
}
|
||||
|
||||
#ifdef Q_COMPILER_LAMBDA
|
||||
// The compiler needs to be in C++11 mode and to support lambdas
|
||||
void tst_QSharedPointer::lambdaCustomDeleter()
|
||||
{
|
||||
@ -1698,7 +1695,6 @@ void tst_QSharedPointer::lambdaCustomDeleter()
|
||||
}
|
||||
safetyCheck();
|
||||
}
|
||||
#endif
|
||||
|
||||
void customQObjectDeleterFn(QObject *obj)
|
||||
{
|
||||
@ -2233,11 +2229,9 @@ void tst_QSharedPointer::invalidConstructs_data()
|
||||
<< &QTest::QExternalTest::tryCompileFail
|
||||
<< "struct IncompatibleCustomDeleter { void operator()(int *); };\n"
|
||||
"QSharedPointer<Data> ptr(new Data, IncompatibleCustomDeleter());\n";
|
||||
#ifdef Q_COMPILER_LAMBDA
|
||||
QTest::newRow("incompatible-custom-lambda-deleter")
|
||||
<< &QTest::QExternalTest::tryCompileFail
|
||||
<< "QSharedPointer<Data> ptr(new Data, [](int *) {});\n";
|
||||
#endif
|
||||
}
|
||||
|
||||
void tst_QSharedPointer::invalidConstructs()
|
||||
|
@ -578,7 +578,7 @@ private slots:
|
||||
#ifdef QT_USE_ICU
|
||||
void toUpperLower_icu();
|
||||
#endif
|
||||
#if !defined(QT_NO_UNICODE_LITERAL) && defined(Q_COMPILER_LAMBDA)
|
||||
#if !defined(QT_NO_UNICODE_LITERAL)
|
||||
void literals();
|
||||
#endif
|
||||
void eightBitLiterals_data();
|
||||
@ -6621,7 +6621,7 @@ void tst_QString::toUpperLower_icu()
|
||||
}
|
||||
#endif
|
||||
|
||||
#if !defined(QT_NO_UNICODE_LITERAL) && defined(Q_COMPILER_LAMBDA)
|
||||
#if !defined(QT_NO_UNICODE_LITERAL)
|
||||
// Only tested on c++0x compliant compiler or gcc
|
||||
void tst_QString::literals()
|
||||
{
|
||||
|
@ -51,7 +51,6 @@
|
||||
|
||||
#define PD_CLASSINFO Q_CLASSINFO
|
||||
|
||||
#if defined(Q_COMPILER_VARIADIC_MACROS) || defined (Q_MOC_RUN)
|
||||
#define PD_VARARG(x, ...) x(__VA_ARGS__)
|
||||
|
||||
#if defined(Q_CC_GNU) || defined(Q_MOC_RUN)
|
||||
@ -61,7 +60,6 @@
|
||||
#define PD_VARARGEXT(x, ...) x(__VA_ARGS__)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#define PD_ADD_SUFFIX(x) PD_DEFINE1(x,_SUFFIX)
|
||||
#define PD_DEFINE_ITSELF PD_ADD_SUFFIX(PD_DEFINE_ITSELF)
|
||||
@ -100,7 +98,6 @@ public slots:
|
||||
|
||||
PD_TEST_IDENTIFIER_ARG(void, combined6()) {}
|
||||
|
||||
#if defined(Q_COMPILER_VARIADIC_MACROS) || defined (Q_MOC_RUN)
|
||||
PD_VARARG(void vararg1) {}
|
||||
PD_VARARG(void vararg2, int) {}
|
||||
PD_VARARG(void vararg3, int, int) {}
|
||||
@ -108,14 +105,6 @@ public slots:
|
||||
PD_VARARGEXT(void vararg4) {}
|
||||
PD_VARARGEXT(void vararg5, int) {}
|
||||
PD_VARARGEXT(void vararg6, int, int) {}
|
||||
#else
|
||||
void vararg1() {}
|
||||
void vararg2(int) {}
|
||||
void vararg3(int,int) {}
|
||||
void vararg4() {}
|
||||
void vararg5(int) {}
|
||||
void vararg6(int,int) {}
|
||||
#endif
|
||||
|
||||
#define OUTERFUNCTION(x) x
|
||||
#define INNERFUNCTION(x) OUTERFUNCTION(x)
|
||||
|
Loading…
Reference in New Issue
Block a user