From: John Maddock (john_at_[hidden])
Date: 2006-08-24 07:11:21
Boris Gubenko wrote:
> John Maddock wrote:
>> 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 :-(
> The machine is up and running now and, I suspect, you know that :-)
> If you can update hp_acc.hpp to reflect aCC6 compiler, it would be
> great. An unexpected help from an expert... This compiler is based on
> EDG 3.06.
> On the testdrive machine, the compiler is A.06.07. This version of
> aCC6 does not predefine __EDG__ and __EDG_VERSION__ macros which can
> confuse some boost configuration headers. More recent versions of aCC6
> do predefine these macros.
> For boost testing, I'm using A.06.12. It predefines __EDG* macros and
> sets __HP_aCC to 61200. A.06.10 also predefines __EDG* macros and sets
> __HP_aCC to 61000. Perhaps, we can use (__HP_aCC >= 61000) as a
> condition for "modern" aCC6 compiler (available on ia64 only).
> I think, it would be a good idea to upgrade the compiler on the
> testdrive machine to latest and greatest. Would you agree?
Fine by me, but you would probably know best what your customers want from
those testdrive machines. It makes sense to show off your latest technology
>> There are some aCC specific workarounds in the regex lib that could
>> be removed for recent aCC compiler releases as well.
> Currently, with hpux.hpp setting the THREADS macros, there are two
> regex library tests failing on HP-UX: concept_check and
> regex_token_iterator_eg_2. Both fail to compile.
Yep, I've committed some fairly conservative changes to the release branch
(isolated to the aCC config, and to regex). I've placed some rather more
agressive changes in cvs HEAD: so that only those config macros that really
do need to be defined are done so. To make this work I also had to update
some workarounds in type-traits - there may be others I've missed, which is
why this isn't going on the release branch - too great a chance of messing
things up :-(
With those changes there is only one regex failure: the concept_check one.
That appears to be because std::basic_string constructor doesn't accept
iterator types it doesn't know about? I'll let you investigate that one :-)
There is also a problem I noticed with WCHAR_MAX and WCHAR_MIN, there are a
couple of tests that use these in preproccessing directives, but these
evaluate to a typecast on both HP-UX and Tru64, and so can't be used in
pp-directives in C++, even though they can in C. If you have any clout with
whoever is responsible for these, there is a trick that uses:
#define WCHAR_MIN ((wchar_t)(+0))
which evaluates to 0+0 in a pp-directive, but a typecast in C++ code.
All the best, John.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk