mirror of
https://github.com/dashpay/dash.git
synced 2024-12-26 20:42:59 +01:00
e4c9cb5371
848eec09363d1ba8198376eb9654b1a69e3541aa depends: fix unusable memory_resource in macos qt build (fanquake) Pull request description: See https://codereview.qt-project.org/c/qt/qtbase/+/482392. Fixes #28566. ACKs for top commit: hebasto: ACK 848eec09363d1ba8198376eb9654b1a69e3541aa. Tree-SHA512: dd902f7abb09bda3800d78fe58937b4426d974c24ba321b979eba0d6da30fa0c661b4ed629afab827df8f9ab599efc7a288e9f381ec2b3c69d1063d4d4f73f9e
50 lines
2.1 KiB
Diff
50 lines
2.1 KiB
Diff
Fix unusable memory_resource on macos
|
|
|
|
See https://bugreports.qt.io/browse/QTBUG-117484
|
|
and https://bugreports.qt.io/browse/QTBUG-114316
|
|
|
|
--- a/qtbase/src/corelib/tools/qduplicatetracker_p.h
|
|
+++ b/qtbase/src/corelib/tools/qduplicatetracker_p.h
|
|
@@ -52,7 +52,7 @@
|
|
|
|
#include <qglobal.h>
|
|
|
|
-#if QT_HAS_INCLUDE(<memory_resource>) && __cplusplus > 201402L
|
|
+#ifdef __cpp_lib_memory_resource
|
|
# include <unordered_set>
|
|
# include <memory_resource>
|
|
#else
|
|
|
|
--- a/qtbase/src/corelib/global/qcompilerdetection.h
|
|
+++ b/qtbase/src/corelib/global/qcompilerdetection.h
|
|
@@ -1041,16 +1041,22 @@
|
|
# endif // !_HAS_CONSTEXPR
|
|
# endif // !__GLIBCXX__ && !_LIBCPP_VERSION
|
|
# endif // Q_OS_QNX
|
|
-# if (defined(Q_CC_CLANG) || defined(Q_CC_INTEL)) && defined(Q_OS_MAC) && defined(__GNUC_LIBSTD__) \
|
|
- && ((__GNUC_LIBSTD__-0) * 100 + __GNUC_LIBSTD_MINOR__-0 <= 402)
|
|
+# if (defined(Q_CC_CLANG) || defined(Q_CC_INTEL)) && defined(Q_OS_MAC)
|
|
+# if defined(__GNUC_LIBSTD__) && ((__GNUC_LIBSTD__-0) * 100 + __GNUC_LIBSTD_MINOR__-0 <= 402)
|
|
// Apple has not updated libstdc++ since 2007, which means it does not have
|
|
// <initializer_list> or std::move. Let's disable these features
|
|
-# undef Q_COMPILER_INITIALIZER_LISTS
|
|
-# undef Q_COMPILER_RVALUE_REFS
|
|
-# undef Q_COMPILER_REF_QUALIFIERS
|
|
+# undef Q_COMPILER_INITIALIZER_LISTS
|
|
+# undef Q_COMPILER_RVALUE_REFS
|
|
+# undef Q_COMPILER_REF_QUALIFIERS
|
|
// Also disable <atomic>, since it's clearly not there
|
|
-# undef Q_COMPILER_ATOMICS
|
|
-# endif
|
|
+# undef Q_COMPILER_ATOMICS
|
|
+# endif
|
|
+# if defined(__cpp_lib_memory_resource) \
|
|
+ && ((defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED < 140000) \
|
|
+ || (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED < 170000))
|
|
+# undef __cpp_lib_memory_resource // Only supported on macOS 14 and iOS 17
|
|
+# endif
|
|
+# endif // (defined(Q_CC_CLANG) || defined(Q_CC_INTEL)) && defined(Q_OS_MAC)
|
|
# if defined(Q_CC_CLANG) && defined(Q_CC_INTEL) && Q_CC_INTEL >= 1500
|
|
// ICC 15.x and 16.0 have their own implementation of std::atomic, which is activated when in Clang mode
|
|
// (probably because libc++'s <atomic> on OS X failed to compile), but they're missing some
|