Warnings with boost 1.91.0 and clang-21
Marshall Clow via Boost <[email protected]>
| Newsgroups | gmane.comp.lib.boost.devel |
|---|---|
| Message-ID | <[email protected]> |
Here’s the warnings counts (by standards level) from Boost. 1.90.0:
(Apple clang 17):
logs/clang11-build.txt: 34
logs/clang14-build.txt: 40
logs/clang17-build.txt: 40
logs/clang20-build.txt: 44
logs/clang23-build.txt: 48
logs/clang2c-build.txt: 48
Here are the same numbers from Boost 1.91.0
(Apple clang 21)
logs/clang11-build.txt: 79
logs/clang14-build.txt: 91
logs/clang17-build.txt :91
logs/clang20-build.txt: 99
logs/clang23-build.txt: 103
logs/clang2c-build.txt: 3167
Most of the bugs fall into three bins:
https://github.com/boostorg/proto/issues/37
https://github.com/bfgroup/b2/issues/566
And several libraries (at least regex and spirit) instantiate std::char_traits types that are not ‘characters’
Example:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/string.h:45:41: warning: 'char_traits<unsigned char>' is deprecated: char_traits<T> for T not equal to char, wchar_t, char8_t, char16_t or char32_t is non-standard and is provided for a temporary period. It will be removed in a future release, so please migrate off of it. [-Wdeprecated-declarations]
45 | template <class _CharT, class _Traits = char_traits<_CharT>, class _Allocator = allocator<_CharT> >
| ^
./boost/xpressive/traits/cpp_regex_traits.hpp:321:18: note: in instantiation of default argument for 'basic_string<char_type>' required here
321 | typedef std::basic_string<char_type> string_type;
| ^~~~~~~~~~~~~~~~~~~~~~~
./boost/xpressive/traits/cpp_regex_traits.hpp:673:22: note: in instantiation of template class 'boost::xpressive::cpp_regex_traits<unsigned char>' requested here
673 | inline unsigned char cpp_regex_traits<unsigned char>::hash(unsigned char ch)
| ^
And
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__fwd/string.h:45:41: warning: 'char_traits<unsigned int>' is deprecated: char_traits<T> for T not equal to char, wchar_t, char8_t, char16_t or char32_t is non-standard and is provided for a temporary period. It will be removed in a future release, so please migrate off of it. [-Wdeprecated-declarations]
45 | template <class _CharT, class _Traits = char_traits<_CharT>, class _Allocator = allocator<_CharT> >
| ^
./boost/spirit/home/support/utf8.hpp:24:18: note: in instantiation of default argument for 'basic_string<ucs4_char>' required here
24 | typedef std::basic_string<ucs4_char> ucs4_string;
| ^~~~~~~~~~~~~~~~~~~~~~~
— Marshall
_______________________________________________
Boost mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://lists.boost.org/mailman3/lists/boost.lists.boost.org/
Archived at: https://lists.boost.org/archives/list/[email protected]/message/ZO4SABK5GUSOBCD6ZQTOTN3RQLWLN3D6/