Subject: Re: [Boost-bugs] [Boost C++ Libraries] #11550: boost::call_once issues
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2015-08-20 11:16:55
#11550: boost::call_once issues
-------------------------------+----------------------
Reporter: lcarreon@⦠| Owner: anthonyw
Type: Bugs | Status: new
Milestone: To Be Determined | Component: thread
Version: Boost 1.59.0 | Severity: Problem
Resolution: | Keywords:
-------------------------------+----------------------
Comment (by lcarreon@â¦):
FYI, I tried implementing the code change mentioned above. It is now
complaining about
this:
"./boost/thread/pthread/once_atomic.hpp", line 168: Error: Overloading
ambiguity between "boost::detail::invoke<void, void(*)(rlimit*),
rlimit*>(void(*)(rlimit*)&, rlimit*)" and "boost::detail::invoke<void,
void(*)(rlimit*), rlimit*&>(void(*)(rlimit*)&, rlimit*&)".
Looking at the line being complained above, I realized it is in the part
of the code where there is no support for variadic templates and rvalue
references. IMO, this is incorrect
because according to the Solaris Studio 12.4 documentation, it does
support these two C++11
features in C++11 mode. Only thread related features are missing. I'm
not sure if there is a way to distinguish if the compiler is in C++11 mode
or not.
Taking the above into consideration, I undid your changes described above
and changed the
boost/config/compiler/sunpro_cc.hpp file instead to move
BOOST_NO_CXX11_VARIADIC_TEMPLATES
to affect Solaris Studio 12.3 and below only. This new change has
eliminated all the
boost::call_once related errors but it did generate signal 11 errors in
various libraries
as mentioned in a comment in the compiler configuration file. It also
generated template argument errors in Boost.Log and Boost.Variant (1 line
each).
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/11550#comment:3> 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