Go to file
Marc Mutz 277c23956c tst_qobjectrace: fix potential UB (something with pointers and new)
The current [basic.life] wording seems to cover the existing code, but
IIRC, older versions of [basic.life] were not so relaxed. In
particular, while not completely pertinent, the second placement new
is awfully similar to http://eel.is/c++draft/ptr.launder#example-1

Just make all of this SEP and use std::optional. That way, the code
gets simpler, too, plus we get rid of the last use of C++23-deprecated
std::aligned_storage.

The reset() before the 2nd emplace() isn't necessary, but, in a test,
it doesn't hurt, either, and keeps code readers from guessing whether
the first-emplaced object's dtor is actually properly run (it is).

Pick-to: 6.3 6.2
Fixes: QTBUG-99122
Change-Id: If31a46f8be3a74499f1176133029d097faf7dfe9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2022-05-07 18:47:48 +00:00
.github/workflows Repair github action workflow 2021-11-10 18:57:33 +01:00
bin Provide a qtpaths wrapper script when cross-building Qt 2021-11-08 13:41:03 +01:00
cmake CMake: Make possible building Qt tools without the use of core library 2022-05-06 22:06:22 +02:00
coin CI: add Windows host support for QNX 2022-04-05 17:03:40 +03:00
config.tests CMake: Make sure the strip_for_binary project works with Makefiles 2022-04-04 15:41:20 +02:00
dist Add Qt 6.0.0 changes file 2020-11-16 10:02:08 +02:00
doc Fix alignment of next/prev links in offline style 2022-05-06 00:55:34 +00:00
examples examples: add WindowStaysOnBottomHint into preview text 2022-05-01 21:29:00 +02:00
lib Purge all fonts 2015-08-18 19:59:14 +00:00
libexec CMake: Pass -v to ninja when using ctest --build-and-test 2022-04-04 15:41:20 +02:00
mkspecs wasm: add specialHTMLTargets to EXPORTED_RUNTIME_METHODS for qmake 2022-04-21 13:00:57 +10:00
qmake qmake: Use qVersion for version reporting instead of QT_VERSION_STR 2022-05-06 12:51:12 +02:00
src QRandomGenerator: port away from std::aligned_storage 2022-05-07 20:47:44 +02:00
tests tst_qobjectrace: fix potential UB (something with pointers and new) 2022-05-07 18:47:48 +00:00
util util/x86simdgen: update with the copyright header 2022-05-06 10:27:18 -07:00
.cmake.conf cmake: only use qtbase configuration in qtbase 2022-03-18 12:33:10 +01:00
.gitattributes Give batch files CRLF line endings 2020-11-04 15:02:29 +00:00
.gitignore Assume qhelpgenerator in libexec instead of bin 2021-11-08 19:27:32 +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 Use REALPATH based check for symbolic links on Windows 2022-01-07 14:31:38 +01:00
conanfile.py Conan: Use 'android_sdk_version' and 'android_ndk_version' for package_id 2022-05-06 07:52:47 +00:00
config_help.txt Build system: Allow user to enable Intel CET 2022-04-06 13:06:24 +08:00
configure Remove unsupported, host-related options from configure shell script 2021-08-05 02:44:27 +02:00
configure.bat configure.bat: Fix call without arguments 2022-02-16 12:05:48 +01:00
configure.cmake zlib as static library 2022-04-22 14:34:47 +02:00
dependencies.yaml Re-add dependencies.yaml now that qt5.git wip/qt6 builds fine 2019-09-18 13:19:31 +02:00
LICENSE.FDL Remove trailing whitespace in LICENSE.FDL 2021-11-26 18:28:49 +01:00
LICENSE.GPL2 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.GPL3 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.GPL3-EXCEPT Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.LGPL3 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.QT-LICENSE-AGREEMENT Update LA 4.4.1 2022-03-25 20:07:30 +00:00
qt_cmdline.cmake Build system: Allow user to enable Intel CET 2022-04-06 13:06:24 +08:00
sync.profile QVariant: reduce transitive includes 2022-03-17 16:14:38 +00:00