Fix more cases where DSE would optimize out too many stores
GCC5/6 do aggressive dead store elimination on memory passed to placement-new. This resulted in the Heap::Object::prototype being a nullptr. qml.pro already contained the -fno-lifetime-dse flag, but there are other places where we ask the memory manager to allocate data. This is temporary band-aid, and is already fixed in 5.8. Change-Id: Ia61a69f65fab351068a588cfc36b5b3d762ffc9f Task-number: QTBUG-56932 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
This commit is contained in:
parent
9f4bb9a687
commit
f4ac007f4a
|
@ -3,6 +3,11 @@ TARGET = particlesplugin
|
|||
TARGETPATH = QtQuick/Particles.2
|
||||
IMPORT_VERSION = 2.0
|
||||
|
||||
greaterThan(QT_GCC_MAJOR_VERSION, 5) {
|
||||
# Our code is bad. Temporary workaround. Fixed in 5.8
|
||||
QMAKE_CXXFLAGS += -fno-delete-null-pointer-checks -fno-lifetime-dse
|
||||
}
|
||||
|
||||
SOURCES += \
|
||||
plugin.cpp
|
||||
|
||||
|
|
|
@ -13,6 +13,11 @@ exists("qqml_enable_gcov") {
|
|||
LIBS_PRIVATE += -lgcov
|
||||
}
|
||||
|
||||
greaterThan(QT_GCC_MAJOR_VERSION, 5) {
|
||||
# Our code is bad. Temporary workaround. Fixed in 5.8
|
||||
QMAKE_CXXFLAGS += -fno-delete-null-pointer-checks -fno-lifetime-dse
|
||||
}
|
||||
|
||||
QMAKE_DOCS = $$PWD/doc/qtquick.qdocconf
|
||||
|
||||
ANDROID_LIB_DEPENDENCIES = \
|
||||
|
|
|
@ -13,6 +13,11 @@ RESOURCES += qqmlecmascript.qrc
|
|||
|
||||
include (../../shared/util.pri)
|
||||
|
||||
greaterThan(QT_GCC_MAJOR_VERSION, 5) {
|
||||
# Our code is bad. Temporary workaround. Fixed in 5.8
|
||||
QMAKE_CXXFLAGS += -fno-delete-null-pointer-checks -fno-lifetime-dse
|
||||
}
|
||||
|
||||
# QMAKE_CXXFLAGS = -fprofile-arcs -ftest-coverage
|
||||
# LIBS += -lgcov
|
||||
|
||||
|
|
Loading…
Reference in New Issue