Get rid of MSVC compiler warnings from QVector code
authorFriedemann Kleint <Friedemann.Kleint@nokia.com>
Thu, 31 May 2012 14:48:22 +0000 (16:48 +0200)
committerQt by Nokia <qt-info@nokia.com>
Fri, 1 Jun 2012 01:15:46 +0000 (03:15 +0200)
Change-Id: I39b849721f3ba790c4a9197d69ac48e98cc2f5bd
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
src/corelib/tools/qvector.h

index 2e98fce..581d871 100644 (file)
@@ -298,6 +298,10 @@ private:
     class AlignmentDummy { Data header; T array[1]; };
 };
 
+#ifdef Q_CC_MSVC
+#   pragma warning ( disable : 4345 ) // behavior change: an object of POD type constructed with an initializer of the form () will be default-initialized
+#endif
+
 template <typename T>
 void QVector<T>::defaultConstruct(T *from, T *to)
 {
@@ -310,6 +314,10 @@ void QVector<T>::defaultConstruct(T *from, T *to)
     }
 }
 
+#ifdef Q_CC_MSVC
+#   pragma warning ( default: 4345 )
+#endif
+
 template <typename T>
 void QVector<T>::copyConstruct(T *srcFrom, T *srcTo, T *dstFrom)
 {
@@ -569,10 +577,10 @@ void QVector<T>::realloc(const int asize, const int aalloc, QArrayData::Allocati
     }
 
     Q_ASSERT(d->data());
-    Q_ASSERT(d->size <= d->alloc);
+    Q_ASSERT(uint(d->size) <= d->alloc);
     Q_ASSERT(d != Data::unsharableEmpty());
     Q_ASSERT(aalloc ? d != Data::sharedNull() : d == Data::sharedNull());
-    Q_ASSERT(d->alloc >= aalloc);
+    Q_ASSERT(d->alloc >= uint(aalloc));
     Q_ASSERT(d->size == asize);
 }