summaryrefslogtreecommitdiff
path: root/src/3rdparty/javascriptcore/JavaScriptCore/wtf/unicode/qt4/UnicodeQt4.h
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@qt.io>2018-05-23 14:23:51 +0200
committerSimon Hausmann <simon.hausmann@qt.io>2018-05-23 14:02:08 +0000
commit9d1a907345d6a04178b93389803e2d17f090953a (patch)
tree076a4f347964e2cd001ee70cb996a63fe4ef6780 /src/3rdparty/javascriptcore/JavaScriptCore/wtf/unicode/qt4/UnicodeQt4.h
parent3813b6205b3519fc3372d0e6a8073d2fb82a6145 (diff)
downloadqtscript-9d1a907345d6a04178b93389803e2d17f090953a.tar.gz
Fix QtScript on 64-bit systems with gcc 8
Similar to commit 92836d052efb6d8073136e8507083f93fb60bb80 in qtdeclarative, we must use memcpy to do a bit-wise conversion from the JSCell *m_ptr to an intptr_t for JSValue tag operations. This fixes the referenced task and all the failing auto-tests. The most visible result was that if ((jsvalue.immediateValue() & 0xffff000000000000ll) == 0xffff000000000000ll) return static_cast<int32_t>(jsvalue.immediateValue()); was "optimized" to "return 0", breaking QScriptValue::toNumber() for integer encoded values. [ChangeLog][QtScript] Fix incorrect script evaluations on 64-bit systems with gcc 8. Change-Id: I525b6b66d0e3c5163ad7e338fd0e866cdf620dad Task-number: QTBUG-68367 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Diffstat (limited to 'src/3rdparty/javascriptcore/JavaScriptCore/wtf/unicode/qt4/UnicodeQt4.h')
0 files changed, 0 insertions, 0 deletions