Promises/A+ implementation for Qt/C++
Go to file
Egor Krugletsov 1a905cbd4f
Use std::shared_ptr for PromiseValue<T>::m_data instead of QSharedPoitner<T> (#60)
In optimized builds (such as -O2) GCC emits "maybe-uninitialized" warning for QSharedPointer<T>::d. This happens only for optimized builds because that is when GCC tracks lifetimes[1]. In a project with lots of QtPromise uses this produces a heap of bogus warnings. This warning has been previously reported to a Qt team, but they're confident it is a compiler bug[2][3]. However, this is a second time and issue raised with QSharedPointer and warnings to it. The first time it was addressed here: https://github.com/simonbrunel/qtpromise/pull/34.

[1] https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wmaybe-uninitialized
[2] https://bugreports.qt.io/browse/QTBUG-14637
[3] https://bugreports.qt.io/browse/QTBUG-77641
2024-08-24 09:01:08 +02:00
.github/workflows Use GitHub actions instead of Travis 2024-08-20 20:59:47 +02:00
cmake Add support for Qt 6 2022-06-26 18:10:20 +02:00
docs Bump version to 0.7.0 2023-03-05 15:13:39 +01:00
include Simplify license notice in source files 2020-02-06 22:33:19 +01:00
src/qtpromise Use std::shared_ptr for PromiseValue<T>::m_data instead of QSharedPoitner<T> (#60) 2024-08-24 09:01:08 +02:00
tests Add support for Qt 6 2022-06-26 18:10:20 +02:00
.appveyor.yml Configure AppVeyor to run Qt 6.x tests 2022-06-30 23:17:02 +02:00
.clang-format Use clang-format for code style consistency 2020-03-22 17:50:16 +01:00
.gitignore Migrate to CMake to build the entire project 2020-01-12 21:04:43 +01:00
.remarkrc.yml Add CMake support and enhance the getting started docs 2020-01-09 20:45:04 +01:00
CMakeLists.txt Bump version to 0.7.0 2023-03-05 15:13:39 +01:00
LICENSE Bump version to 0.7.0 2023-03-05 15:13:39 +01:00
package-lock.json Upgrade npm dependencies 2023-03-05 15:13:18 +01:00
package.json Upgrade npm dependencies 2023-03-05 15:13:18 +01:00
qpm.json Bump version to 0.7.0 2023-03-05 15:13:39 +01:00
qtpromise.pri Setup Travis CI builds and code coverage 2017-05-26 14:39:11 +02:00
README.md Add support for Qt 6 2022-06-26 18:10:20 +02:00

Install Builds Coverage Marketplace

Overview

Promises/A+ implementation for Qt/C++.

Requires Qt 5.6 (or later) with C++11 support enabled or Qt 6.

Documentation

License

QtPromise is available under the MIT license.