Boost logo

Boost :

From: Jonathan Turkanis (technews_at_[hidden])
Date: 2005-02-12 18:59:33


Jonathan Wakely wrote:
> On Sat, Feb 12, 2005 at 10:29:57PM +0000, Jonathan Wakely wrote:
>
>> Should BOOST_TESTED_AT be defined like this?
>>
>> # define BOOST_TESTED_AT(value) <= (value)
>>
>> Am I being stupid?
>
> Yes. Since the intention of BOOST_TESTED_AT is to pass all versions,
> but allow the check to be located later and the bug checked, the
> current definition is right, except for the fact it fails when used
> with 0.

Your comments made me realize that I misdescribed what I was trying to do. I
want the workaround to apply to all versions of GCC by default, but allow the
test to disabled for future versions. Otherwise I wouldn't need to use
BOOST_WORKAROUND at all.

Furthermore, I see now that BOOST_WORKAROUND will never work with a value of
zero, since it is defined as

        ((symbol != 0) && (...))

I guess I could do:

    #if defined(__GNUC__) && !defined(BOOST_INTEL)
    # define BOOST_IOSTREAMS_GCC(__GNUC__ * 100 + __GNUC_MINOR__)
    #endif

    #if BOOST_WORKAROUND(BOOST_IOSTREAMS_GCC, <= 400)
    ....
    #endif

Jonathan


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk