diff --git a/src/corelib/tools/qscopeguard.h b/src/corelib/tools/qscopeguard.h index 31100fcabb..0f61996eb6 100644 --- a/src/corelib/tools/qscopeguard.h +++ b/src/corelib/tools/qscopeguard.h @@ -50,7 +50,12 @@ template class QScopeGuard; template QScopeGuard qScopeGuard(F f); template -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 +#ifndef __INTEL_COMPILER +// Causes "error #3058: GNU attributes on a template redeclaration have no effect" +Q_REQUIRED_RESULT +#endif QScopeGuard qScopeGuard(F f) { return QScopeGuard(std::move(f));