Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.9.1
-
None
-
Windows 10 - MSVC 2015 Update 3
-
548c2fbb3aa1ae6b7d3614b6381ea051977e2834
Description
Since 5.9.1 our MSVC debug build will fail with this warning.
Since we build with "warnings are errors" our build is broken at the moment.
AccessRight is an "enum class" in a Q_GADGET with Q_ENUM defined.
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\xutility(3441): error C2220: warning treated as error - no 'object' file generated C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\xutility(3441): warning C4996: 'std::is_permutation::_Unchecked_iterators::_Deprecate': Call to 'std::is_permutation' 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 14.0\VC\INCLUDE\xutility(3441): note: see declaration of 'std::is_permutation::_Unchecked_iterators::_Deprecate' C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\xutility(3466): note: see reference to function template instantiation 'bool std::is_permutation<_FwdIt1,_FwdIt2,std::equal_to<void>>(_FwdIt1,_FwdIt1,_FwdIt2,_Pr)' being compiled with [ _FwdIt1=QHash<dummy::AccessRight,QHashDummyValue>::const_iterator, _FwdIt2=QHash<dummy::AccessRight,QHashDummyValue>::const_iterator, _Pr=std::equal_to<void> ] C:\J\workspace\default_Win32_MSVC\libs\build\dist\include\QtCore/qhash.h(953): note: see reference to function template instantiation 'bool std::is_permutation<QHash<T,QHashDummyValue>::const_iterator,T1>(_FwdIt1,_FwdIt1,_FwdIt2)' being compiled with [ T=dummy::AccessRight, T1=QHash<dummy::AccessRight,QHashDummyValue>::const_iterator, _FwdIt1=QHash<dummy::AccessRight,QHashDummyValue>::const_iterator, _FwdIt2=QHash<dummy::AccessRight,QHashDummyValue>::const_iterator ] C:\J\workspace\default_Win32_MSVC\libs\build\dist\include\QtCore/qhash.h(932): note: while compiling class template member function 'bool QHash<T,QHashDummyValue>::operator ==(const QHash<T,QHashDummyValue> &) const' with [ T=dummy::AccessRight ] C:\J\workspace\default_Win32_MSVC\libs\build\dist\include\QtCore/qset.h(74): note: see reference to function template instantiation 'bool QHash<T,QHashDummyValue>::operator ==(const QHash<T,QHashDummyValue> &) const' being compiled with [ T=dummy::AccessRight ] C:\J\workspace\default_Win32_MSVC\libs\build\dist\include\QtCore/qset.h(251): note: see reference to class template instantiation 'QHash<T,QHashDummyValue>' being compiled with [ T=dummy::AccessRight ] c:\j\workspace\default_win32_msvc\source\src\core\context\AuthContext.h(87): note: see reference to class template instantiation 'QSet<dummy::AccessRight>' being compiled
Attachments
Issue Links
- relates to
-
QTBUG-84584 MSVC warns on std::is_permutation in QHash header
- In Progress