id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 7628,[signals2] Noisy g++ warning generated by 'unused' parameter,boost@…,Frank Mori Hess,"An unused parameter (args) warning in .../signals2/details/variadic_slot_invoker.hpp:87 I'm seeing the warning with g++ 4.6 for Linux x86 and g++ 4.5 for Linux Arm. Not tried with 4.7. This may be an over-zealous compiler, but it would be nice if it could be suppressed because it generates a lot of noise. Perhaps a: {{{ #if BOOST_WORKAROUND(__GNUC__, <= 4) && BOOST_WORKAROUND(__GNUC_MINOR__, <= 6) static_cast(args); #endif }}} Here's the noise generated (g++ 4.6): (-std=c++0x -O2 -Wall -W) {{{ In file include from ... .../boost/boost_1_51_0/boost/signals2/detail/variadic_slot_invoker.hpp: In member function ‘R boost::signals2::detail::call_with_tuple_args::m_invoke(void*, Func&, boost::signals2::detail::unsigned_meta_array, std::tuple) const [with Func = boost::function, unsigned int ...indices = {}, Args = {}, R = boost::signals2::detail::void_type]’: .../boost/boost_1_51_0/boost/signals2/detail/variadic_slot_invoker.hpp:78:63: instantiated from ‘R boost::signals2::detail::call_with_tuple_args::operator()(Func&, std::tuple<_Args2 ...>) const [with Func = boost::function, Args = {}, R = boost::signals2::detail::void_type]’ .../boost/boost_1_51_0/boost/signals2/detail/variadic_slot_invoker.hpp:117:97: instantiated from ‘boost::signals2::detail::variadic_slot_invoker::result_type boost::signals2::detail::variadic_slot_invoker::m_invoke(const ConnectionBodyType&, const boost::signals2::detail::void_type*) const [with ConnectionBodyType = boost::shared_ptr >, boost::signals2::slot >, boost::signals2::mutex> >, R = boost::signals2::detail::void_type, Args = {}, boost::signals2::detail::variadic_slot_invoker::result_type = boost::signals2::detail::void_type]’ .../boost/boost_1_51_0/boost/signals2/detail/variadic_slot_invoker.hpp:110:21: instantiated from ‘boost::signals2::detail::variadic_slot_invoker::result_type boost::signals2::detail::variadic_slot_invoker::operator()(const ConnectionBodyType&) const [with ConnectionBodyType = boost::shared_ptr >, boost::signals2::slot >, boost::signals2::mutex> >, R = boost::signals2::detail::void_type, Args = {}, boost::signals2::detail::variadic_slot_invoker::result_type = boost::signals2::detail::void_type]’ .../boost/boost_1_51_0/boost/signals2/detail/slot_call_iterator.hpp:82:15: instantiated from ‘typename boost::signals2::detail::slot_call_iterator_t::inherited::reference boost::signals2::detail::slot_call_iterator_t::dereference() const [with Function = boost::signals2::detail::variadic_slot_invoker, Iterator = std::_List_iterator >, boost::signals2::slot >, boost::signals2::mutex> > >, ConnectionBody = boost::signals2::detail::connection_body >, boost::signals2::slot >, boost::signals2::mutex>, typename boost::signals2::detail::slot_call_iterator_t::inherited::reference = const boost::signals2::detail::void_type&]’ .../boost/boost_1_51_0/boost/iterator/iterator_facade.hpp:514:32: instantiated from ‘static typename Facade::reference boost::iterator_core_access::dereference(const Facade&) [with Facade = boost::signals2::detail::slot_call_iterator_t, std::_List_iterator >, boost::signals2::slot >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body >, boost::signals2::slot >, boost::signals2::mutex> >, typename Facade::reference = const boost::signals2::detail::void_type&]’ .../boost/boost_1_51_0/boost/iterator/iterator_facade.hpp:639:67: instantiated from ‘boost::iterator_facade::reference boost::iterator_facade::operator*() const [with Derived = boost::signals2::detail::slot_call_iterator_t, std::_List_iterator >, boost::signals2::slot >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body >, boost::signals2::slot >, boost::signals2::mutex> >, Value = boost::signals2::detail::void_type, CategoryOrTraversal = boost::single_pass_traversal_tag, Reference = const boost::signals2::detail::void_type&, Difference = int, boost::iterator_facade::reference = const boost::signals2::detail::void_type&]’ .../boost/boost_1_51_0/boost/signals2/optional_last_value.hpp:55:13: instantiated from ‘boost::signals2::optional_last_value::result_type boost::signals2::optional_last_value::operator()(InputIterator, InputIterator) const [with InputIterator = boost::signals2::detail::slot_call_iterator_t, std::_List_iterator >, boost::signals2::slot >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body >, boost::signals2::slot >, boost::signals2::mutex> >, boost::signals2::optional_last_value::result_type = void]’ .../boost/boost_1_51_0/boost/signals2/detail/result_type_wrapper.hpp:64:11: instantiated from ‘boost::signals2::detail::combiner_invoker::result_type boost::signals2::detail::combiner_invoker::operator()(Combiner&, InputIterator, InputIterator) const [with Combiner = boost::signals2::optional_last_value, InputIterator = boost::signals2::detail::slot_call_iterator_t, std::_List_iterator >, boost::signals2::slot >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body >, boost::signals2::slot >, boost::signals2::mutex> >, boost::signals2::detail::combiner_invoker::result_type = void]’ .../boost/boost_1_51_0/boost/signals2/detail/signal_template.hpp:246:13: instantiated from ‘boost::signals2::detail::signal_impl::result_type boost::signals2::detail::signal_impl::operator()(Args ...) [with Combiner = boost::signals2::optional_last_value, Group = int, GroupCompare = std::less, SlotFunction = boost::function, ExtendedSlotFunction = boost::function, Mutex = boost::signals2::mutex, R = void, Args = {}, boost::signals2::detail::signal_impl::result_type = void]’ .../boost/boost_1_51_0/boost/signals2/detail/signal_template.hpp:695:85: instantiated from ‘boost::signals2::signal::result_type boost::signals2::signal::operator()(Args ...) [with Combiner = boost::signals2::optional_last_value, Group = int, GroupCompare = std::less, SlotFunction = boost::function, ExtendedSlotFunction = boost::function, Mutex = boost::signals2::mutex, R = void, Args = {}, boost::signals2::signal::result_type = void]’ privateFile.cpp:98:24: instantiated from here .../boost/boost_1_51_0/boost/signals2/detail/variadic_slot_invoker.hpp:87:13: warning: parameter ‘args’ set but not used [-Wunused-but-set-parameter] }}} ",Feature Requests,closed,To Be Determined,signals2,Boost 1.51.0,Cosmetic,fixed,,