summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools/qmap.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/tools/qmap.h')
-rw-r--r--src/corelib/tools/qmap.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/corelib/tools/qmap.h b/src/corelib/tools/qmap.h
index 0c69d13295..676d9a1fec 100644
--- a/src/corelib/tools/qmap.h
+++ b/src/corelib/tools/qmap.h
@@ -141,6 +141,7 @@ private:
QMapNode() = delete;
Q_DISABLE_COPY(QMapNode)
+ friend struct QMapNodeBase;
};
template <class Key, class T>
@@ -208,8 +209,11 @@ struct QMapData : public QMapDataBase
// using reinterpret_cast because QMapDataBase::header is not
// actually a QMapNode.
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_GCC("-Wstrict-aliasing")
const Node *end() const { return reinterpret_cast<const Node *>(&header); }
Node *end() { return reinterpret_cast<Node *>(&header); }
+QT_WARNING_POP
const Node *begin() const { if (root()) return static_cast<const Node*>(mostLeftNode); return end(); }
Node *begin() { if (root()) return static_cast<Node*>(mostLeftNode); return end(); }