From 29942dcbb1ecd7a9ffd60347221df13c5529b9fc Mon Sep 17 00:00:00 2001 From: Giuseppe D'Angelo Date: Mon, 16 Nov 2020 03:06:10 +0100 Subject: [PATCH] Centralize the wchar_t == char16_t check on Windows Don't push it onto every TU that includes QChar (... approx. everything that uses Qt). Change-Id: I4a07ce9e38a347b45315db93b0c5b90c20bacdbc Reviewed-by: Lars Knoll --- src/corelib/global/qglobal.cpp | 3 +++ src/corelib/text/qchar.h | 3 --- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp index ad17f41236..a1a27376e7 100644 --- a/src/corelib/global/qglobal.cpp +++ b/src/corelib/global/qglobal.cpp @@ -132,6 +132,9 @@ static_assert(QT_POINTER_SIZE == sizeof(void *), "QT_POINTER_SIZE defined incorr static_assert(sizeof(float) == 4, "Qt assumes that float is 32 bits"); static_assert(sizeof(char16_t) == 2, "Qt assumes that char16_t is 16 bits"); static_assert(sizeof(char32_t) == 4, "Qt assumes that char32_t is 32 bits"); +#if defined(Q_OS_WIN) +static_assert(sizeof(wchar_t) == sizeof(char16_t)); +#endif static_assert(std::numeric_limits::radix == 2, "Qt assumes binary integers"); static_assert((std::numeric_limits::max() + std::numeric_limits::lowest()) == -1, diff --git a/src/corelib/text/qchar.h b/src/corelib/text/qchar.h index f66671e27c..5325b9ca8d 100644 --- a/src/corelib/text/qchar.h +++ b/src/corelib/text/qchar.h @@ -116,9 +116,6 @@ public: constexpr Q_IMPLICIT QChar(SpecialCharacter s) noexcept : ucs(char16_t(s)) {} // implicit constexpr Q_IMPLICIT QChar(QLatin1Char ch) noexcept : ucs(ch.unicode()) {} // implicit constexpr Q_IMPLICIT QChar(char16_t ch) noexcept : ucs(ch) {} // implicit -#if defined(Q_OS_WIN) - static_assert(sizeof(wchar_t) == sizeof(char16_t)); -#endif #if defined(Q_OS_WIN) || defined(Q_CLANG_QDOC) constexpr Q_IMPLICIT QChar(wchar_t ch) noexcept : ucs(char16_t(ch)) {} // implicit #endif