diff options
author | Sona Kurazyan <sona.kurazyan@qt.io> | 2022-08-11 16:09:08 +0200 |
---|---|---|
committer | Sona Kurazyan <sona.kurazyan@qt.io> | 2022-08-13 00:20:40 +0000 |
commit | 217a5f07451f4439d569af7161b31e4fda04e3b2 (patch) | |
tree | ac5641e16837920a346354a678396ada6940271b | |
parent | 180e55a5867a60b3702d8cd76673f4f13668863f (diff) |
Move the checks for disabling useless warnings to qcompilerdetection.h
Task-number: QTBUG-99313
Change-Id: I7b4a62e7a8f8a07a9386a6f1f41a33c3fc802daf
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
-rw-r--r-- | src/corelib/global/qcompilerdetection.h | 31 | ||||
-rw-r--r-- | src/corelib/global/qglobal.h | 31 |
2 files changed, 31 insertions, 31 deletions
diff --git a/src/corelib/global/qcompilerdetection.h b/src/corelib/global/qcompilerdetection.h index 3d5d1b1432..cab2b01a76 100644 --- a/src/corelib/global/qcompilerdetection.h +++ b/src/corelib/global/qcompilerdetection.h @@ -1282,6 +1282,37 @@ static_assert(!std::is_convertible_v<std::nullptr_t, bool>, # define Q_INLINE_TEMPLATE inline #endif +/* + Avoid some particularly useless warnings from some stupid compilers. + To get ALL C++ compiler warnings, define QT_CC_WARNINGS or comment out + the line "#define QT_NO_WARNINGS". See also QTBUG-26877. +*/ +#if !defined(QT_CC_WARNINGS) +# define QT_NO_WARNINGS +#endif +#if defined(QT_NO_WARNINGS) +# if defined(Q_CC_MSVC) +QT_WARNING_DISABLE_MSVC(4251) /* class 'type' needs to have dll-interface to be used by clients of class 'type2' */ +QT_WARNING_DISABLE_MSVC(4244) /* conversion from 'type1' to 'type2', possible loss of data */ +QT_WARNING_DISABLE_MSVC(4275) /* non - DLL-interface classkey 'identifier' used as base for DLL-interface classkey 'identifier' */ +QT_WARNING_DISABLE_MSVC(4514) /* unreferenced inline function has been removed */ +QT_WARNING_DISABLE_MSVC(4800) /* 'type' : forcing value to bool 'true' or 'false' (performance warning) */ +QT_WARNING_DISABLE_MSVC(4097) /* typedef-name 'identifier1' used as synonym for class-name 'identifier2' */ +QT_WARNING_DISABLE_MSVC(4706) /* assignment within conditional expression */ +QT_WARNING_DISABLE_MSVC(4355) /* 'this' : used in base member initializer list */ +QT_WARNING_DISABLE_MSVC(4710) /* function not inlined */ +QT_WARNING_DISABLE_MSVC(4530) /* C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc */ +# elif defined(Q_CC_BOR) +# pragma option -w-inl +# pragma option -w-aus +# pragma warn -inl +# pragma warn -pia +# pragma warn -ccc +# pragma warn -rch +# pragma warn -sig +# endif +#endif + #endif // __cplusplus #endif // QCOMPILERDETECTION_H diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h index 9ab12960ba..12d91e44ac 100644 --- a/src/corelib/global/qglobal.h +++ b/src/corelib/global/qglobal.h @@ -393,37 +393,6 @@ Q_CORE_EXPORT void *qReallocAligned(void *ptr, size_t size, size_t oldsize, size Q_CORE_EXPORT void qFreeAligned(void *ptr); -/* - Avoid some particularly useless warnings from some stupid compilers. - To get ALL C++ compiler warnings, define QT_CC_WARNINGS or comment out - the line "#define QT_NO_WARNINGS". -*/ -#if !defined(QT_CC_WARNINGS) -# define QT_NO_WARNINGS -#endif -#if defined(QT_NO_WARNINGS) -# if defined(Q_CC_MSVC) -QT_WARNING_DISABLE_MSVC(4251) /* class 'type' needs to have dll-interface to be used by clients of class 'type2' */ -QT_WARNING_DISABLE_MSVC(4244) /* conversion from 'type1' to 'type2', possible loss of data */ -QT_WARNING_DISABLE_MSVC(4275) /* non - DLL-interface classkey 'identifier' used as base for DLL-interface classkey 'identifier' */ -QT_WARNING_DISABLE_MSVC(4514) /* unreferenced inline function has been removed */ -QT_WARNING_DISABLE_MSVC(4800) /* 'type' : forcing value to bool 'true' or 'false' (performance warning) */ -QT_WARNING_DISABLE_MSVC(4097) /* typedef-name 'identifier1' used as synonym for class-name 'identifier2' */ -QT_WARNING_DISABLE_MSVC(4706) /* assignment within conditional expression */ -QT_WARNING_DISABLE_MSVC(4355) /* 'this' : used in base member initializer list */ -QT_WARNING_DISABLE_MSVC(4710) /* function not inlined */ -QT_WARNING_DISABLE_MSVC(4530) /* C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc */ -# elif defined(Q_CC_BOR) -# pragma option -w-inl -# pragma option -w-aus -# pragma warn -inl -# pragma warn -pia -# pragma warn -ccc -# pragma warn -rch -# pragma warn -sig -# endif -#endif - // this adds const to non-const objects (like std::as_const) template <typename T> constexpr typename std::add_const<T>::type &qAsConst(T &t) noexcept { return t; } |