From 0ef0311dad387642bd6aa43e2cef9d25e2b5c5b3 Mon Sep 17 00:00:00 2001 From: axis Date: Fri, 21 Aug 2009 12:09:06 +0200 Subject: Revert "Fixed KERN-EXEC 3 panic on ARMV5 builds caused by combining trinary operators and 64 bit values in QVariant. This is probably a compiler bug. Workaround is flagged with Q_CC_RVCT specific just in case, but should work for all compilers." This reverts commit 85a1f7888bd48d5857de2b7c6304a334350fd054. Conflicts: src/corelib/kernel/qvariant.cpp tests/auto/qvariant/qvariant.pro I cannot reproduce this anymore with the latest RVCT, not even in S60 3.1. RevBy: Miikka Heikkinen --- src/corelib/kernel/qvariant.cpp | 27 --------------------------- 1 file changed, 27 deletions(-) diff --git a/src/corelib/kernel/qvariant.cpp b/src/corelib/kernel/qvariant.cpp index d5b2d16..196e1d7 100644 --- a/src/corelib/kernel/qvariant.cpp +++ b/src/corelib/kernel/qvariant.cpp @@ -156,16 +156,7 @@ static void construct(QVariant::Private *x, const void *copy) x->data.b = copy ? *static_cast(copy) : false; break; case QVariant::Double: -#if defined(Q_CC_RVCT) - // Using trinary operator with 64bit constants crashes when ran on Symbian device - if (copy){ - x->data.d = *static_cast(copy); - } else { - x->data.d = 0.0; - } -#else x->data.d = copy ? *static_cast(copy) : 0.0; -#endif break; case QMetaType::Float: x->data.f = copy ? *static_cast(copy) : 0.0f; @@ -174,28 +165,10 @@ static void construct(QVariant::Private *x, const void *copy) x->data.o = copy ? *static_cast(copy) : 0; break; case QVariant::LongLong: -#if defined(Q_CC_RVCT) - // Using trinary operator with 64bit constants crashes when ran on Symbian device - if (copy){ - x->data.ll = *static_cast(copy); - } else { - x->data.ll = Q_INT64_C(0); - } -#else x->data.ll = copy ? *static_cast(copy) : Q_INT64_C(0); -#endif break; case QVariant::ULongLong: -#if defined(Q_CC_RVCT) - // Using trinary operator with 64bit constants crashes when ran on Symbian device - if (copy){ - x->data.ull = *static_cast(copy); - } else { - x->data.ull = Q_UINT64_C(0); - } -#else x->data.ull = copy ? *static_cast(copy) : Q_UINT64_C(0); -#endif break; case QVariant::Invalid: case QVariant::UserType: -- cgit v0.12