Qt 6.8.3 with BlackBerry 10 (QNX 8 / ARMv7) patches
 
 
 
 
 
 
Go to file
Marc Mutz 7f3539202f Short live q20::exchange()!
We have weaned ourselves off of qExchange(), which, however, has C++23
semantics (is constexpr and noexcept), while we only require C++17 atm.
At the same time, we have more and more uses of a constexpr exchange(),
iow: the C++20 extension.

We have the qNN namespaces for this, so let's use it: Add
q20::exchange(), with C++20 semantics (constexpr, not noexcept), and
use it to port the only remaining qExchange() user (since ported to
2×std::move() to make the header compatible with QT_NO_QEXCHANGE),
QScopedValueRollback.

No user requires the C++23 noexcept on the function (compilers will
figure it out, because the std::exchange is fully inline), and we
can't provide a q23::exchange() even if we needed to, because the
author of P2401 forgot to ask to update the value of
__cpp_lib_exchange_function...

Conflict resolution for 6.8:
- worked around missing a313caca239638b384018aec18906de44aab2171,
  by back-porting the relevant subset of it

Fixes: QTBUG-133038
Change-Id: I003df445001d1c5ab02402119c5e5106aa156263
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
(cherry picked from commit b5ed7fb203335cef7b7b4f70f4130b07166cecf2)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit cebb2dd0681f7e4f8a838730a2b15e0c7384c711)
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
2025-01-23 05:26:27 +00:00
.github/workflows Repair github action workflow 2021-11-10 18:57:33 +01:00
LICENSES Add REUSE.toml files 2024-11-07 08:38:49 +01:00
bin CMake: Don't hard-code "libexec" in qt-configure-module 2024-08-20 13:50:32 +02:00
cmake Remove quotation marks from objcopy call parameter for QNX 2025-01-22 23:04:13 +00:00
coin coin: Build qdoc as part of repo instructions for CI doc building 2024-11-02 14:49:15 +01:00
config.tests QThread/Unix: refactor to split QThreadPrivate::finish() in two phases 2024-11-07 15:00:11 -07:00
dist Add REUSE.toml files 2024-11-07 08:38:49 +01:00
doc Doc: Modify \tabcontent..\endtabcontent macros 2025-01-15 16:24:47 +00:00
examples Standard dialogs example: Fix compilation with QT_NO_CAST_FROM_ASCII 2025-01-21 16:57:48 +00:00
lib Purge all fonts 2015-08-18 19:59:14 +00:00
libexec Android: add option to run app detached to runner script 2024-12-04 14:44:52 +00:00
mkspecs Remove unsupported linker script objc_namespace.sh 2025-01-21 10:44:47 +00:00
qmake QFactoryLoader: fix the ability to load symlinks to plugins 2024-10-17 17:01:41 -07:00
src Short live q20::exchange()! 2025-01-23 05:26:27 +00:00
tests Make iconbrowser manual test directly openable in Creator 2025-01-22 23:04:14 +00:00
util Update CLDR to v46 2025-01-14 11:15:42 +01:00
.cmake.conf CMake: Decouple applied cmake policies from CMake version set 2024-11-14 18:59:00 +00:00
.gitattributes Give batch files CRLF line endings 2020-11-04 15:02:29 +00:00
.gitignore Git ignore Visual Studio CMake build directories 2023-11-24 23:42:05 +01:00
.lgtm.yml Skip LGTM analysis for the bootstrap library and tools 2020-07-16 01:04:34 +02:00
.tag Update the git-archive export options 2012-09-07 15:39:31 +02:00
CMakeLists.txt cmake: add _extra_files IDE target from heuristics 2024-04-12 08:36:01 +08:00
REUSE.toml macOS: Enable crash reporting for tests via Swift 2025-01-13 08:36:30 +00:00
config_help.txt CMake: Change SBOM generation to be enabled by default (mostly) 2024-10-21 08:37:20 +00:00
configure Change configure license 2024-02-02 15:23:02 +00:00
configure.bat configure.bat: Fix errors on Windows 2024-03-05 11:56:24 +01:00
configure.cmake CMake: Report success for 'separate_debug_info' where applicable 2024-11-02 16:25:06 +00:00
dependencies.yaml Re-add dependencies.yaml now that qt5.git wip/qt6 builds fine 2019-09-18 13:19:31 +02:00
licenseRule.json CMake: Split SBOM implementation into separate files 2025-01-13 14:35:08 +01:00
qt_cmdline.cmake configure: accept -c++std c++17 again 2024-06-13 20:40:06 +00:00