On 11/01/15 04:29, Joaquín M LópezMuñoz wrote:
Hi,
In 2012, boost::base_from_member was equipped with variadics machinery to perfect-forward construction arguments to the contained member. Unfortunately, Solaris Studio 12.5 on Intel chokes on it (http://tinyurl.com/no7trgb ):
"../boost/utility/base_from_member.hpp", line 137: Error: Parameter pack 'x' not expanded with '...' [...]
Oddly enough, the same compiler does work fine on Sparc. It is indeed strange that it works for sparc-S2 platform but not intel-S2.On looking into this further, the results for intel-S2 platform were from 10/15/2015. The latest results from 10/27/2015 are uploaded (runner oracle-intel-S2-12.5-cpp11) and the test passes without the modification below. See http://www.boost.org/development/tests/master/developer/utility.html
Thanks, Aparna
May I suggest that lines 129-132 of boost/utility/base_from_member.hpp
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && \ !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && \ !defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS) && \ !(defined(__GNUC__) && (__GNUC__ == 4) && (__GNUC_MINOR__ < 4))
be added a special provision for this environment (the same way it already has for GCC 4 and prior)?
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && \ !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && \ !defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS) && \ !(defined(__GNUC__) && (__GNUC__ == 4) && (__GNUC_MINOR__ < 4)) && \ !(defined(__SUNPRO_CC) && defined(__i386) && (__SUNPRO_CC <= 0x5140))
I can't unfortunately test this myself as I don't have access to the compiler. FWIW, my interest in having this fixed is that it's seemingly the only bug preventing Oracle Solaris Studio 12.5 on Intel from supporting Boost.MultiIndex.
Joaquín M López Muñoz Telefónica
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost