diff options
author | axis <qt-info@nokia.com> | 2009-08-21 10:09:06 (GMT) |
---|---|---|
committer | axis <qt-info@nokia.com> | 2009-08-21 10:54:29 (GMT) |
commit | 0ef0311dad387642bd6aa43e2cef9d25e2b5c5b3 (patch) | |
tree | 4c57927959db3f06f519fa17871ea8132d488311 /src/corelib | |
parent | e909151283a561643a25a72ff85588a00d9f1e7d (diff) | |
download | Qt-0ef0311dad387642bd6aa43e2cef9d25e2b5c5b3.zip Qt-0ef0311dad387642bd6aa43e2cef9d25e2b5c5b3.tar.gz Qt-0ef0311dad387642bd6aa43e2cef9d25e2b5c5b3.tar.bz2 |
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
Diffstat (limited to 'src/corelib')
-rw-r--r-- | src/corelib/kernel/qvariant.cpp | 27 |
1 files changed, 0 insertions, 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<const bool *>(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<const double*>(copy); - } else { - x->data.d = 0.0; - } -#else x->data.d = copy ? *static_cast<const double*>(copy) : 0.0; -#endif break; case QMetaType::Float: x->data.f = copy ? *static_cast<const float*>(copy) : 0.0f; @@ -174,28 +165,10 @@ static void construct(QVariant::Private *x, const void *copy) x->data.o = copy ? *static_cast<QObject *const*>(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<const qlonglong *>(copy); - } else { - x->data.ll = Q_INT64_C(0); - } -#else x->data.ll = copy ? *static_cast<const qlonglong *>(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<const qulonglong *>(copy); - } else { - x->data.ull = Q_UINT64_C(0); - } -#else x->data.ull = copy ? *static_cast<const qulonglong *>(copy) : Q_UINT64_C(0); -#endif break; case QVariant::Invalid: case QVariant::UserType: |