Opened 8 years ago

Last modified 8 years ago

#10083 new Bugs

signals2 fails to compile under Intel Parallel Composer XE

Reported by: anonymous Owned by: Frank Mori Hess
Milestone: To Be Determined Component: signals2
Version: Boost 1.55.0 Severity: Problem
Keywords: Cc:

Description (last modified by viboes)

I'm trying to compile the following file:

class Order {};

class Foo
{
  signal<void(Order*)> beforeOrder;

  void test(Order* o)
  {
    beforeOrder(o);
  }
};

int main(int argc, char* argv[])
{
  Order o;
  Foo foo;

	return 0;
}

Here's the compiler output I'm getting:

1>C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\xmemory(348): warning C4996: 'std::_Uninitialized_copy0': Function call with parameters that may be unsafe - this call relies on the caller to check that the passed values are correct. To disable this warning, use -D_SCL_SECURE_NO_WARNINGS. See documentation on how to use Visual C++ 'Checked Iterators'
1>          C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\xmemory(333) : see declaration of 'std::_Uninitialized_copy0'
1>          c:\boost\boost/signals2/detail/auto_buffer.hpp(192) : see reference to function template instantiation '_FwdIt std::uninitialized_copy<I,boost::variant<boost::shared_ptr<void>,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_>*>(_InIt,_InIt,_FwdIt)' being compiled
1>          with
1>          [
1>              _FwdIt=boost::variant<boost::shared_ptr<void>,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_> *
1>  ,            I=boost::variant<boost::shared_ptr<void>,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_> *
1>  ,            _InIt=boost::variant<boost::shared_ptr<void>,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_> *
1>          ]
1>          c:\boost\boost/signals2/detail/auto_buffer.hpp(179) : see reference to function template instantiation 'void boost::signals2::detail::auto_buffer<boost::signals2::detail::void_shared_ptr_variant,boost::signals2::detail::store_n_objects<10>,boost::signals2::detail::default_grow_policy,std::allocator<_Ty>>::copy_rai<I,false>(I,I,boost::variant<boost::shared_ptr<void>,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_> *,const boost::integral_constant<bool,false> &)' being compiled
1>          with
1>          [
1>              _Ty=boost::signals2::detail::void_shared_ptr_variant
1>  ,            I=boost::variant<boost::shared_ptr<void>,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_> *
1>          ]
1>          c:\boost\boost/signals2/detail/auto_buffer.hpp(179) : see reference to function template instantiation 'void boost::signals2::detail::auto_buffer<boost::signals2::detail::void_shared_ptr_variant,boost::signals2::detail::store_n_objects<10>,boost::signals2::detail::default_grow_policy,std::allocator<_Ty>>::copy_rai<I,false>(I,I,boost::variant<boost::shared_ptr<void>,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_> *,const boost::integral_constant<bool,false> &)' being compiled
1>          with
1>          [
1>              _Ty=boost::signals2::detail::void_shared_ptr_variant
1>  ,            I=boost::variant<boost::shared_ptr<void>,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_> *
1>          ]
1>          c:\boost\boost/signals2/detail/auto_buffer.hpp(205) : see reference to function template instantiation 'void boost::signals2::detail::auto_buffer<boost::signals2::detail::void_shared_ptr_variant,boost::signals2::detail::store_n_objects<10>,boost::signals2::detail::default_grow_policy,std::allocator<_Ty>>::copy_impl<I>(I,I,boost::variant<boost::shared_ptr<void>,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_> *,std::random_access_iterator_tag)' being compiled
1>          with
1>          [
1>              _Ty=boost::signals2::detail::void_shared_ptr_variant
1>  ,            I=boost::variant<boost::shared_ptr<void>,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_> *
1>          ]
1>          c:\boost\boost/signals2/detail/auto_buffer.hpp(205) : see reference to function template instantiation 'void boost::signals2::detail::auto_buffer<boost::signals2::detail::void_shared_ptr_variant,boost::signals2::detail::store_n_objects<10>,boost::signals2::detail::default_grow_policy,std::allocator<_Ty>>::copy_impl<I>(I,I,boost::variant<boost::shared_ptr<void>,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_> *,std::random_access_iterator_tag)' being compiled
1>          with
1>          [
1>              _Ty=boost::signals2::detail::void_shared_ptr_variant
1>  ,            I=boost::variant<boost::shared_ptr<void>,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_> *
1>          ]
1>          c:\boost\boost/signals2/detail/auto_buffer.hpp(289) : see reference to function template instantiation 'void boost::signals2::detail::auto_buffer<boost::signals2::detail::void_shared_ptr_variant,boost::signals2::detail::store_n_objects<10>,boost::signals2::detail::default_grow_policy,std::allocator<_Ty>>::copy_impl<boost::variant<boost::shared_ptr<void>,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_>*>(I,I,boost::variant<boost::shared_ptr<void>,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_> *)' being compiled
1>          with
1>          [
1>              _Ty=boost::signals2::detail::void_shared_ptr_variant
1>  ,            I=boost::variant<boost::shared_ptr<void>,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_> *
1>          ]
1>          c:\boost\boost/signals2/detail/auto_buffer.hpp(289) : see reference to function template instantiation 'void boost::signals2::detail::auto_buffer<boost::signals2::detail::void_shared_ptr_variant,boost::signals2::detail::store_n_objects<10>,boost::signals2::detail::default_grow_policy,std::allocator<_Ty>>::copy_impl<boost::variant<boost::shared_ptr<void>,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_>*>(I,I,boost::variant<boost::shared_ptr<void>,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_> *)' being compiled
1>          with
1>          [
1>              _Ty=boost::signals2::detail::void_shared_ptr_variant
1>  ,            I=boost::variant<boost::shared_ptr<void>,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_> *
1>          ]
1>          c:\boost\boost/signals2/detail/auto_buffer.hpp(282) : while compiling class template member function 'boost::variant<boost::shared_ptr<void>,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_> *boost::signals2::detail::auto_buffer<boost::signals2::detail::void_shared_ptr_variant,boost::signals2::detail::store_n_objects<10>,boost::signals2::detail::default_grow_policy,std::allocator<_Ty>>::move_to_new_buffer(unsigned __int64,const boost::false_type &)'
1>          with
1>          [
1>              _Ty=boost::signals2::detail::void_shared_ptr_variant
1>          ]
1>          c:\boost\boost/signals2/detail/auto_buffer.hpp(304) : see reference to function template instantiation 'boost::variant<boost::shared_ptr<void>,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_> *boost::signals2::detail::auto_buffer<boost::signals2::detail::void_shared_ptr_variant,boost::signals2::detail::store_n_objects<10>,boost::signals2::detail::default_grow_policy,std::allocator<_Ty>>::move_to_new_buffer(unsigned __int64,const boost::false_type &)' being compiled
1>          with
1>          [
1>              _Ty=boost::signals2::detail::void_shared_ptr_variant
1>          ]
1>          c:\boost\boost/signals2/detail/slot_call_iterator.hpp(40) : see reference to class template instantiation 'boost::signals2::detail::auto_buffer<boost::signals2::detail::void_shared_ptr_variant,boost::signals2::detail::store_n_objects<10>,boost::signals2::detail::default_grow_policy,std::allocator<_Ty>>' being compiled
1>          with
1>          [
1>              _Ty=boost::signals2::detail::void_shared_ptr_variant
1>          ]
1>          c:\boost\boost/signals2/detail/slot_call_iterator.hpp(44) : see reference to class template instantiation 'boost::signals2::detail::slot_call_iterator_cache<ResultType,Function>' being compiled

Change History (5)

comment:1 by anonymous, 8 years ago

Whoops, wrong output, here's the right one

1>c:\boost\boost/signals2/detail/variadic_slot_invoker.hpp(117): error : no instance of function template "boost::signals2::detail::call_with_tuple_args<R>::operator() [with R=boost::signals2::detail::void_type]" matches the argument list
1>              argument types are: (boost::function<void (Order *)>, const boost::tuples::tuple<Order *&, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, boost::mpl::size_t<1Ui64>)
1>              object type is: boost::signals2::detail::call_with_tuple_args<boost::signals2::detail::void_type>
1>              return call_with_tuple_args<result_type>()(connectionBody->slot.slot_function(), _args, mpl::size_t<sizeof...(Args)>());
1>                     ^
1>            detected during:
1>              instantiation of "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 R=boost::signals2::detail::void_type, Args=<Order *>, ConnectionBodyType=boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int>>, boost::signals2::slot<void (Order *),
1>                        boost::function<void (Order *)>>, boost::signals2::mutex>>]" at line 110
1>              instantiation of "boost::signals2::detail::variadic_slot_invoker<R, Args...>::result_type boost::signals2::detail::variadic_slot_invoker<R, Args...>::operator()(const ConnectionBodyType &) const [with R=boost::signals2::detail::void_type, Args=<Order *>, ConnectionBodyType=boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int>>, boost::signals2::slot<void (Order *), boost::function<void (Order *)>>,
1>                        boost::signals2::mutex>>]" at line 82 of "c:\boost\boost/signals2/detail/slot_call_iterator.hpp"
1>              instantiation of "boost::iterator_facade<boost::signals2::detail::slot_call_iterator_t<Function, Iterator, ConnectionBody>, Function::result_type, boost::single_pass_traversal_tag, const Function::result_type &, ptrdiff_t={__int64}>::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, Order *>,
1>                        Iterator=std::_List_iterator<std::_List_val<std::_List_simple_types<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int>>, boost::signals2::slot<void (Order *), boost::function<void (Order *)>>, boost::signals2::mutex>>>>>, ConnectionBody=boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int>>, boost::signals2::slot<void (Order *),
1>                        boost::function<void (Order *)>>, boost::signals2::mutex>]" at line 514 of "c:\boost\boost/iterator/iterator_facade.hpp"
1>              instantiation of "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, Order *>, std::_List_iterator<std::_List_val<std::_List_simple_types<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int>>, boost::signals2::slot<void (Order *),
1>                        boost::function<void (Order *)>>, boost::signals2::mutex>>>>>, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int>>, boost::signals2::slot<void (Order *), boost::function<void (Order *)>>, boost::signals2::mutex>>]" at line 639 of "c:\boost\boost/iterator/iterator_facade.hpp"
1>              instantiation of "boost::iterator_facade<Derived, Value, CategoryOrTraversal, Reference, Difference>::reference boost::iterator_facade<Derived, Value, CategoryOrTraversal, Reference, Difference>::operator*() const [with Derived=boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, Order *>,
1>                        std::_List_iterator<std::_List_val<std::_List_simple_types<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int>>, boost::signals2::slot<void (Order *), boost::function<void (Order *)>>, boost::signals2::mutex>>>>>, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int>>, boost::signals2::slot<void (Order *), boost::function<void (Order
1>                        *)>>, boost::signals2::mutex>>, Value=boost::signals2::detail::void_type, CategoryOrTraversal=boost::single_pass_traversal_tag, Reference=const boost::signals2::detail::void_type &, Difference=ptrdiff_t={__int64}]" at line 55 of "c:\boost\boost/signals2/optional_last_value.hpp"
1>              instantiation of "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, Order *>,
1>                        std::_List_iterator<std::_List_val<std::_List_simple_types<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int>>, boost::signals2::slot<void (Order *), boost::function<void (Order *)>>, boost::signals2::mutex>>>>>, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int>>, boost::signals2::slot<void (Order *), boost::function<void (Order
1>                        *)>>, boost::signals2::mutex>>]" at line 64 of "c:\boost\boost/signals2/detail/result_type_wrapper.hpp"
1>              instantiation of "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, Order *>,
1>                        std::_List_iterator<std::_List_val<std::_List_simple_types<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int>>, boost::signals2::slot<void (Order *), boost::function<void (Order *)>>, boost::signals2::mutex>>>>>, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int>>, boost::signals2::slot<void (Order *), boost::function<void (Order
1>                        *)>>, boost::signals2::mutex>>]" at line 246 of "c:\boost\boost/signals2/detail/signal_template.hpp"
1>              instantiation of "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 (Order *)>, ExtendedSlotFunction=boost::function<void
1>                        (const boost::signals2::connection &, Order *)>, Mutex=boost::signals2::mutex, R=void, Args=<Order *>]" at line 695 of "c:\boost\boost/signals2/detail/signal_template.hpp"
1>              instantiation of "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 (Order *)>, ExtendedSlotFunction=boost::function<void (const
1>                        boost::signals2::connection &, Order *)>, Mutex=boost::signals2::mutex, R=void, Args=<Order *>]" at line 11 of "Sandbox.cpp"

comment:2 by anonymous, 8 years ago

Same problem compiling on Scientific Linux, Boost Version 1.55.0

Intel® C++ Studio XE for Linux* 2013 SP1 $ icpc -v icpc version 14.0.3 (gcc version 4.7.1 compatibility)

This compiles fine under gcc version 4.7.1

comment:3 by viboes, 8 years ago

Component: Nonesignals2
Description: modified (diff)
Owner: set to Frank Mori Hess

comment:4 by Frank Mori Hess, 8 years ago

Is std::size_t 32 bits on your compiler? The sizeof...() operator appears to be returning a 64 bit unsigned integer. If std::size_t is not a 64 bit unsigned integer then it would cause the problem you are seeing. The sizeof...() operator is supposed to return a value of type std::size_t.

in reply to:  4 comment:5 by Frank Mori Hess, 8 years ago

Replying to fmhess:

If std::size_t is not a 64 bit unsigned integer then it would cause the problem you are seeing.

Err, nevermind, I don't know what your compiler's problem is with the code.

Note: See TracTickets for help on using tickets.