GCC suggest-override warnings
Open
- Dominant language
- C++
- Stars
- 12
- Forks
- 51
- PR merge metrics
- No merged PRs in 30d
Description
Complete list of warnings when Boost 1.72 is built with GCC 7.5 with `-Wsuggest-override` added to `cxxflags`:
./boost/detail/basic_pointerbuf.hpp:123:1: warning: ‘boost::detail::basic_pointerbuf::pos_type boost::detail::basic_pointerbuf::seekpos(boost::detail::basic_pointerbuf::pos_type, std::ios_base::openmode) [with charT = char; BufferT = std::__cxx11::basic_stringbuf; boost::detail::basic_pointerbuf::pos_type = std::fpos<__mbstate_t>; std::ios_base::openmode = std::_Ios_Openmode]’ can be marked override [-Wsuggest-override]
./boost/detail/basic_pointerbuf.hpp:69:1: warning: ‘BufferT* boost::detail::basic_pointerbuf::setbuf(boost::detail::basic_pointerbuf::char_type*, boost::detail::basic_pointerbuf::streamsize) [with charT = char; BufferT = std::__cxx11::basic_stringbuf; boost::detail::basic_pointerbuf::char_type = char; boost::detail::basic_pointerbuf::streamsize = long int]’ can be marked override [-Wsuggest-override]
./boost/detail/basic_pointerbuf.hpp:77:1: warning: ‘boost::detail::basic_pointerbuf::pos_type boost::detail::basic_pointerbuf::seekoff(boost::detail::basic_pointerbuf::off_type, std::ios_base::seekdir, std::ios_base::openmode) [with charT = char; BufferT = std::__cxx11::basic_stringbuf; boost::detail::basic_pointerbuf::pos_type = std::fpos<__mbstate_t>; boost::detail::basic_pointerbuf::off_type = long int; std::ios_base::seekdir = std::_Ios_Seekdir; std::ios_base::openmode = std::_Ios_Openmode]’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:119:39: warning: ‘virtual std::codecvt_base::result boost::archive::detail::utf8_codecvt_facet::do_in(mbstate_t&, const char*, const char*, const char*&, wchar_t*, wchar_t*, wchar_t*&) const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:119:39: warning: ‘virtual std::codecvt_base::result boost::filesystem::detail::utf8_codecvt_facet::do_in(mbstate_t&, const char*, const char*, const char*&, wchar_t*, wchar_t*, wchar_t*&) const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:119:39: warning: ‘virtual std::codecvt_base::result boost::program_options::detail::utf8_codecvt_facet::do_in(mbstate_t&, const char*, const char*, const char*&, wchar_t*, wchar_t*, wchar_t*&) const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:129:39: warning: ‘virtual std::codecvt_base::result boost::archive::detail::utf8_codecvt_facet::do_out(mbstate_t&, const wchar_t*, const wchar_t*, const wchar_t*&, char*, char*, char*&) const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:129:39: warning: ‘virtual std::codecvt_base::result boost::filesystem::detail::utf8_codecvt_facet::do_out(mbstate_t&, const wchar_t*, const wchar_t*, const wchar_t*&, char*, char*, char*&) const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:129:39: warning: ‘virtual std::codecvt_base::result boost::program_options::detail::utf8_codecvt_facet::do_out(mbstate_t&, const wchar_t*, const wchar_t*, const wchar_t*&, char*, char*, char*&) const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:159:18: warning: ‘virtual bool boost::archive::detail::utf8_codecvt_facet::do_always_noconv() const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:159:18: warning: ‘virtual bool boost::filesystem::detail::utf8_codecvt_facet::do_always_noconv() const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:159:18: warning: ‘virtual bool boost::program_options::detail::utf8_codecvt_facet::do_always_noconv() const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:164:39: warning: ‘virtual std::codecvt_base::result boost::archive::detail::utf8_codecvt_facet::do_unshift(mbstate_t&, char*, char*, char*&) const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:164:39: warning: ‘virtual std::codecvt_base::result boost::filesystem::detail::utf8_codecvt_facet::do_unshift(mbstate_t&, char*, char*, char*&) const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:164:39: warning: ‘virtual std::codecvt_base::result boost::program_options::detail::utf8_codecvt_facet::do_unshift(mbstate_t&, char*, char*, char*&) const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:174:17: warning: ‘virtual int boost::archive::detail::utf8_codecvt_facet::do_encoding() const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:174:17: warning: ‘virtual int boost::filesystem::detail::utf8_codecvt_facet::do_encoding() const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:174:17: warning: ‘virtual int boost::program_options::detail::utf8_codecvt_facet::do_encoding() const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:181:17: warning: ‘virtual int boost::archive::detail::utf8_codecvt_facet::do_length(mbstate_t&, const char*, const char*, std::size_t) const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:181:17: warning: ‘virtual int boost::filesystem::detail::utf8_codecvt_facet::do_length(mbstate_t&, const char*, const char*, std::size_t) const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:181:17: warning: ‘virtual int boost::program_options::detail::utf8_codecvt_facet::do_length(mbstate_t&, const char*, const char*, std::size_t) const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:212:17: warning: ‘virtual int boost::archive::detail::utf8_codecvt_facet::do_max_length() const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:212:17: warning: ‘virtual int boost::filesystem::detail::utf8_codecvt_facet::do_max_length() const’ can be marked override [-Wsuggest-override]
./boost/detail/utf8_codecvt_facet.hpp:212:17: warning: ‘virtual int boost::program_options::detail::utf8_codecvt_facet::do_max_length() const’ can be marked override [-Wsuggest-override]
Related: boostorg/config#253
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with boost/detail/basic_pointerbuf.hpp and boost/detail/utf8_codecvt_facet.hpp, using the reported GCC 7.5 build with -Wsuggest-override to reproduce the warnings. Inspect the listed virtual methods and verify that the warnings are resolved without changing behavior. Confirm the affected Boost detail components still build with the same compiler flags.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100