Russell Hind wrote:
Does anybody know if this needs fixing, or is it my mistake. If it needs fixing, is someone able to do it before 1.30.0 is released?
Yes, I think it needs fixing!
I think simply dropping the separate test for 0x0561 is easiest, given the Kylix test covers both. Otherwise, I think the test should have been ||, not &&.
i.e. switch from
Looking in format.hpp (line 43) there is
#if defined(BOOST_NO_STD_LOCALE) || ( BOOST_WORKAROUND(__BORLANDC__, <= 0x561) \ && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT( 0x570 ) ) ) #define BOOST_BAD_ISDIGIT #endif
to either
#if defined(BOOST_NO_STD_LOCALE) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT( 0x570 ) ) ) #define BOOST_BAD_ISDIGIT #endif
or
#if defined(BOOST_NO_STD_LOCALE) || ( BOOST_WORKAROUND(__BORLANDC__, <= 0x564) \ || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT( 0x570 ) ) ) #define BOOST_BAD_ISDIGIT #endif
I think the idea it to use BOOST_TESTED_AT until a known version of the compiler no longer has the issue (when the 'simple' version test is applied)?
AlisdairM
Thanks Alisdair, I don't suppose you can make changes can you? Another question in my original post was that it isn't required with BCB5 or BCB6 if _USE_OLD_RW_STL as the RogueWave STL appears to implement isdigit correctly (with locales). We don't currently use locale's so it doesn't really affect use, but taking this into account would allow people using BCB5 or BCB6 with RWSTL to use locales. Given the lack of resonses about this, I guess no-one actually does, so probably doesn't matter.
Cheers
Russell
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost