From 4e98a35a3c01d470133e3c1c120136790c04891a Mon Sep 17 00:00:00 2001 From: Cheney Wang Date: Wed, 13 Jun 2018 02:22:24 -0700 Subject: Fix error C3615 for qt5-base --- ports/qt5-base/CONTROL | 2 +- ports/qt5-base/fix-C3615.patch | 56 ++++++++++++++++++++++++++++++++++++++++++ ports/qt5-base/portfile.cmake | 1 + 3 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 ports/qt5-base/fix-C3615.patch diff --git a/ports/qt5-base/CONTROL b/ports/qt5-base/CONTROL index e0b9e0e15..59ee46ef8 100644 --- a/ports/qt5-base/CONTROL +++ b/ports/qt5-base/CONTROL @@ -1,4 +1,4 @@ Source: qt5-base -Version: 5.9.2-6 +Version: 5.9.2-7 Description: Qt5 Application Framework Base Module. Includes Core, GUI, Widgets, Networking, SQL, Concurrent and other essential qt components. Build-Depends: zlib, libjpeg-turbo, libpng, freetype, pcre2, harfbuzz, sqlite3, libpq, double-conversion, openssl diff --git a/ports/qt5-base/fix-C3615.patch b/ports/qt5-base/fix-C3615.patch new file mode 100644 index 000000000..c3976ced7 --- /dev/null +++ b/ports/qt5-base/fix-C3615.patch @@ -0,0 +1,56 @@ +diff --git a/src/corelib/tools/qalgorithms.h b/src/corelib/tools/qalgorithms.h +index c0f7709f..3784ceff 100644 +--- a/src/corelib/tools/qalgorithms.h ++++ b/src/corelib/tools/qalgorithms.h +@@ -590,6 +590,7 @@ Q_DECL_CONSTEXPR Q_ALWAYS_INLINE uint qt_builtin_popcountll(quint64 v) Q_DECL_NO + } + #elif defined(Q_CC_MSVC) && !defined(Q_OS_WINCE) && !defined(Q_PROCESSOR_ARM) + #define QT_POPCOUNT_CONSTEXPR ++#define QT_POPCOUNT_RELAXED_CONSTEXPR + #define QT_HAS_BUILTIN_CTZ + Q_ALWAYS_INLINE unsigned long qt_builtin_ctz(quint32 val) + { +@@ -676,6 +677,7 @@ Q_ALWAYS_INLINE uint qt_builtin_popcountll(quint64 v) Q_DECL_NOTHROW + + #ifndef QT_POPCOUNT_CONSTEXPR + #define QT_POPCOUNT_CONSTEXPR Q_DECL_CONSTEXPR ++#define QT_POPCOUNT_RELAXED_CONSTEXPR Q_DECL_RELAXED_CONSTEXPR + #endif + + } //namespace QAlgorithmsPrivate +@@ -819,7 +821,7 @@ Q_DECL_RELAXED_CONSTEXPR inline uint qCountLeadingZeroBits(quint32 v) Q_DECL_NOT + #endif + } + +-Q_DECL_RELAXED_CONSTEXPR inline uint qCountLeadingZeroBits(quint8 v) Q_DECL_NOTHROW ++QT_POPCOUNT_RELAXED_CONSTEXPR inline uint qCountLeadingZeroBits(quint8 v) Q_DECL_NOTHROW + { + #if defined(QT_HAS_BUILTIN_CLZ) + return v ? QAlgorithmsPrivate::qt_builtin_clz(v)-24U : 8U; +@@ -831,7 +833,7 @@ Q_DECL_RELAXED_CONSTEXPR inline uint qCountLeadingZeroBits(quint8 v) Q_DECL_NOTH + #endif + } + +-Q_DECL_RELAXED_CONSTEXPR inline uint qCountLeadingZeroBits(quint16 v) Q_DECL_NOTHROW ++QT_POPCOUNT_RELAXED_CONSTEXPR inline uint qCountLeadingZeroBits(quint16 v) Q_DECL_NOTHROW + { + #if defined(QT_HAS_BUILTIN_CLZS) + return v ? QAlgorithmsPrivate::qt_builtin_clzs(v) : 16U; +@@ -844,7 +846,7 @@ Q_DECL_RELAXED_CONSTEXPR inline uint qCountLeadingZeroBits(quint16 v) Q_DECL_NOT + #endif + } + +-Q_DECL_RELAXED_CONSTEXPR inline uint qCountLeadingZeroBits(quint64 v) Q_DECL_NOTHROW ++QT_POPCOUNT_RELAXED_CONSTEXPR inline uint qCountLeadingZeroBits(quint64 v) Q_DECL_NOTHROW + { + #if defined(QT_HAS_BUILTIN_CLZLL) + return v ? QAlgorithmsPrivate::qt_builtin_clzll(v) : 64U; +@@ -859,7 +861,7 @@ Q_DECL_RELAXED_CONSTEXPR inline uint qCountLeadingZeroBits(quint64 v) Q_DECL_NOT + #endif + } + +-Q_DECL_RELAXED_CONSTEXPR inline uint qCountLeadingZeroBits(unsigned long v) Q_DECL_NOTHROW ++QT_POPCOUNT_RELAXED_CONSTEXPR inline uint qCountLeadingZeroBits(unsigned long v) Q_DECL_NOTHROW + { + return qCountLeadingZeroBits(QIntegerForSizeof::Unsigned(v)); + } diff --git a/ports/qt5-base/portfile.cmake b/ports/qt5-base/portfile.cmake index 569540213..2158a2e06 100644 --- a/ports/qt5-base/portfile.cmake +++ b/ports/qt5-base/portfile.cmake @@ -45,6 +45,7 @@ vcpkg_apply_patches( "${CMAKE_CURRENT_LIST_DIR}/fix-system-pcre2.patch" "${CMAKE_CURRENT_LIST_DIR}/fix-system-freetype.patch" "${CMAKE_CURRENT_LIST_DIR}/fix-system-pcre2-linux.patch" + "${CMAKE_CURRENT_LIST_DIR}/fix-C3615.patch" ) # This fixes issues on machines with default codepages that are not ASCII compatible, such as some CJK encodings -- cgit v1.2.3