[Boost-bugs] [Boost C++ Libraries] #11550: boost::call_once issues

Subject: [Boost-bugs] [Boost C++ Libraries] #11550: boost::call_once issues
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2015-08-18 10:46:34


#11550: boost::call_once issues
----------------------------+------------------------------
 Reporter: lcarreon@… | Type: Bugs
   Status: new | Milestone: To Be Determined
Component: Building Boost | Version: Boost 1.59.0
 Severity: Problem | Keywords:
----------------------------+------------------------------
 I compiled Boost 1.59.0 with Solaris Studio 12.4 in C++11 mode and I
  get the following error messages:

 "libs/thread/src/pthread/thread.cpp", line 144: Error: Overloading
 ambiguity between "boost::call_once<void(*)()>(boost::once_flag&,
 void(*)())" and "boost::call_once<void(&)()>(boost::once_flag&,
 void(&)())".
 "libs/thread/src/pthread/thread.cpp", line 150: Error: Overloading
 ambiguity between "boost::call_once<void(*)()>(boost::once_flag&,
 void(*)())" and "boost::call_once<void(&)()>(boost::once_flag&,
 void(&)())".
 "libs/context/src/posix/stack_traits.cpp", line 58: Error: Overloading
 ambiguity between "boost::call_once<void(&)(unsigned long*), unsigned
 long*>(boost::once_flag&, void(&)(unsigned long*), unsigned long*&&)" and
 "boost::call_once<void(*)(unsigned long*), unsigned
 long*>(boost::once_flag&, void(*)(unsigned long*), unsigned long*)".
 "libs/context/src/posix/stack_traits.cpp", line 66: Error: Overloading
 ambiguity between "boost::call_once<void(&)(rlimit*),
 rlimit*>(boost::once_flag&, void(&)(rlimit*), rlimit*&&)" and
 "boost::call_once<void(*)(rlimit*), rlimit*>(boost::once_flag&,
 void(*)(rlimit*), rlimit*)".
 "libs/coroutine/src/posix/stack_traits.cpp", line 56: Error: Overloading
 ambiguity between "boost::call_once<void(&)(unsigned long*), unsigned
 long*>(boost::once_flag&, void(&)(unsigned long*), unsigned long*&&)" and
 "boost::call_once<void(*)(unsigned long*), unsigned
 long*>(boost::once_flag&, void(*)(unsigned long*), unsigned long*)".
 "libs/coroutine/src/posix/stack_traits.cpp", line 64: Error: Overloading
 ambiguity between "boost::call_once<void(&)(rlimit*),
 rlimit*>(boost::once_flag&, void(&)(rlimit*), rlimit*&&)" and
 "boost::call_once<void(*)(rlimit*), rlimit*>(boost::once_flag&,
 void(*)(rlimit*), rlimit*)".
 "./boost/thread/once.hpp", line 38: Error: Overloading ambiguity between
 "boost::call_once<void(*)()>(boost::once_flag&, void(*)())" and
 "boost::call_once<void(*)()&>(boost::once_flag&, void(*)()&)".
 "./boost/spirit/home/classic/core/non_terminal/impl/object_with_id.ipp",
 line 145: Error: Overloading ambiguity between
 "boost::call_once<void(*)()>(boost::once_flag&, void(*)())" and
 "boost::call_once<void(&)()>(boost::once_flag&, void(&)())".
 "./boost/spirit/home/classic/phoenix/closures.hpp", line 427: Error:
 Overloading ambiguity between
 "boost::call_once<void(*)()>(boost::once_flag&, void(*)())" and
 "boost::call_once<void(&)()>(boost::once_flag&, void(&)())".
 "./boost/thread/once.hpp", line 38: Error: Overloading ambiguity between
 "boost::call_once<void(*)()>(boost::once_flag&, void(*)())" and
 "boost::call_once<void(*)()&>(boost::once_flag&, void(*)()&)".
 "./boost/spirit/home/classic/core/non_terminal/impl/object_with_id.ipp",
 line 145: Error: Overloading ambiguity between
 "boost::call_once<void(*)()>(boost::once_flag&, void(*)())" and
 "boost::call_once<void(&)()>(boost::once_flag&, void(&)())".
 "./boost/thread/once.hpp", line 38: Error: Overloading ambiguity between
 "boost::call_once<void(*)()>(boost::once_flag&, void(*)())" and
 "boost::call_once<void(*)()&>(boost::once_flag&, void(*)()&)".
 "./boost/spirit/home/classic/core/non_terminal/impl/object_with_id.ipp",
 line 145: Error: Overloading ambiguity between
 "boost::call_once<void(*)()>(boost::once_flag&, void(*)())" and
 "boost::call_once<void(&)()>(boost::once_flag&, void(&)())".
 "./boost/spirit/home/classic/phoenix/closures.hpp", line 427: Error:
 Overloading ambiguity between
 "boost::call_once<void(*)()>(boost::once_flag&, void(*)())" and
 "boost::call_once<void(&)()>(boost::once_flag&, void(&)())".
 "./boost/thread/once.hpp", line 38: Error: Overloading ambiguity between
 "boost::call_once<void(*)()>(boost::once_flag&, void(*)())" and
 "boost::call_once<void(*)()&>(boost::once_flag&, void(*)()&)".
 "./boost/spirit/home/classic/core/non_terminal/impl/object_with_id.ipp",
 line 145: Error: Overloading ambiguity between
 "boost::call_once<void(*)()>(boost::once_flag&, void(*)())" and
 "boost::call_once<void(&)()>(boost::once_flag&, void(&)())".
 "./boost/thread/once.hpp", line 38: Error: Overloading ambiguity between
 "boost::call_once<void(*)()>(boost::once_flag&, void(*)())" and
 "boost::call_once<void(*)()&>(boost::once_flag&, void(*)()&)".
 "./boost/spirit/home/classic/core/non_terminal/impl/object_with_id.ipp",
 line 145: Error: Overloading ambiguity between
 "boost::call_once<void(*)()>(boost::once_flag&, void(*)())" and
 "boost::call_once<void(&)()>(boost::once_flag&, void(&)())".

 I'm not 100% sure whether these are compiler issues or Boost compiler
 configuration issues thus I decided to raise this ticket.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/11550>
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:18 UTC