diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2020-05-14 20:16:29 +0200 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2020-05-16 08:55:28 +0200 |
commit | 3df3bdcdb3b797a655ae28900111343b67da99d7 (patch) | |
tree | 43e58d0448fc4e4e15f4cbd24c501c8932066719 /tests | |
parent | 1a5cc8d13d0d348a571cab0d24dc814b896c8db7 (diff) |
QTaggedPointer: verify constexpr'ness of some ctors
Change-Id: I44196ba3a823ce04b7c82aacfb9da301cc0f1886
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/corelib/tools/qtaggedpointer/tst_qtaggedpointer.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/auto/corelib/tools/qtaggedpointer/tst_qtaggedpointer.cpp b/tests/auto/corelib/tools/qtaggedpointer/tst_qtaggedpointer.cpp index 6a7a7c7ec8..1ef510e93f 100644 --- a/tests/auto/corelib/tools/qtaggedpointer/tst_qtaggedpointer.cpp +++ b/tests/auto/corelib/tools/qtaggedpointer/tst_qtaggedpointer.cpp @@ -34,6 +34,7 @@ class tst_QTaggedPointer : public QObject Q_OBJECT private Q_SLOTS: + void constExpr(); void construction(); void dereferenceOperator(); void pointerOperator(); @@ -46,6 +47,38 @@ private Q_SLOTS: void taggedLinkedList(); }; +void tst_QTaggedPointer::constExpr() +{ + { + constexpr QTaggedPointer<int> p; + Q_UNUSED(p); + } + { + enum Foo : uint {}; + constexpr QTaggedPointer<int, Foo> p; + Q_UNUSED(p); + } + { + enum Foo : int {}; + constexpr QTaggedPointer<int, Foo> p; + Q_UNUSED(p); + } + { + constexpr QTaggedPointer<int> p = nullptr; + Q_UNUSED(p); + } + { + enum Foo : uint {}; + constexpr QTaggedPointer<int, Foo> p = nullptr; + Q_UNUSED(p); + } + { + enum Foo : int {}; + constexpr QTaggedPointer<int, Foo> p = nullptr; + Q_UNUSED(p); + } +} + void tst_QTaggedPointer::construction() { { |