|
Boost : |
Subject: Re: [boost] [mpl] mpl::string, help needed (vacpp, sun, borland)
From: Eric Niebler (eric_at_[hidden])
Date: 2009-04-23 12:50:57
Eric Niebler wrote:
> Dmitry Goncharov wrote:
>> This version uses BOOST_WORKAROUND. Please, have a look.
>> Tested on sun c++ 5.9 and gcc4.3.3.
>
> Thanks. I've merged this patch to trunk after making a few small edits
> myself, and I've given you credit for the port.
We have a very interesting problem with the Sun compiler. I see from the
regression reports that the mpl::string test is passing now with sun-5.9
on SunOS, but it's failing on Linux. The nature of the failure there is
fascinating, and reveals our first true portability problem with
multichar literals. Look at the error:
assertion_failed<mpl_::C>(mpl_::failed************boost::is_same<
boost::mpl::string<24930, 0, 0, 0, 0, 0, 0, 0>,
boost::mpl::string<25185, 0, 0, 0, 0, 0, 0, 0>>::************)
24930 is 0x6162 or 'ab' and 25185 is 0x6261 or 'ba'. The first test that
is failing is a push_back of 'b' into a string that contains 'a'. This
looks like an endian problem.
I'm not sure how to proceed. I have no hope of fixing this without
access to the failing platform. Anyone care to submit a patch?
-- Eric Niebler BoostPro Computing http://www.boostpro.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk