Subject: [Boost-bugs] [Boost C++ Libraries] #7628: [signals2] Noisy g++ warning generated by 'unused' parameter
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-11-02 12:43:39
#7628: [signals2] Noisy g++ warning generated by 'unused' parameter
---------------------------------+------------------------------------------
Reporter: boost@⦠| Owner: fmhess
Type: Feature Requests | Status: new
Milestone: To Be Determined | Component: signals2
Version: Boost 1.51.0 | Severity: Cosmetic
Keywords: |
---------------------------------+------------------------------------------
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<void>(args);
#endif
}}}
Here's the noise generated (g++ 4.6):
(-std=c++0x -O2 -Wall -W)
{{{
In file include from ...<snip>
.../boost/boost_1_51_0/boost/signals2/detail/variadic_slot_invoker.hpp: In
member function âR
boost::signals2::detail::call_with_tuple_args<R>::m_invoke(void*, Func&,
boost::signals2::detail::unsigned_meta_array<indices ...>, std::tuple<Args
...>) const [with Func = boost::function<void()>, 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<R>::operator()(Func&,
std::tuple<_Args2 ...>) const [with Func = boost::function<void()>, 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<R,
Args>::result_type boost::signals2::detail::variadic_slot_invoker<R,
Args>::m_invoke(const ConnectionBodyType&, const
boost::signals2::detail::void_type*) const [with ConnectionBodyType =
boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group,
boost::optional<int> >, boost::signals2::slot<void(),
boost::function<void()> >, boost::signals2::mutex> >, R =
boost::signals2::detail::void_type, Args = {},
boost::signals2::detail::variadic_slot_invoker<R, Args>::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<R,
Args>::result_type boost::signals2::detail::variadic_slot_invoker<R,
Args>::operator()(const ConnectionBodyType&) const [with
ConnectionBodyType =
boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group,
boost::optional<int> >, boost::signals2::slot<void(),
boost::function<void()> >, boost::signals2::mutex> >, R =
boost::signals2::detail::void_type, Args = {},
boost::signals2::detail::variadic_slot_invoker<R, Args>::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<Function, Iterator,
ConnectionBody>::inherited::reference
boost::signals2::detail::slot_call_iterator_t<Function, Iterator,
ConnectionBody>::dereference() const [with Function =
boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type>,
Iterator =
std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group,
boost::optional<int> >, boost::signals2::slot<void(),
boost::function<void()> >, boost::signals2::mutex> > >, ConnectionBody =
boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group,
boost::optional<int> >, boost::signals2::slot<void(),
boost::function<void()> >, boost::signals2::mutex>, typename
boost::signals2::detail::slot_call_iterator_t<Function, Iterator,
ConnectionBody>::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<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type>,
std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group,
boost::optional<int> >, boost::signals2::slot<void(),
boost::function<void()> >, boost::signals2::mutex> > >,
boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group,
boost::optional<int> >, boost::signals2::slot<void(),
boost::function<void()> >, 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<I, V, TC, R, D>::reference
boost::iterator_facade<I, V, TC, R, D>::operator*() const [with Derived =
boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type>,
std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group,
boost::optional<int> >, boost::signals2::slot<void(),
boost::function<void()> >, boost::signals2::mutex> > >,
boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group,
boost::optional<int> >, boost::signals2::slot<void(),
boost::function<void()> >, 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<I, V, TC, R, D>::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<void>::result_type
boost::signals2::optional_last_value<void>::operator()(InputIterator,
InputIterator) const [with InputIterator =
boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type>,
std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group,
boost::optional<int> >, boost::signals2::slot<void(),
boost::function<void()> >, boost::signals2::mutex> > >,
boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group,
boost::optional<int> >, boost::signals2::slot<void(),
boost::function<void()> >, boost::signals2::mutex> >,
boost::signals2::optional_last_value<void>::result_type = void]â
.../boost/boost_1_51_0/boost/signals2/detail/result_type_wrapper.hpp:64:11:
instantiated from
âboost::signals2::detail::combiner_invoker<void>::result_type
boost::signals2::detail::combiner_invoker<void>::operator()(Combiner&,
InputIterator, InputIterator) const [with Combiner =
boost::signals2::optional_last_value<void>, InputIterator =
boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type>,
std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group,
boost::optional<int> >, boost::signals2::slot<void(),
boost::function<void()> >, boost::signals2::mutex> > >,
boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group,
boost::optional<int> >, boost::signals2::slot<void(),
boost::function<void()> >, boost::signals2::mutex> >,
boost::signals2::detail::combiner_invoker<void>::result_type = void]â
.../boost/boost_1_51_0/boost/signals2/detail/signal_template.hpp:246:13:
instantiated from âboost::signals2::detail::signal_impl<R(Args ...),
Combiner, Group, GroupCompare, SlotFunction, ExtendedSlotFunction,
Mutex>::result_type boost::signals2::detail::signal_impl<R(Args ...),
Combiner, Group, GroupCompare, SlotFunction, ExtendedSlotFunction,
Mutex>::operator()(Args ...) [with Combiner =
boost::signals2::optional_last_value<void>, Group = int, GroupCompare =
std::less<int>, SlotFunction = boost::function<void()>,
ExtendedSlotFunction = boost::function<void(const
boost::signals2::connection&)>, Mutex = boost::signals2::mutex, R = void,
Args = {}, boost::signals2::detail::signal_impl<R(Args ...), Combiner,
Group, GroupCompare, SlotFunction, ExtendedSlotFunction,
Mutex>::result_type = void]â
.../boost/boost_1_51_0/boost/signals2/detail/signal_template.hpp:695:85:
instantiated from âboost::signals2::signal<R(Args ...), Combiner, Group,
GroupCompare, SlotFunction, ExtendedSlotFunction, Mutex>::result_type
boost::signals2::signal<R(Args ...), Combiner, Group, GroupCompare,
SlotFunction, ExtendedSlotFunction, Mutex>::operator()(Args ...) [with
Combiner = boost::signals2::optional_last_value<void>, Group = int,
GroupCompare = std::less<int>, SlotFunction = boost::function<void()>,
ExtendedSlotFunction = boost::function<void(const
boost::signals2::connection&)>, Mutex = boost::signals2::mutex, R = void,
Args = {}, boost::signals2::signal<R(Args ...), Combiner, Group,
GroupCompare, SlotFunction, ExtendedSlotFunction, Mutex>::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]
}}}
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/7628> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:11 UTC