path: root/tests/auto
diff options
authorMarc Mutz <>2013-09-18 18:43:32 +0200
committerThe Qt Project <>2013-11-07 03:06:29 +0100
commitecfbb4e441ec7870c96de664189c373f3e527e72 (patch)
treed62ab65bf4b312ce2f2c0348861a2d0d67327c57 /tests/auto
parent6aff0c4e48d312e827412d2c922afe983081092e (diff)
tst_QFlags: make constExpr() check compile on clang trunk
The problem is the verifyConstExpr<>() line involving the ~ operator. The result as an integer is a value that can no longer be represented in an int. This is known at compile time and thus template deduction, which only has an int to match against, fails. To fix, use an unsigned int as the first template argument of verifyConstExpr<>(). Clang's error message for this is really sub-optimal, cf. Change-Id: I3a77dc54d2bee12b016d75724ac1bd7801f4cf2d Reviewed-by: Olivier Goffart <>
Diffstat (limited to 'tests/auto')
1 files changed, 1 insertions, 1 deletions
diff --git a/tests/auto/corelib/global/qflags/tst_qflags.cpp b/tests/auto/corelib/global/qflags/tst_qflags.cpp
index e50a6b63fe..73a69a1309 100644
--- a/tests/auto/corelib/global/qflags/tst_qflags.cpp
+++ b/tests/auto/corelib/global/qflags/tst_qflags.cpp
@@ -99,7 +99,7 @@ void tst_QFlags::testFlagMultiBits() const
-template <int N, typename T> bool verifyConstExpr(T n) { return n == N; }
+template <unsigned int N, typename T> bool verifyConstExpr(T n) { return n == N; }
void tst_QFlags::constExpr()