Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2005-07-10 17:35:30

Edward Diener <eddielee_at_[hidden]> writes:

> David Abrahams wrote:
>> Edward Diener <eddielee_at_[hidden]> writes:
>>>It would be much easier, and less confusing, when looking at compiler
>>>workarounds in Boost code if their were defines for various
>>>compilers/versions in a configuratiion header file such as:
>> Not sure why you'd want to do that. Then you only get a binary value
> You would get a boolean of true or false.

That wouldn't be very useful in Boost. If you look through Boost code
you'll find a lot of places where a <, <=,>, or >= comparison is
needed against a compiler version.

>> I'd rather have a composite version number.
> I would rather know whether some compiler is being referred to or not.

Then learn what the version numbers mean?

>>>#if defined(BOOST_COMPILER_VC71) etc.
>>>rather than the less understandable
>>>#if defined(MSC_VER == nnnn) etc.
>> Actually we have BOOST_MSVC. The only reason we'd test _MSC_VER is
>> for those cases where we want to catch *all* compilers that emulate
>> VC++ (e.g. for #pragma once).
> Does BOOST_MSVC referring to all versions of MSVC ?


> I wanted something easy which refers to particular major version of
> particular compiler toward which Boost is targeted.

I guess you'd have to make it up yourself, because if we used that in
Boost it would become a big(ger) mess.

> Is there a list of general compiler/versions which Boost supports.


>>>I realize I am just a reader of Boost code and not a Boost
>>>developer but I think this suggestion would make for a little more
>>>readable code in its own small way.
>> I agree! I suggest you prepare a patch for the config library that
>> we can use in Boost after 1.33.0
> If I can get a comprehensive list of compiler/versions and their
> corresponding preprocessor symbols I will be glad to do it. I can
> find out the appropriate information for Microsoft and Borland on
> Windows easily enough myself.

Well, I think I spoke too soon. What you appear to be asking for
would add little of value to Boost and would undermine the
capabilities we get from BOOST_WORKAROUND.

Dave Abrahams
Boost Consulting

Boost list run by bdawes at, gregod at, cpdaniel at, john at