Open JanFellner opened 12 months ago
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: