
Boris Gubenko wrote:
John,
I just realized, that unless BOOST_STRICT_CONFIG macro is defined (which we don't), config/compiler/hp_acc.hpp defines BOOST_NO_SWPRINTF macro. So, even if hpux.hpp would not define this macro, hp_acc.hpp will.
I think, that for now, we should leave part of the hpux.hpp header setting BOOST_NO_SWPRINTF and BOOST_NO_CWCTYPE macros alone because, almost certainly, tuning configuration macros for HP-UX/aCC will require a coordinated update of both hpux.hpp and hp_acc.hpp.
hp_acc.hpp looks hopelessly out of date: I suspect we could get a lot more tests passing with an update. I was going to do just that, but the hp.testdrive servers appear to be down this morning :-( There are some aCC specific workarounds in the regex lib that could probably be removed for recent aCC compiler releases as well.
I think, that for now, we should change hpux.hpp to only define THREADS macros for aCC (which is necessary for regex_regress_threaded and static_mutex_test regex library tests to pass):
#if defined(__GNUC__) ... #elif defined(__HP_aCC) && !defined(BOOST_DISABLE_THREADS) # define BOOST_HAS_THREADS # define BOOST_HAS_PTHREADS #endif
Thinking again, I don't think BOOST_HAS_THREADS should be set unconditionally here: aCC sets _REENTRANT when being built with -mt right? If so then BOOST_HAS_THREADS should get turned on automatically when building in multithread-mode *only* in boost/config/suffix.hpp. It was the lack of BOOST_HAS_PTHREADS that prevented this mechanism kicking in previously. But it needs testing, and those testdrive machines are still down. We also need to check that the bjam toolset set's the right flags for multithread builds. John.