Issue a warning about unused result of qScopeGuard and QScopeGuard
If the result is unassigned then resulting QScopeGuard is destroyed immediately, we can warn about it, as it is definitely a bug. Change-Id: I627b05cecb3d0e62dbc24373e621f2be36d9b324 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
This commit is contained in:
parent
b5f76eeb53
commit
b91e6f6f40
@ -50,7 +50,12 @@ template <typename F> class QScopeGuard;
|
||||
template <typename F> QScopeGuard<F> qScopeGuard(F f);
|
||||
|
||||
template <typename F>
|
||||
class QScopeGuard
|
||||
class
|
||||
#ifndef __INTEL_COMPILER
|
||||
// error #2621: attribute "__warn_unused_result__" does not apply here
|
||||
Q_REQUIRED_RESULT
|
||||
#endif
|
||||
QScopeGuard
|
||||
{
|
||||
public:
|
||||
QScopeGuard(QScopeGuard &&other) Q_DECL_NOEXCEPT
|
||||
@ -86,6 +91,10 @@ private:
|
||||
|
||||
|
||||
template <typename F>
|
||||
#ifndef __INTEL_COMPILER
|
||||
// Causes "error #3058: GNU attributes on a template redeclaration have no effect"
|
||||
Q_REQUIRED_RESULT
|
||||
#endif
|
||||
QScopeGuard<F> qScopeGuard(F f)
|
||||
{
|
||||
return QScopeGuard<F>(std::move(f));
|
||||
|
Loading…
Reference in New Issue
Block a user