QtGlobal: remove Q_DECL_FINAL_CLASS

Now that qvariant_p.h's HasIsNullMethod check is fixed
so that it doesn't require Q_COMPILER_DECLTYPE anymore
to be able to deal with final classes, there's no point
in distinguishing Q_DECL_FINAL and Q_DECL_FINAL_CLASS
anymore, so remove the latter.

Change-Id: I31de5b63e7d2e44171a13e928997c946d93e05c9
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
bb10
Marc Mutz 2012-07-10 15:29:22 +02:00 committed by Qt by Nokia
parent 7e0fa2fc75
commit f45080e142
2 changed files with 3 additions and 9 deletions

View File

@ -715,15 +715,9 @@
#ifdef Q_COMPILER_EXPLICIT_OVERRIDES
# define Q_DECL_OVERRIDE override
# define Q_DECL_FINAL final
# ifdef Q_COMPILER_DECLTYPE // required for class-level final to compile in qvariant_p.h
# define Q_DECL_FINAL_CLASS final
# else
# define Q_DECL_FINAL_CLASS
# endif
#else
# define Q_DECL_OVERRIDE
# define Q_DECL_FINAL
# define Q_DECL_FINAL_CLASS
#endif
#ifdef Q_COMPILER_NOEXCEPT

View File

@ -271,11 +271,11 @@ class QVariantIsNull
Q_STATIC_ASSERT(!HasIsNullMethod<SelfTest2>::Value);
struct SelfTest3 : public SelfTest1 {};
Q_STATIC_ASSERT(HasIsNullMethod<SelfTest3>::Value);
struct SelfTestFinal1 Q_DECL_FINAL_CLASS { bool isNull() const; };
struct SelfTestFinal1 Q_DECL_FINAL { bool isNull() const; };
Q_STATIC_ASSERT(HasIsNullMethod<SelfTestFinal1>::Value);
struct SelfTestFinal2 Q_DECL_FINAL_CLASS {};
struct SelfTestFinal2 Q_DECL_FINAL {};
Q_STATIC_ASSERT(!HasIsNullMethod<SelfTestFinal2>::Value);
struct SelfTestFinal3 Q_DECL_FINAL_CLASS : public SelfTest1 {};
struct SelfTestFinal3 Q_DECL_FINAL : public SelfTest1 {};
Q_STATIC_ASSERT(HasIsNullMethod<SelfTestFinal3>::Value);
template<typename T, bool HasIsNull = HasIsNullMethod<T>::Value>