You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I`m seeing compiler warnings since the latest VS 2022 update (17.8.0) on Windows 11 with the latest cryptopp 8.9
`17:30:31:685 1>X:\cryptopp\integer.cpp(3061,12): warning C4996: 'stdext::make_checked_array_iterator': warning STL4043: stdext::checked_array_iterator, stdext::unchecked_array_iterator, and related factory functions are non-Standard extensions and will be removed in the future. std::span (since C++20) and gsl::span can be used instead. You can define _SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING or _SILENCE_ALL_MS_EXT_DEPRECATION_WARNINGS to suppress this warning.
17:30:31:685 1>(compiling source file '/integer.cpp')
17:30:32:401 1>X:\cryptopp\zdeflate.cpp(422,155): warning C4996: 'stdext::unchecked_array_iterator<const CryptoPP::byte *>::operator -': warning STL4043: stdext::checked_array_iterator, stdext::unchecked_array_iterator, and related factory functions are non-Standard extensions and will be removed in the future. std::span (since C++20) and gsl::span can be used instead. You can define _SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING or _SILENCE_ALL_MS_EXT_DEPRECATION_WARNINGS to suppress this warning.
`
It appears loosen from the platformSDK and loosen from the C++ standard
Tried PlatformSDK:
10.0.19041.0
10.0.22000.0
C++ Language standard:
ISO C++17 Standard (/std:c++17)
ISO C++20 Standard (/std:c++20)
The text was updated successfully, but these errors were encountered:
JanFellner
changed the title
Compile warnings in VS 2022 17.8.0 - stdext::make_checked_array_iterator std::make_unchecked_array_iteratorbeeing deprecated
Compile warnings in VS 2022 17.8.0 - stdext::make_checked_array_iterator std::make_unchecked_array_iterator beeing deprecated
Nov 21, 2023
JanFellner
changed the title
Compile warnings in VS 2022 17.8.0 - stdext::make_checked_array_iterator std::make_unchecked_array_iterator beeing deprecated
Compile warnings in VS 2022 17.8.0 - stdext::make_checked_array_iterator stdext::make_unchecked_array_iterator beeing deprecated
Nov 21, 2023
The lazy way of handling the issue was disabled warnings, but this works only while extensions were not removed completely.
The string stdext:: was found only in two files in the library, and all usages were deprecated.
Brief look at the code of those Microsoft's extensions reveals only ordinary things: see if it was a pointer type, non-null and not beyond the bounds. This kind of checks in most cases could be made in the code or even were unnecessary.
Some people just removed these long names and used standard pointers or iterators. Cryptopp library might follow suit, and thus simplify the code.
Alternatively, use of extensions could be restricted to non-deprecating versions of compiler and C++ standards.
I`m seeing compiler warnings since the latest VS 2022 update (17.8.0) on Windows 11 with the latest cryptopp 8.9
`17:30:31:685 1>X:\cryptopp\integer.cpp(3061,12): warning C4996: 'stdext::make_checked_array_iterator': warning STL4043: stdext::checked_array_iterator, stdext::unchecked_array_iterator, and related factory functions are non-Standard extensions and will be removed in the future. std::span (since C++20) and gsl::span can be used instead. You can define _SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING or _SILENCE_ALL_MS_EXT_DEPRECATION_WARNINGS to suppress this warning.
17:30:31:685 1>(compiling source file '/integer.cpp')
17:30:32:401 1>X:\cryptopp\zdeflate.cpp(422,155): warning C4996: 'stdext::unchecked_array_iterator<const CryptoPP::byte *>::operator -': warning STL4043: stdext::checked_array_iterator, stdext::unchecked_array_iterator, and related factory functions are non-Standard extensions and will be removed in the future. std::span (since C++20) and gsl::span can be used instead. You can define _SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING or _SILENCE_ALL_MS_EXT_DEPRECATION_WARNINGS to suppress this warning.
`
It appears loosen from the platformSDK and loosen from the C++ standard
Tried PlatformSDK:
C++ Language standard:
The text was updated successfully, but these errors were encountered: