From 146421ecaf6cfa4a5f2077b57b922547d0479013 Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Tue, 25 Aug 2020 12:52:48 +0200 Subject: [PATCH] headersclean: Check for all-W3 MSVC warnings C4180, C4458 were disabled already in 2012, in commit 6668f5becfb. C4577 was disabled due to QtScript being compiled without exception support in commit 97d7d80e735. Anyhow, Qt Script is now officially gone in Qt 6, and Qt headers do work just fine with C4180. Finally, C4458 is nowadays a W4 warning, so not enabled in the first place. Task-number: QTBUG-82615 Change-Id: I2f9b8e858817876b069a166129fbfac7ef3587a0 Reviewed-by: Thiago Macieira Reviewed-by: Oliver Wolff --- cmake/QtHeadersClean.cmake | 7 +------ mkspecs/features/qt_module_headers.prf | 8 +------- 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/cmake/QtHeadersClean.cmake b/cmake/QtHeadersClean.cmake index 9719cdbaa5..e3e432a89f 100644 --- a/cmake/QtHeadersClean.cmake +++ b/cmake/QtHeadersClean.cmake @@ -99,14 +99,9 @@ function(qt_internal_add_headers_clean_target endforeach() elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") - # 4180: qualifier applied to function type has no meaning; ignored - # 4458: declaration of 'identifier' hides class member - # 4577: 'noexcept' used with no exception handling mode specified; termination on - # exception is not guaranteed. Specify /EHsc - # # -Za would enable strict standards behavior, but we can't add it because # and violate the standards. - set(hcleanFLAGS -std:c++17 -WX -W3 -wd4180 -wd4458 -wd4577) + set(hcleanFLAGS -std:c++17 -WX -W3) # cl.exe needs a source path get_filename_component(source_path "${QT_MKSPECS_DIR}/features/data/dummy.cpp" REALPATH) diff --git a/mkspecs/features/qt_module_headers.prf b/mkspecs/features/qt_module_headers.prf index 7df1820248..f7db61a8b2 100644 --- a/mkspecs/features/qt_module_headers.prf +++ b/mkspecs/features/qt_module_headers.prf @@ -273,15 +273,9 @@ headersclean:!internal_module { hcleanCOMMAND = $(CXX) -c $(CXXFLAGS) $$hcleanFLAGS $(INCPATH) $$hcleanDEFS -xc++ ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} } else: msvc:!intel_icl { - # 4180: qualifier applied to function type has no meaning; ignored - # 4458: declaration of 'identifier' hides class member # -Za enables strict standards behavior, but we can't add it because # and violate the standards. - hcleanFLAGS = -WX -W3 -wd4180 -wd4458 - - # MSVC 2015 (compiler version 19.0): - # 4577: 'noexcept' used with no exception handling mode specified; termination on exception is not guaranteed. Specify /EHsc - greaterThan(QMAKE_MSC_VER, 18): hcleanFLAGS += -wd4577 + hcleanFLAGS = -WX -W3 hcleanCOMMAND = $(CXX) -c $(CXXFLAGS) $$hcleanFLAGS $(INCPATH) $$hcleanDEFS -FI${QMAKE_FILE_IN} -Fo${QMAKE_FILE_OUT} \ $$[QT_INSTALL_DATA/src]/mkspecs/features/data/dummy.cpp