Boost logo

Boost :

From: Giovanni Bajo (giovannibajo_at_[hidden])
Date: 2003-03-19 21:34:40


----- Original Message -----
From: "David Abrahams" <dave_at_[hidden]>
To: "Boost mailing list" <boost_at_[hidden]>
Sent: Thursday, March 20, 2003 2:59 AM
Subject: Re: [boost] Boost::format, MSVC, BOOST_TESTED_AT

> > #if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1300))
> > #error blah
> > #endif
> >
> > always aborts compilation.

> That's exactly what it's supposed to do. What are you expecting?

Ok, I read again everything and I eventually got it. The part that was
misleading me was: "It only has value as a comment unless
BOOST_DETECT_OUTDATED_WORKAROUNDS is defined". It's not clear *what* it's
treated as a comment. I thought it was meaning that BOOST_TESTED_AT was
silenty ignored if BOOST_DOW was not defined, thus leading to:

#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)

The previous sentence might be rephrased to "When BOOST_DOW is not defined,
the macro evaluates to != 0, which effectively activates the workaround for
any version of the compiler. When BOOST_DOW is defined, it will issue a
compiler warning or error if the compiler version exceeds the argument".

Giovanni Bajo


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