From 862e11cd199e51eb27e5f49aad511e676b0aba95 Mon Sep 17 00:00:00 2001 From: Kurt Pattyn Date: Sun, 24 Nov 2013 14:00:19 +0100 Subject: [PATCH] Correct compiler warnings for sign conversion qstrlen() returns a uint. When assigned to an int, the compiler warns about sign conversions. Because these calls are used within templates, the code appears in user generated code, and hence the warnings cannot be suppressed by the -isystem directive. Using the -Werror flag, makes the user code fail. [ChangeLog][QtCore] Fixed sign conversion warnings in code using QMetaTypeId. Change-Id: Ib7603679d6526467f8cbb9d7bcf5f56c6af47ceb Reviewed-by: Thiago Macieira --- src/corelib/kernel/qmetatype.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/corelib/kernel/qmetatype.h b/src/corelib/kernel/qmetatype.h index 4ccfc7b7f0..a2e6960949 100644 --- a/src/corelib/kernel/qmetatype.h +++ b/src/corelib/kernel/qmetatype.h @@ -1741,7 +1741,7 @@ struct QMetaTypeId< SINGLE_ARG_TEMPLATE > \ return id; \ const char *tName = QMetaType::typeName(qMetaTypeId()); \ Q_ASSERT(tName); \ - const int tNameLen = qstrlen(tName); \ + const int tNameLen = int(qstrlen(tName)); \ QByteArray typeName; \ typeName.reserve(int(sizeof(#SINGLE_ARG_TEMPLATE)) + 1 + tNameLen + 1 + 1); \ typeName.append(#SINGLE_ARG_TEMPLATE, int(sizeof(#SINGLE_ARG_TEMPLATE)) - 1) \ @@ -1782,8 +1782,8 @@ struct QMetaTypeId< DOUBLE_ARG_TEMPLATE > \ const char *uName = QMetaType::typeName(qMetaTypeId()); \ Q_ASSERT(tName); \ Q_ASSERT(uName); \ - const int tNameLen = qstrlen(tName); \ - const int uNameLen = qstrlen(uName); \ + const int tNameLen = int(qstrlen(tName)); \ + const int uNameLen = int(qstrlen(uName)); \ QByteArray typeName; \ typeName.reserve(int(sizeof(#DOUBLE_ARG_TEMPLATE)) + 1 + tNameLen + 1 + uNameLen + 1 + 1); \ typeName.append(#DOUBLE_ARG_TEMPLATE, int(sizeof(#DOUBLE_ARG_TEMPLATE)) - 1) \