|
Boost : |
From: David Abrahams (dave_at_[hidden])
Date: 2003-05-15 18:05:23
"Edward Diener" <eddielee_at_[hidden]> writes:
> 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
>>> compilers.
>>
>> 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)" ?
Read the header file; the documentation is in there (boost details
don't get HTML user-level documentation).
-- Dave Abrahams Boost Consulting www.boost-consulting.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk