
On October 21th, I've submitted one-line patches for three mpl headers -- see attached. I did not get any response and the patches have not been applied. Is there anything wrong with the patches? If not, can they be applied to both the HEAD and the 1.34 branch? Thanks, Boris P.S. I'm copying the author of mpl library on this. ----- Original Message ----- From: "Boris Gubenko" <Boris.Gubenko@hp.com> To: <boost@lists.boost.org> CC: Boris Gubenko <Boris.Gubenko@hp.com> Subj: [boost] [mpl] patches for outdated workarounds for aCC6 Three mpl headers -- integral_c.hpp, integral_c_fwd.hpp and integral_wrapper.hpp -- contain outdated workarounds for HP-UX aCC. When compiled with aCC6, these workarounds are causing compilation errors because the resulting code looks like the following: template< typename T, long N > struct integral_c { //#if BOOST_WORKAROUND(__HP_aCC, BOOST_TESTED_AT(53800)) static const T value = N; //#else // the correct code // static const T value = (T) N; //#endif }; enum udt_builtin_mixture_enum {}; integral_c<udt_builtin_mixture_enum, 0> x; A typical compilation error is: "../../../boost/mpl/aux_/integral_wrapper.hpp", line 45: error #2144: a value of type "long" cannot be used to initialize an entity of type "const boost::numeric::sign_mixture_enum" BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, value = N); Attached patches change invocation of BOOST_WORKAROUND macro in the aforementioned mpl headers from: #if BOOST_WORKAROUND(__HP_aCC, BOOST_TESTED_AT(53800)) to: #if BOOST_WORKAROUND(__HP_aCC, <= 53800) With patches below, the following tests that previously failed to compile with "error #2144", compile and pass: Library Test ------------------ --------------------- conversion numeric_cast_test numeric/conversion traits_test numeric/conversion converter_test numeric/conversion udt_support_test numeric/conversion numeric_cast_test numeric/conversion udt_example_0 python builtin_converters python vector_indexing_suite python pointer_vector xpressive regress xpressive c_traits xpressive misc1 xpressive test_dynamic xpressive multiple_defs Can the three patches below be applied to both the HEAD and the RC branch? Thanks, Boris Index: integral_c.hpp =================================================================== RCS file: /cvsroot/boost/boost/boost/mpl/integral_c.hpp,v retrieving revision 1.22 diff -r1.22 integral_c.hpp 22c22 < #if BOOST_WORKAROUND(__HP_aCC, BOOST_TESTED_AT(53800)) ---
#if BOOST_WORKAROUND(__HP_aCC, <= 53800)
Index: integral_c_fwd.hpp =================================================================== RCS file: /cvsroot/boost/boost/boost/mpl/integral_c_fwd.hpp,v retrieving revision 1.4 diff -r1.4 integral_c_fwd.hpp 22c22 < #if BOOST_WORKAROUND(__HP_aCC, BOOST_TESTED_AT(53800)) ---
#if BOOST_WORKAROUND(__HP_aCC, <= 53800)
Index: integral_wrapper.hpp =================================================================== RCS file: /cvsroot/boost/boost/boost/mpl/aux_/integral_wrapper.hpp,v retrieving revision 1.10 diff -r1.10 integral_wrapper.hpp 68c68 < || BOOST_WORKAROUND(__HP_aCC, BOOST_TESTED_AT(53800)) ---
|| BOOST_WORKAROUND(__HP_aCC, <= 53800)