chriskohlhoff / asio

Asio C++ Library
http://think-async.com/Asio
4.96k stars 1.22k forks source link

GCC suggest-override warnings #759

Open ghost opened 3 years ago

ghost commented 3 years ago

@EugeneZelenko commented on Apr 12, 2020, 6:56 PM UTC:

Complete list of warnings when Boost 1.72 is built with GCC 7.5 with -Wsuggest-override added to cxxflags. Duplicated warnings from same location are omitted:

./boost/asio/detail/epoll_reactor.hpp:92:24: warning: ‘virtual void boost::asio::detail::epoll_reactor::shutdown()’ can be marked override [-Wsuggest-override]
./boost/asio/detail/epoll_reactor.hpp:95:24: warning: ‘virtual void boost::asio::detail::epoll_reactor::notify_fork(boost::asio::execution_context::fork_event)’ can be marked override [-Wsuggest-override]
./boost/asio/detail/impl/scheduler.ipp:321:3: warning: potential null pointer dereference [-Wnull-dereference]
./boost/asio/detail/impl/scheduler.ipp:321:45: warning: potential null pointer dereference [-Wnull-dereference]
./boost/asio/detail/posix_thread.hpp:84:18: warning: ‘void boost::asio::detail::posix_thread::func::run() [with Function = boost::asio::detail::resolver_service_base::work_scheduler_runner]’ can be marked override [-Wsuggest-override]
./boost/asio/detail/posix_thread.hpp:84:18: warning: ‘void boost::asio::detail::posix_thread::func::run() [with Function = boost::asio::detail::scheduler::thread_function]’ can be marked override [-Wsuggest-override]
./boost/asio/detail/posix_thread.hpp:84:18: warning: ‘void boost::asio::detail::posix_thread::func::run() [with Function = boost::asio::system_context::thread_function]’ can be marked override [-Wsuggest-override]
./boost/asio/detail/reactive_socket_service.hpp:85:8: warning: ‘void boost::asio::detail::reactive_socket_service::shutdown() [with Protocol = boost::asio::ip::udp]’ can be marked override [-Wsuggest-override]
./boost/asio/detail/resolver_service.hpp:63:8: warning: ‘void boost::asio::detail::resolver_service::shutdown() [with Protocol = boost::asio::ip::udp]’ can be marked override [-Wsuggest-override]
./boost/asio/detail/resolver_service.hpp:69:8: warning: ‘void boost::asio::detail::resolver_service::notify_fork(boost::asio::execution_context::fork_event) [with Protocol = boost::asio::ip::udp]’ can be marked override [-Wsuggest-override]
./boost/asio/detail/scheduler.hpp:55:24: warning: ‘virtual void boost::asio::detail::scheduler::shutdown()’ can be marked override [-Wsuggest-override]
./boost/asio/executor.hpp:39:39: warning: ‘virtual const char* boost::asio::bad_executor::what() const’ can be marked override [-Wsuggest-override]
./boost/asio/impl/error.ipp:102:15: warning: ‘virtual std::__cxx11::string boost::asio::error::detail::misc_category::message(int) const’ can be marked override [-Wsuggest-override]
./boost/asio/impl/error.ipp:35:15: warning: ‘virtual const char* boost::asio::error::detail::netdb_category::name() const’ can be marked override [-Wsuggest-override]
./boost/asio/impl/error.ipp:40:15: warning: ‘virtual std::__cxx11::string boost::asio::error::detail::netdb_category::message(int) const’ can be marked override [-Wsuggest-override]
./boost/asio/impl/error.ipp:67:15: warning: ‘virtual const char* boost::asio::error::detail::addrinfo_category::name() const’ can be marked override [-Wsuggest-override]
./boost/asio/impl/error.ipp:72:15: warning: ‘virtual std::__cxx11::string boost::asio::error::detail::addrinfo_category::message(int) const’ can be marked override [-Wsuggest-override]
./boost/asio/impl/error.ipp:97:15: warning: ‘virtual const char* boost::asio::error::detail::misc_category::name() const’ can be marked override [-Wsuggest-override]
./boost/asio/impl/executor.hpp:150:14: warning: ‘boost::asio::executor::impl_base* boost::asio::executor::impl< ,  >::clone() const [with Executor = boost::asio::io_context::executor_type; Allocator = std::allocator]’ can be marked override [-Wsuggest-override]
./boost/asio/impl/executor.hpp:156:8: warning: ‘void boost::asio::executor::impl< ,  >::destroy() [with Executor = boost::asio::io_context::executor_type; Allocator = std::allocator]’ can be marked override [-Wsuggest-override]
./boost/asio/impl/executor.hpp:167:8: warning: ‘void boost::asio::executor::impl< ,  >::on_work_started() [with Executor = boost::asio::io_context::executor_type; Allocator = std::allocator]’ can be marked override [-Wsuggest-override]
./boost/asio/impl/executor.hpp:172:8: warning: ‘void boost::asio::executor::impl< ,  >::on_work_finished() [with Executor = boost::asio::io_context::executor_type; Allocator = std::allocator]’ can be marked override [-Wsuggest-override]
./boost/asio/impl/executor.hpp:177:22: warning: ‘boost::asio::execution_context& boost::asio::executor::impl< ,  >::context() [with Executor = boost::asio::io_context::executor_type; Allocator = std::allocator]’ can be marked override [-Wsuggest-override]
./boost/asio/impl/executor.hpp:182:8: warning: ‘void boost::asio::executor::impl< ,  >::dispatch(boost::asio::executor::function&&) [with Executor = boost::asio::io_context::executor_type; Allocator = std::allocator]’ can be marked override [-Wsuggest-override]
./boost/asio/impl/executor.hpp:187:8: warning: ‘void boost::asio::executor::impl< ,  >::post(boost::asio::executor::function&&) [with Executor = boost::asio::io_context::executor_type; Allocator = std::allocator]’ can be marked override [-Wsuggest-override]
./boost/asio/impl/executor.hpp:192:8: warning: ‘void boost::asio::executor::impl< ,  >::defer(boost::asio::executor::function&&) [with Executor = boost::asio::io_context::executor_type; Allocator = std::allocator]’ can be marked override [-Wsuggest-override]
./boost/asio/impl/executor.hpp:197:23: warning: ‘const std::type_info& boost::asio::executor::impl< ,  >::target_type() const [with Executor = boost::asio::io_context::executor_type; Allocator = std::allocator; boost::asio::executor::type_id_result_type = const std::type_info&]’ can be marked override [-Wsuggest-override]
./boost/asio/impl/executor.hpp:202:9: warning: ‘void* boost::asio::executor::impl< ,  >::target() [with Executor = boost::asio::io_context::executor_type; Allocator = std::allocator]’ can be marked override [-Wsuggest-override]
./boost/asio/impl/executor.hpp:207:15: warning: ‘const void* boost::asio::executor::impl< ,  >::target() const [with Executor = boost::asio::io_context::executor_type; Allocator = std::allocator]’ can be marked override [-Wsuggest-override]
./boost/asio/impl/executor.hpp:212:8: warning: ‘bool boost::asio::executor::impl< ,  >::equals(const boost::asio::executor::impl_base*) const [with Executor = boost::asio::io_context::executor_type; Allocator = std::allocator]’ can be marked override [-Wsuggest-override]
./boost/asio/impl/executor.hpp:267:14: warning: ‘boost::asio::executor::impl_base* boost::asio::executor::impl::clone() const [with Allocator = std::allocator]’ can be marked override [-Wsuggest-override]
./boost/asio/impl/executor.hpp:272:8: warning: ‘void boost::asio::executor::impl::destroy() [with Allocator = std::allocator]’ can be marked override [-Wsuggest-override]
./boost/asio/impl/executor.hpp:276:8: warning: ‘void boost::asio::executor::impl::on_work_started() [with Allocator = std::allocator]’ can be marked override [-Wsuggest-override]
./boost/asio/impl/executor.hpp:281:8: warning: ‘void boost::asio::executor::impl::on_work_finished() [with Allocator = std::allocator]’ can be marked override [-Wsuggest-override]
./boost/asio/impl/executor.hpp:286:22: warning: ‘boost::asio::execution_context& boost::asio::executor::impl::context() [with Allocator = std::allocator]’ can be marked override [-Wsuggest-override]
./boost/asio/impl/executor.hpp:291:8: warning: ‘void boost::asio::executor::impl::dispatch(boost::asio::executor::function&&) [with Allocator = std::allocator]’ can be marked override [-Wsuggest-override]
./boost/asio/impl/executor.hpp:296:8: warning: ‘void boost::asio::executor::impl::post(boost::asio::executor::function&&) [with Allocator = std::allocator]’ can be marked override [-Wsuggest-override]
./boost/asio/impl/executor.hpp:301:8: warning: ‘void boost::asio::executor::impl::defer(boost::asio::executor::function&&) [with Allocator = std::allocator]’ can be marked override [-Wsuggest-override]
./boost/asio/impl/executor.hpp:306:23: warning: ‘const std::type_info& boost::asio::executor::impl::target_type() const [with Allocator = std::allocator; boost::asio::executor::type_id_result_type = const std::type_info&]’ can be marked override [-Wsuggest-override]
./boost/asio/impl/executor.hpp:311:9: warning: ‘void* boost::asio::executor::impl::target() [with Allocator = std::allocator]’ can be marked override [-Wsuggest-override]
./boost/asio/impl/executor.hpp:316:15: warning: ‘const void* boost::asio::executor::impl::target() const [with Allocator = std::allocator]’ can be marked override [-Wsuggest-override]
./boost/asio/impl/executor.hpp:321:8: warning: ‘bool boost::asio::executor::impl::equals(const boost::asio::executor::impl_base*) const [with Allocator = std::allocator]’ can be marked override [-Wsuggest-override]
./boost/asio/io_context.hpp:796:32: warning: ‘virtual void boost::asio::io_context::service::shutdown()’ can be marked override [-Wsuggest-override]
./boost/asio/io_context.hpp:810:32: warning: ‘virtual void boost::asio::io_context::service::notify_fork(boost::asio::execution_context::fork_event)’ can be marked override [-Wsuggest-override]
./boost/asio/ip/bad_address_cast.hpp:43:23: warning: ‘virtual const char* boost::asio::ip::bad_address_cast::what() const’ can be marked override [-Wsuggest-override]

BOOST_OVERRIDE was introduced in boostorg/config@ffe4e0f.

This issue was moved by chriskohlhoff from boostorg/asio#342.

ghost commented 3 years ago

@EugeneZelenko commented on May 6, 2020, 4:15 PM UTC:

See #347.