
--- Boris Gubenko <Boris.Gubenko@hp.com> wrote:
I can reproduce the problem compiling your program example against boost CVS HEAD. I also confirmed, that the program compiles cleanly with cxx V6.5-042 on Tru64 and with Intel's ICC 9.0 on Linux.
Yes, we have been using Boost.Python with Tru64 cxx for many years now.
Could this be fixed with a few extra #ifdefs?
I'll take a look tomorrow.
That would be fantastic.
BTW: Is the aCC compiler somehow related to the Tru64 compiler?
They both use the EDG front end.
We are successfully working with EDG 238, 245, 304. This makes me hopeful that it is "just" a matter of finding the right switches. I spent the better part of today beating on this. Unfortunately I did't get too far, but at least I have this: #include <boost/numeric/conversion/cast.hpp> void foo() { #ifdef ALL_FAIL boost::mpl_::integral_c<boost::numeric::udt_builtin_mixture_enum, 0L> bar; #else boost::numeric::convdetail::get_subranged< boost::numeric::convdetail::get_conversion_traits< unsigned long, long>::target_type, boost::numeric::convdetail::get_conversion_traits< unsigned long, long>::source_type
::udt_builtin_mixture bar; #endif }
The code in the ALL_FAIL fails both with cxx and aCC, as expected. I got the code from the aCC error message produced by compiling the pre-processed code in the #else branch, i.e.: aCC -AA -I../boost -E numeric_cast.cpp | & sed 's/^#/\/\//' > numeric_cast_pp.cpp aCC -AA numeric_cast_pp.cpp -c The full output from the last command is here: http://cci.lbl.gov/~rwgk/tmp/hp_ux_aCC_error_2006_03_13_1922 The code in the #else branch above compiles cleanly with cxx. I.e. somehow aCC arrives at 0L for the second integral_c<> template parameter, but cxx does not. My primary goal was to hunt down where the #ifdefs where the two platforms differ. I noticed that the two compilers use different branches in /boost/mpl/aux_/lambda_support.hpp cxx uses to shortcut near the top, aCC uses the longer code after the #else. I changed the #ifdef around so that both compilers use the shortcut near the top, but that didn't make a difference, at least not for compiling the small fragment above. This is all I know so far. I hope Aleksey and Dave will take a look, in case it is something obvious to them. Cheers, Ralf __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com