From: Edward Diener (eddielee_at_[hidden])
Date: 2003-05-15 15:35:59
David Abrahams wrote:
> Russell Hind <rhind_at_[hidden]> writes:
>> Edward Diener wrote:
>>> My main concern is that code which tests specifically for some BCB6
>>> __BORLANDC__ number, such as 0x561, and assumes only this means
>>> BCB6, has not been updated to also test for 0x562 and 0x564 when
>>> appropriate. But I don't know if this is the case anywhere, which
>>> was the reason for my original post.
>> This is why I think a __BORLANDC__LATEST could be used. Define it as
>> 0x564 now, and if __BORLANDC__ > __BORLANDC__LATEST, then error to
>> show that a new version has been released. Then, either
>> __BORLANDC__LATEST could just be updated to include the new version,
>> or specific patches could be then given specific version numbers if
>> the latest patch has fixed the problem.
>> Another way is to try and remove completely checks against compiler
>> versions in code and put all this checks in compiler config header,
>> then when new versions come out, you just update the list for the new
>> version in one place. This may be a better solution but will mean a
>> lot of #defines in the compiler config headers for non-conforming
> It sounds like this is what BOOST_TESTED_AT(0x561), from
> <boost/detail/workaround.hpp>, is for.
What does BOOST_TESTED_AT do ? I can find no doc for it in my 1.30
distribution. How is this different from saying "#if defined(__BORLANDC__)
&& (__BORLANDC__ == 0x561)" ?
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk