From 5dc583068a000a35c5e71f424ebf43b4ff371186 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Fri, 20 Sep 2013 11:11:55 +0200 Subject: [PATCH] Mute MSVC safety warnings Botan: C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xutility:2227: warning: C4996: 'std::_Copy_impl': Function call with parameters that may be unsafe - this call relies on the caller to check that the passed values are correct. To disable this warning, use -D_SCL_SECURE_NO_WARNINGS. See documentation on how to use Visual C++ 'Checked Iterators' c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\xutility:2212: see declaration of 'std::_Copy_impl' D:\dev\qt-creator\src\libs\3rdparty\botan\botan.cpp:7248: see reference to function template instantiation '_OutIt std::copy(_InIt,_InIt,_OutIt)' being compiled with [ _OutIt=Botan::word *, T=Botan::word, _InIt=const Botan::u32bit * ] CppTools: C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xutility:2873: warning: C4996: 'std::_Mismatch1': Function call with parameters that may be unsafe - this call relies on the caller to check that the passed values are correct. To disable this warning, use -D_SCL_SECURE_NO_WARNINGS. See documentation on how to use Visual C++ 'Checked Iterators' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\xutility:2856: see declaration of 'std::_Mismatch1' D:\dev\qt-creator\src\plugins\cpptools\symbolfinder.cpp:388: see reference to function template instantiation 'std::pair<_Ty1,_Ty2> std::mismatch(_InIt1,_InIt1,_InIt2)' being compiled with [ _Ty1=QString::const_iterator, _Ty2=QString::const_iterator, _InIt1=QString::const_iterator, _InIt2=QString::const_iterator ] Change-Id: I09a477e755c4555101b064271f10c08a69576e33 Reviewed-by: Christian Kandeler Reviewed-by: David Schulz Reviewed-by: Nikolai Kosjar --- src/libs/3rdparty/botan/botan.pri | 2 +- src/libs/ssh/ssh.qbs | 4 +++- src/plugins/cpptools/cpptools.pro | 1 + src/plugins/cpptools/cpptools.qbs | 6 ++++++ 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/libs/3rdparty/botan/botan.pri b/src/libs/3rdparty/botan/botan.pri index 3c656766290..3ff57ded1ba 100644 --- a/src/libs/3rdparty/botan/botan.pri +++ b/src/libs/3rdparty/botan/botan.pri @@ -36,7 +36,7 @@ win32 { win32-msvc* { QMAKE_CXXFLAGS += -wd4251 -wd4290 -wd4250 - DEFINES += BOTAN_BUILD_COMPILER_IS_MSVC BOTAN_TARGET_OS_HAS_GMTIME_S + DEFINES += BOTAN_BUILD_COMPILER_IS_MSVC BOTAN_TARGET_OS_HAS_GMTIME_S _SCL_SECURE_NO_WARNINGS } else { QMAKE_CFLAGS += -fpermissive -finline-functions -Wno-long-long QMAKE_CXXFLAGS += -fpermissive -finline-functions -Wno-long-long diff --git a/src/libs/ssh/ssh.qbs b/src/libs/ssh/ssh.qbs index d02a19eaee3..2b1949927ef 100644 --- a/src/libs/ssh/ssh.qbs +++ b/src/libs/ssh/ssh.qbs @@ -72,7 +72,9 @@ QtcLibrary { } else { result.push("BOTAN_DLL=") if (qbs.toolchain.contains("msvc")) - result.push("BOTAN_BUILD_COMPILER_IS_MSVC", "BOTAN_TARGET_OS_HAS_GMTIME_S") + result.push("BOTAN_BUILD_COMPILER_IS_MSVC", + "BOTAN_TARGET_OS_HAS_GMTIME_S", + "_SCL_SECURE_NO_WARNINGS") if (qbs.toolchain.contains("gcc") || qbs.toolchain.contains("mingw")) result.push("BOTAN_BUILD_COMPILER_IS_GCC") if (qbs.targetOS.contains("linux")) diff --git a/src/plugins/cpptools/cpptools.pro b/src/plugins/cpptools/cpptools.pro index 79ba9bdb59d..b27d4f46fed 100644 --- a/src/plugins/cpptools/cpptools.pro +++ b/src/plugins/cpptools/cpptools.pro @@ -1,6 +1,7 @@ include(../../qtcreatorplugin.pri) DEFINES += CPPTOOLS_LIBRARY +win32-msvc*:DEFINES += _SCL_SECURE_NO_WARNINGS HEADERS += completionsettingspage.h \ cppclassesfilter.h \ cppcurrentdocumentfilter.h \ diff --git a/src/plugins/cpptools/cpptools.qbs b/src/plugins/cpptools/cpptools.qbs index f810c63f0d6..e78d40ee199 100644 --- a/src/plugins/cpptools/cpptools.qbs +++ b/src/plugins/cpptools/cpptools.qbs @@ -15,6 +15,12 @@ QtcPlugin { Depends { name: "CPlusPlus" } Depends { name: "LanguageUtils" } + cpp.defines: base + Properties { + condition: qbs.toolchain.contains("msvc") + cpp.defines: base.concat("_SCL_SECURE_NO_WARNINGS") + } + files: [ "abstracteditorsupport.cpp", "abstracteditorsupport.h",