diff options
Diffstat (limited to 'src/qml/memory')
-rw-r--r-- | src/qml/memory/qv4heap_p.h | 10 | ||||
-rw-r--r-- | src/qml/memory/qv4mm_p.h | 4 | ||||
-rw-r--r-- | src/qml/memory/qv4writebarrier_p.h | 2 |
3 files changed, 5 insertions, 11 deletions
diff --git a/src/qml/memory/qv4heap_p.h b/src/qml/memory/qv4heap_p.h index 363e891d5c..7bc841b21d 100644 --- a/src/qml/memory/qv4heap_p.h +++ b/src/qml/memory/qv4heap_p.h @@ -60,12 +60,6 @@ // parent's init all up the inheritance chain), define QML_CHECK_INIT_DESTROY_CALLS below. #undef QML_CHECK_INIT_DESTROY_CALLS -#if defined(_MSC_VER) && (_MSC_VER < 1900) // broken compilers: -# define V4_ASSERT_IS_TRIVIAL(x) -#else // working compilers: -# define V4_ASSERT_IS_TRIVIAL(x) Q_STATIC_ASSERT(std::is_trivial< x >::value); -#endif - QT_BEGIN_NAMESPACE namespace QV4 { @@ -175,7 +169,7 @@ struct Q_QML_EXPORT Base { Q_ALWAYS_INLINE void _setDestroyed() {} #endif }; -V4_ASSERT_IS_TRIVIAL(Base) +Q_STATIC_ASSERT(std::is_trivial< Base >::value); // This class needs to consist only of pointer sized members to allow // for a size/offset translation when cross-compiling between 32- and // 64-bit. @@ -253,7 +247,7 @@ private: QtSharedPointer::ExternalRefCountData *d; QObject *qObject; }; -V4_ASSERT_IS_TRIVIAL(QQmlQPointer<QObject>) +Q_STATIC_ASSERT(std::is_trivial< QQmlQPointer<QObject> >::value); #endif } diff --git a/src/qml/memory/qv4mm_p.h b/src/qml/memory/qv4mm_p.h index 921fea3956..f7c50ff3cf 100644 --- a/src/qml/memory/qv4mm_p.h +++ b/src/qml/memory/qv4mm_p.h @@ -169,7 +169,7 @@ public: template<typename ManagedType> inline typename ManagedType::Data *allocManaged(std::size_t size) { - V4_ASSERT_IS_TRIVIAL(typename ManagedType::Data) + Q_STATIC_ASSERT(std::is_trivial< typename ManagedType::Data >::value); size = align(size); Heap::Base *o = allocData(size); InternalClass *ic = ManagedType::defaultInternalClass(engine); @@ -182,7 +182,7 @@ public: template<typename ManagedType> inline typename ManagedType::Data *allocManaged(std::size_t size, InternalClass *ic) { - V4_ASSERT_IS_TRIVIAL(typename ManagedType::Data) + Q_STATIC_ASSERT(std::is_trivial< typename ManagedType::Data >::value); size = align(size); Heap::Base *o = allocData(size); o->internalClass = ic; diff --git a/src/qml/memory/qv4writebarrier_p.h b/src/qml/memory/qv4writebarrier_p.h index c0f4b0b29a..39413a6f09 100644 --- a/src/qml/memory/qv4writebarrier_p.h +++ b/src/qml/memory/qv4writebarrier_p.h @@ -138,7 +138,7 @@ private: Heap::Base *ptr; }; typedef Pointer<char *, 0> V4PointerCheck; -V4_ASSERT_IS_TRIVIAL(V4PointerCheck) +Q_STATIC_ASSERT(std::is_trivial< V4PointerCheck >::value); } |