From 69e0ff74e6bbe5e1b15324f95da5ce9b612e5550 Mon Sep 17 00:00:00 2001 From: Roman Telezhynskyi Date: Sat, 6 Aug 2016 15:59:30 +0300 Subject: [PATCH] MSVC warnings. --HG-- branch : develop --- common.pri | 10 +++++++++- src/app/tape/warnings.pri | 2 +- src/app/valentina/warnings.pri | 2 +- src/libs/fervor/warnings.pri | 2 +- src/libs/ifc/warnings.pri | 2 +- src/libs/qmuparser/qmuparserbase.cpp | 12 +++++------- src/libs/qmuparser/qmuparserbytecode.cpp | 11 ++++------- src/libs/qmuparser/warnings.pri | 2 +- src/libs/vdxf/warnings.pri | 2 +- src/libs/vformat/warnings.pri | 2 +- src/libs/vgeometry/warnings.pri | 2 +- src/libs/vlayout/warnings.pri | 2 +- src/libs/vmisc/warnings.pri | 2 +- src/libs/vobj/predicates.cpp | 22 +++++++--------------- src/libs/vobj/warnings.pri | 2 +- src/libs/vpatterndb/warnings.pri | 2 +- src/libs/vpropertyexplorer/warnings.pri | 2 +- src/libs/vtools/warnings.pri | 2 +- src/libs/vwidgets/warnings.pri | 2 +- src/test/ParserTest/warnings.pri | 2 +- src/test/ValentinaTest/warnings.pri | 2 +- 21 files changed, 42 insertions(+), 47 deletions(-) diff --git a/common.pri b/common.pri index e37739adb..344bc24c0 100644 --- a/common.pri +++ b/common.pri @@ -692,6 +692,7 @@ MSVC_DEBUG_CXXFLAGS += \ -wd4511 \ # copy constructor could not be generated -wd4512 \ # assignment operator could not be generated -wd4513 \ # destructor could not be generated + -wd4514 \ # 'function' : unreferenced inline function has been removed -wd4610 \ # can never be instantiated user defined constructor required -wd4623 \ # default constructor could not be generated -wd4624 \ # destructor could not be generated @@ -708,8 +709,15 @@ MSVC_DEBUG_CXXFLAGS += \ -wd4711 \ # call was inlined -wd4820 \ # some padding was added -wd4917 \ # a GUID can only be associated with a class, interface or namespace + -wd4351 \ # elements of array 'array' will be default initialized # The following are real warnings but are generated by almost all MS headers, including # standard library headers, so it's impractical to leave them on. -wd4619 \ # there is no warning number 'XXXX' - -wd4668 # XXX is not defined as a preprocessor macro + -wd4668 \ # XXX is not defined as a preprocessor macro + # Because Microsoft doesn't provide a way to suppress warnings in headers we will suppress + # all warnings we meet in headers globally + -wd4548 \ + -wd4350 \ + -wd4242 \ + -wd4265 } diff --git a/src/app/tape/warnings.pri b/src/app/tape/warnings.pri index 87af1d22b..549cf5183 100644 --- a/src/app/tape/warnings.pri +++ b/src/app/tape/warnings.pri @@ -66,7 +66,7 @@ unix { QMAKE_CXXFLAGS += $$MSVC_DEBUG_CXXFLAGS # See common.pri for more details. checkWarnings{ # For enable run qmake with CONFIG+=checkWarnings - #QMAKE_CXXFLAGS += -WX + QMAKE_CXXFLAGS += -WX } } } diff --git a/src/app/valentina/warnings.pri b/src/app/valentina/warnings.pri index 551b4d7dd..ad525c0bf 100644 --- a/src/app/valentina/warnings.pri +++ b/src/app/valentina/warnings.pri @@ -69,7 +69,7 @@ unix { QMAKE_CXXFLAGS += $$MSVC_DEBUG_CXXFLAGS # See common.pri for more details. checkWarnings{ # For enable run qmake with CONFIG+=checkWarnings - #QMAKE_CXXFLAGS += -WX + QMAKE_CXXFLAGS += -WX } } } diff --git a/src/libs/fervor/warnings.pri b/src/libs/fervor/warnings.pri index 7d96fb90c..28b9b9e84 100644 --- a/src/libs/fervor/warnings.pri +++ b/src/libs/fervor/warnings.pri @@ -57,7 +57,7 @@ unix { QMAKE_CXXFLAGS += $$MSVC_DEBUG_CXXFLAGS # See common.pri for more details. checkWarnings{ # For enable run qmake with CONFIG+=checkWarnings - #QMAKE_CXXFLAGS += -WX + QMAKE_CXXFLAGS += -WX } } } diff --git a/src/libs/ifc/warnings.pri b/src/libs/ifc/warnings.pri index 7bd4cb533..10aa7e21b 100644 --- a/src/libs/ifc/warnings.pri +++ b/src/libs/ifc/warnings.pri @@ -63,7 +63,7 @@ unix { QMAKE_CXXFLAGS += $$MSVC_DEBUG_CXXFLAGS # See common.pri for more details. checkWarnings{ # For enable run qmake with CONFIG+=checkWarnings - #QMAKE_CXXFLAGS += -WX + QMAKE_CXXFLAGS += -WX } } } diff --git a/src/libs/qmuparser/qmuparserbase.cpp b/src/libs/qmuparser/qmuparserbase.cpp index 414517533..e3b356a4b 100644 --- a/src/libs/qmuparser/qmuparserbase.cpp +++ b/src/libs/qmuparser/qmuparserbase.cpp @@ -1097,10 +1097,10 @@ qreal QmuParserBase::ParseCmdCodeBulk(int nOffset, int nThreadID) const case cmFUNC: { int iArgCount = pTok->Fun.argc; -#ifdef Q_CC_CLANG - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wundefined-reinterpret-cast" -#endif + +QT_WARNING_PUSH +QT_WARNING_DISABLE_CLANG("-Wundefined-reinterpret-cast") +QT_WARNING_DISABLE_MSVC(4191) // switch according to argument count switch (iArgCount) @@ -1293,9 +1293,7 @@ qreal QmuParserBase::ParseCmdCodeBulk(int nOffset, int nThreadID) const return 0; } // switch CmdCode -#ifdef Q_CC_CLANG - #pragma clang diagnostic pop -#endif +QT_WARNING_POP } // for all bytecode tokens diff --git a/src/libs/qmuparser/qmuparserbytecode.cpp b/src/libs/qmuparser/qmuparserbytecode.cpp index 32604017c..a1ab7f6aa 100644 --- a/src/libs/qmuparser/qmuparserbytecode.cpp +++ b/src/libs/qmuparser/qmuparserbytecode.cpp @@ -204,10 +204,9 @@ void QmuParserByteCode::ConstantFolding(ECmdCode a_Oprt) } // switch opcode } -#if defined (Q_CC_INTEL) -#pragma warning( push ) -#pragma warning( disable: 1195 ) -#endif +QT_WARNING_PUSH +QT_WARNING_DISABLE_INTEL(1195) +QT_WARNING_DISABLE_MSVC(4826) //--------------------------------------------------------------------------------------------------------------------- /** @@ -369,9 +368,7 @@ void QmuParserByteCode::AddOp(ECmdCode a_Oprt) } } -#if defined(Q_CC_INTEL) -#pragma warning( pop ) -#endif +QT_WARNING_POP //--------------------------------------------------------------------------------------------------------------------- void QmuParserByteCode::AddIfElse(ECmdCode a_Oprt) diff --git a/src/libs/qmuparser/warnings.pri b/src/libs/qmuparser/warnings.pri index ff2a24472..8b688cc33 100644 --- a/src/libs/qmuparser/warnings.pri +++ b/src/libs/qmuparser/warnings.pri @@ -54,7 +54,7 @@ unix { QMAKE_CXXFLAGS += $$MSVC_DEBUG_CXXFLAGS # See common.pri for more details. checkWarnings{ # For enable run qmake with CONFIG+=checkWarnings - #QMAKE_CXXFLAGS += -WX + QMAKE_CXXFLAGS += -WX } } } diff --git a/src/libs/vdxf/warnings.pri b/src/libs/vdxf/warnings.pri index ff2a24472..8b688cc33 100644 --- a/src/libs/vdxf/warnings.pri +++ b/src/libs/vdxf/warnings.pri @@ -54,7 +54,7 @@ unix { QMAKE_CXXFLAGS += $$MSVC_DEBUG_CXXFLAGS # See common.pri for more details. checkWarnings{ # For enable run qmake with CONFIG+=checkWarnings - #QMAKE_CXXFLAGS += -WX + QMAKE_CXXFLAGS += -WX } } } diff --git a/src/libs/vformat/warnings.pri b/src/libs/vformat/warnings.pri index ff2a24472..8b688cc33 100644 --- a/src/libs/vformat/warnings.pri +++ b/src/libs/vformat/warnings.pri @@ -54,7 +54,7 @@ unix { QMAKE_CXXFLAGS += $$MSVC_DEBUG_CXXFLAGS # See common.pri for more details. checkWarnings{ # For enable run qmake with CONFIG+=checkWarnings - #QMAKE_CXXFLAGS += -WX + QMAKE_CXXFLAGS += -WX } } } diff --git a/src/libs/vgeometry/warnings.pri b/src/libs/vgeometry/warnings.pri index ff2a24472..8b688cc33 100644 --- a/src/libs/vgeometry/warnings.pri +++ b/src/libs/vgeometry/warnings.pri @@ -54,7 +54,7 @@ unix { QMAKE_CXXFLAGS += $$MSVC_DEBUG_CXXFLAGS # See common.pri for more details. checkWarnings{ # For enable run qmake with CONFIG+=checkWarnings - #QMAKE_CXXFLAGS += -WX + QMAKE_CXXFLAGS += -WX } } } diff --git a/src/libs/vlayout/warnings.pri b/src/libs/vlayout/warnings.pri index becf41bff..61e9cf089 100644 --- a/src/libs/vlayout/warnings.pri +++ b/src/libs/vlayout/warnings.pri @@ -68,7 +68,7 @@ unix { QMAKE_CXXFLAGS += $$MSVC_DEBUG_CXXFLAGS # See common.pri for more details. checkWarnings{ # For enable run qmake with CONFIG+=checkWarnings - #QMAKE_CXXFLAGS += -WX + QMAKE_CXXFLAGS += -WX } } } diff --git a/src/libs/vmisc/warnings.pri b/src/libs/vmisc/warnings.pri index 369388a1f..43804e5cb 100644 --- a/src/libs/vmisc/warnings.pri +++ b/src/libs/vmisc/warnings.pri @@ -59,7 +59,7 @@ unix { QMAKE_CXXFLAGS += $$MSVC_DEBUG_CXXFLAGS # See common.pri for more details. checkWarnings{ # For enable run qmake with CONFIG+=checkWarnings - #QMAKE_CXXFLAGS += -WX + QMAKE_CXXFLAGS += -WX } } } diff --git a/src/libs/vobj/predicates.cpp b/src/libs/vobj/predicates.cpp index b46aa05a3..487f1d025 100644 --- a/src/libs/vobj/predicates.cpp +++ b/src/libs/vobj/predicates.cpp @@ -110,11 +110,11 @@ #include #include -#ifdef Q_CC_GNU - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wold-style-cast" - #pragma GCC diagnostic ignored "-Wfloat-equal" -#endif +QT_WARNING_PUSH +QT_WARNING_DISABLE_MSVC(4701) +QT_WARNING_DISABLE_GCC("-Wold-style-cast") +QT_WARNING_DISABLE_GCC("-Wfloat-equal") +QT_WARNING_DISABLE_GCC("-Wmaybe-uninitialized") /* On some machines, the exact arithmetic routines might be defeated by the */ /* use of internal extended precision floating-point registers. Sometimes */ @@ -498,10 +498,6 @@ qreal estimate(int elen, qreal *e) return Q; } -#if defined(Q_CC_GNU) - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wmaybe-uninitialized" -#endif qreal incircleadapt(qreal *pa, qreal *pb, qreal *pc, qreal *pd, qreal permanent) { INEXACT qreal adx, bdx, cdx, ady, bdy, cdy; @@ -1035,9 +1031,7 @@ qreal incircleadapt(qreal *pa, qreal *pb, qreal *pc, qreal *pd, qreal permanent) return finnow[finlength - 1]; } -#if defined(Q_CC_GNU) - #pragma GCC diagnostic pop -#endif + qreal incircle(qreal *pa, qreal *pb, qreal *pc, qreal *pd) { @@ -1082,6 +1076,4 @@ qreal incircle(qreal *pa, qreal *pb, qreal *pc, qreal *pd) return incircleadapt(pa, pb, pc, pd, permanent); } -#ifdef Q_CC_GNU - #pragma GCC diagnostic pop -#endif +QT_WARNING_POP diff --git a/src/libs/vobj/warnings.pri b/src/libs/vobj/warnings.pri index ff2a24472..8b688cc33 100644 --- a/src/libs/vobj/warnings.pri +++ b/src/libs/vobj/warnings.pri @@ -54,7 +54,7 @@ unix { QMAKE_CXXFLAGS += $$MSVC_DEBUG_CXXFLAGS # See common.pri for more details. checkWarnings{ # For enable run qmake with CONFIG+=checkWarnings - #QMAKE_CXXFLAGS += -WX + QMAKE_CXXFLAGS += -WX } } } diff --git a/src/libs/vpatterndb/warnings.pri b/src/libs/vpatterndb/warnings.pri index ff2a24472..8b688cc33 100644 --- a/src/libs/vpatterndb/warnings.pri +++ b/src/libs/vpatterndb/warnings.pri @@ -54,7 +54,7 @@ unix { QMAKE_CXXFLAGS += $$MSVC_DEBUG_CXXFLAGS # See common.pri for more details. checkWarnings{ # For enable run qmake with CONFIG+=checkWarnings - #QMAKE_CXXFLAGS += -WX + QMAKE_CXXFLAGS += -WX } } } diff --git a/src/libs/vpropertyexplorer/warnings.pri b/src/libs/vpropertyexplorer/warnings.pri index da106d629..6dd49aeff 100644 --- a/src/libs/vpropertyexplorer/warnings.pri +++ b/src/libs/vpropertyexplorer/warnings.pri @@ -64,7 +64,7 @@ unix { QMAKE_CXXFLAGS += $$MSVC_DEBUG_CXXFLAGS # See common.pri for more details. checkWarnings{ # For enable run qmake with CONFIG+=checkWarnings - #QMAKE_CXXFLAGS += -WX + QMAKE_CXXFLAGS += -WX } } } diff --git a/src/libs/vtools/warnings.pri b/src/libs/vtools/warnings.pri index 6002b6d88..d360b9cf1 100644 --- a/src/libs/vtools/warnings.pri +++ b/src/libs/vtools/warnings.pri @@ -62,7 +62,7 @@ unix { QMAKE_CXXFLAGS += $$MSVC_DEBUG_CXXFLAGS # See common.pri for more details. checkWarnings{ # For enable run qmake with CONFIG+=checkWarnings - #QMAKE_CXXFLAGS += -WX + QMAKE_CXXFLAGS += -WX } } } diff --git a/src/libs/vwidgets/warnings.pri b/src/libs/vwidgets/warnings.pri index cf660342f..e59da23b5 100644 --- a/src/libs/vwidgets/warnings.pri +++ b/src/libs/vwidgets/warnings.pri @@ -59,7 +59,7 @@ unix { QMAKE_CXXFLAGS += $$MSVC_DEBUG_CXXFLAGS # See common.pri for more details. checkWarnings{ # For enable run qmake with CONFIG+=checkWarnings - #QMAKE_CXXFLAGS += -WX + QMAKE_CXXFLAGS += -WX } } } diff --git a/src/test/ParserTest/warnings.pri b/src/test/ParserTest/warnings.pri index 171189489..b413ad86c 100644 --- a/src/test/ParserTest/warnings.pri +++ b/src/test/ParserTest/warnings.pri @@ -54,7 +54,7 @@ unix { QMAKE_CXXFLAGS += $$MSVC_DEBUG_CXXFLAGS # See common.pri for more details. checkWarnings{ # For enable run qmake with CONFIG+=checkWarnings - #QMAKE_CXXFLAGS += -WX + QMAKE_CXXFLAGS += -WX } } } diff --git a/src/test/ValentinaTest/warnings.pri b/src/test/ValentinaTest/warnings.pri index c6d8b3c0d..28c3e2d23 100644 --- a/src/test/ValentinaTest/warnings.pri +++ b/src/test/ValentinaTest/warnings.pri @@ -61,7 +61,7 @@ unix { QMAKE_CXXFLAGS += $$MSVC_DEBUG_CXXFLAGS # See common.pri for more details. checkWarnings{ # For enable run qmake with CONFIG+=checkWarnings - #QMAKE_CXXFLAGS += -WX + QMAKE_CXXFLAGS += -WX } } }