From 7e0562c5ff18e2ddd72bccd133a762fd37e50eba Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Fri, 6 Jul 2012 15:58:00 +0200 Subject: fix compilation with conforming compilers (e.g. GCC >= 4.7) In qdbus_cast(), qMetaTypeId as well as qvariant_cast are used. They don't depend on any template argument of qdbus_cast(), so their definitions need to be available at function template definition instead of instantiation time. But the necessary Q_DECLARE_METATYPE(QDBusArgument) was at the end of the header, after the defintion of qdbus_cast(), which is too late for conformin compilers. Fixed by moving it up just after the QDBusArgument definition. Similarly, in tst_qdatetime and tst_qvector, the Q_DECLARE_METATYPE() for Qt::DateFormat and QVector, and with it the specialisation of QMetaTypeId<>, were issued after the first use of meta typing; too late for conforming compilers. Change-Id: I25ca0b06e68d5184597a22708404a8f2040b2de1 Reviewed-by: Thiago Macieira --- tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp | 3 +-- tests/auto/corelib/tools/qvector/tst_qvector.cpp | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) (limited to 'tests/auto') diff --git a/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp b/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp index 971b93fc65..17c3c5b576 100644 --- a/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp +++ b/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp @@ -141,6 +141,7 @@ Q_DECLARE_METATYPE(QDateTime) Q_DECLARE_METATYPE(QDate) Q_DECLARE_METATYPE(QTime) Q_DECLARE_METATYPE(Qt::TimeSpec) +Q_DECLARE_METATYPE(Qt::DateFormat) tst_QDateTime::tst_QDateTime() { @@ -1626,7 +1627,5 @@ void tst_QDateTime::utcOffsetLessThan() const QVERIFY(!(dt2 < dt1)); } -Q_DECLARE_METATYPE(Qt::DateFormat) - QTEST_APPLESS_MAIN(tst_QDateTime) #include "tst_qdatetime.moc" diff --git a/tests/auto/corelib/tools/qvector/tst_qvector.cpp b/tests/auto/corelib/tools/qvector/tst_qvector.cpp index 09d3051ca5..e83189ec6f 100644 --- a/tests/auto/corelib/tools/qvector/tst_qvector.cpp +++ b/tests/auto/corelib/tools/qvector/tst_qvector.cpp @@ -293,6 +293,8 @@ private: template void detach() const; }; +Q_DECLARE_METATYPE(QVector); + template struct SimpleValue { static T at(int index) @@ -2026,8 +2028,6 @@ void tst_QVector::const_shared_null() QVERIFY(!v2.isDetached()); } -Q_DECLARE_METATYPE(QVector); - template void tst_QVector::setSharable_data() const { -- cgit v1.2.3