diff options
author | Robin Burchell <robin.burchell@crimson.no> | 2017-01-16 21:36:27 +0100 |
---|---|---|
committer | Robin Burchell <robin.burchell@crimson.no> | 2017-01-17 21:39:58 +0000 |
commit | 7ed968be5564d8c19d918a3ce8e0683c162f4f1b (patch) | |
tree | 4f93e7ac2b51f00e2c2f6ae973cd59a0e97224e9 /src/qml | |
parent | f88ac80a28467648f5e0c5c3d7dc978c4967af4c (diff) |
qml: Remove last foreach, and mark QT_NO_FOREACH
Just src/imports/ to go...
Change-Id: Ib4484676e24655cb950b3c4bb6495ff0e7f9700f
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/qml')
-rw-r--r-- | src/qml/compiler/qv4ssa.cpp | 2 | ||||
-rw-r--r-- | src/qml/jit/qv4regalloc.cpp | 4 | ||||
-rw-r--r-- | src/qml/qml.pro | 2 | ||||
-rw-r--r-- | src/qml/qml/qqmltypeloader.cpp | 2 | ||||
-rw-r--r-- | src/qml/types/qqmlconnections.cpp | 4 | ||||
-rw-r--r-- | src/qml/types/qqmldelegatemodel.cpp | 8 |
6 files changed, 13 insertions, 9 deletions
diff --git a/src/qml/compiler/qv4ssa.cpp b/src/qml/compiler/qv4ssa.cpp index 943700de44..1d512711b8 100644 --- a/src/qml/compiler/qv4ssa.cpp +++ b/src/qml/compiler/qv4ssa.cpp @@ -2758,7 +2758,7 @@ public: visit(s); } - foreach (const Conversion &conversion, _conversions) { + for (const Conversion &conversion : qAsConst(_conversions)) { IR::Move *move = conversion.stmt->asMove(); // Note: isel only supports move into member when source is a temp, so convert diff --git a/src/qml/jit/qv4regalloc.cpp b/src/qml/jit/qv4regalloc.cpp index 63d542b5c8..3fb0815299 100644 --- a/src/qml/jit/qv4regalloc.cpp +++ b/src/qml/jit/qv4regalloc.cpp @@ -1087,12 +1087,12 @@ private: if (_info->def(it->temp()) != successorStart && !it->isSplitFromInterval()) { const int successorEnd = successor->terminator()->id(); const int idx = successor->in.indexOf(predecessor); - foreach (const Use &use, _info->uses(it->temp())) { + for (const Use &use : _info->uses(it->temp)) { if (use.pos == static_cast<unsigned>(successorStart)) { // only check the current edge, not all other possible ones. This is // important for phi nodes: they have uses that are only valid when // coming in over a specific edge. - foreach (Stmt *s, successor->statements()) { + for (Stmt *s : successor->statements()) { if (Phi *phi = s->asPhi()) { Q_ASSERT(it->temp().index != phi->targetTemp->index); Q_ASSERT(phi->d->incoming[idx]->asTemp() == 0 diff --git a/src/qml/qml.pro b/src/qml/qml.pro index 826a074701..8f9e4b7f83 100644 --- a/src/qml/qml.pro +++ b/src/qml/qml.pro @@ -14,6 +14,8 @@ solaris-cc*:QMAKE_CXXFLAGS_RELEASE -= -O2 # Ensure this gcc optimization is switched off for mips platforms to avoid trouble with JIT. gcc:isEqual(QT_ARCH, "mips"): QMAKE_CXXFLAGS += -fno-reorder-blocks +DEFINES += QT_NO_FOREACH + exists("qqml_enable_gcov") { QMAKE_CXXFLAGS = -fprofile-arcs -ftest-coverage -fno-elide-constructors LIBS_PRIVATE += -lgcov diff --git a/src/qml/qml/qqmltypeloader.cpp b/src/qml/qml/qqmltypeloader.cpp index 76ac15e2f1..ac993a1037 100644 --- a/src/qml/qml/qqmltypeloader.cpp +++ b/src/qml/qml/qqmltypeloader.cpp @@ -2428,7 +2428,7 @@ void QQmlTypeData::continueLoadFromIR() QList<QQmlError> errors; - foreach (const QV4::CompiledData::Import *import, m_document->imports) { + for (const QV4::CompiledData::Import *import : qAsConst(m_document->imports)) { if (!addImport(import, &errors)) { Q_ASSERT(errors.size()); QQmlError error(errors.takeFirst()); diff --git a/src/qml/types/qqmlconnections.cpp b/src/qml/types/qqmlconnections.cpp index 864ecf54dd..870aeaa6e2 100644 --- a/src/qml/types/qqmlconnections.cpp +++ b/src/qml/types/qqmlconnections.cpp @@ -168,7 +168,7 @@ void QQmlConnections::setTarget(QObject *obj) if (d->targetSet && d->target == obj) return; d->targetSet = true; // even if setting to 0, it is *set* - foreach (QQmlBoundSignal *s, d->boundsignals) { + for (QQmlBoundSignal *s : qAsConst(d->boundsignals)) { // It is possible that target is being changed due to one of our signal // handlers -> use deleteLater(). if (s->isNotifying()) @@ -278,7 +278,7 @@ void QQmlConnections::connectSignals() QQmlContextData *ctxtdata = ddata ? ddata->outerContext : 0; const QV4::CompiledData::Unit *qmlUnit = d->compilationUnit->data; - foreach (const QV4::CompiledData::Binding *binding, d->bindings) { + for (const QV4::CompiledData::Binding *binding : qAsConst(d->bindings)) { Q_ASSERT(binding->type == QV4::CompiledData::Binding::Type_Script); QString propName = qmlUnit->stringAt(binding->propertyNameIndex); diff --git a/src/qml/types/qqmldelegatemodel.cpp b/src/qml/types/qqmldelegatemodel.cpp index c635ccf79c..c0d75cae33 100644 --- a/src/qml/types/qqmldelegatemodel.cpp +++ b/src/qml/types/qqmldelegatemodel.cpp @@ -264,7 +264,7 @@ QQmlDelegateModel::~QQmlDelegateModel() { Q_D(QQmlDelegateModel); - foreach (QQmlDelegateModelItem *cacheItem, d->m_cache) { + for (QQmlDelegateModelItem *cacheItem : qAsConst(d->m_cache)) { if (cacheItem->object) { delete cacheItem->object; @@ -764,7 +764,8 @@ void QQmlDelegateModelPrivate::updateFilterGroup() emit q->countChanged(); if (m_parts) { - foreach (QQmlPartsModel *model, m_parts->models) + auto partsCopy = m_parts->models; // deliberate; this may alter m_parts + for (QQmlPartsModel *model : qAsConst(partsCopy)) model->updateFilterGroup(m_compositorGroup, changeSet); } } @@ -1472,7 +1473,8 @@ void QQmlDelegateModelPrivate::emitChanges() for (int i = 1; i < m_groupCount; ++i) QQmlDelegateModelGroupPrivate::get(m_groups[i])->emitModelUpdated(reset); - foreach (QQmlDelegateModelItem *cacheItem, m_cache) { + auto cacheCopy = m_cache; // deliberate; emitChanges may alter m_cache + for (QQmlDelegateModelItem *cacheItem : qAsConst(cacheCopy)) { if (cacheItem->attached) cacheItem->attached->emitChanges(); } |