Fix alias warnings in QDeclarativeCompiler
authorAaron Kennedy <aaron.kennedy@nokia.com>
Fri, 29 Jul 2011 02:28:09 +0000 (12:28 +1000)
committerQt by Nokia <qt-info@nokia.com>
Fri, 29 Jul 2011 07:39:41 +0000 (09:39 +0200)
Task-number: QTBUG-19736 QTBUG-19693

Change-Id: Ice6b9e0d4f11c75350a3028af5d2479d435d1f69
Reviewed-on: http://codereview.qt.nokia.com/2364
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>

src/declarative/qml/qdeclarativecompiler.cpp

index a0b1d8f..7a15aed 100644 (file)
@@ -455,7 +455,8 @@ void QDeclarativeCompiler::genLiteralAssignment(const QMetaProperty &prop,
             QTime time = QDeclarativeStringConverters::timeFromString(string);
             instr.setType(QDeclarativeInstruction::StoreTime);
             instr.storeTime.propertyIndex = prop.propertyIndex();
-            instr.storeTime.time = *(QDeclarativeInstruction::instr_storeTime::QTime *)&time;
+            Q_ASSERT(sizeof(instr.storeTime.time) == sizeof(QTime));
+            ::memcpy(&instr.storeTime.time, &time, sizeof(QTime));
             }
             break;
         case QVariant::DateTime:
@@ -465,7 +466,8 @@ void QDeclarativeCompiler::genLiteralAssignment(const QMetaProperty &prop,
             instr.setType(QDeclarativeInstruction::StoreDateTime);
             instr.storeDateTime.propertyIndex = prop.propertyIndex();
             instr.storeDateTime.date = dateTime.date().toJulianDay();
-            instr.storeDateTime.time = *(QDeclarativeInstruction::instr_storeTime::QTime *)&time;
+            Q_ASSERT(sizeof(instr.storeDateTime.time) == sizeof(QTime));
+            ::memcmp(&instr.storeDateTime.time, &time, sizeof(QTime));
             }
             break;
 #endif // QT_NO_DATESTRING