Boost logo

Boost :

Subject: Re: [boost] [config] Removing support for old compilers: do we haveaconsensus yet?
From: Gavin Lambert (gavinl_at_[hidden])
Date: 2014-01-29 17:42:19


On 23/01/2014 05:49, Quoth John Maddock:
>> I wonder however how this should be done. Just removing the macro
>> definitions from the config compiler headers is not enough because
>> people can in principle use their own configs. Might it perhaps be
>> better to leave the compiler headers intact and just warn/#error in
>> suffix.hpp when an unsupported macro is set?
>
> That actually sounds like a reasonable idea: it means we preserve the
> "accumulated knowledge" in the config headers (and that old stuff has
> absolutely zero impact on maintenance there, it's basically fossil code
> at this stage), while at the same time providing the user with a clear
> indication that they're doing something unsupported. Likewise library
> authors who really want to support those old compilers - or else just
> don't use any advanced features - can still do so. We can even provide
> a macro which when #defined suppresses the #error.

+1.

It's better for the build to error out quickly with "you are using an
unsupported compiler" (or even "your compiler does not support feature
X, which is mandatory") than for it to fail in less obvious ways later
(or worse, appear to compile successfully but then do something weird at
runtime).

So it makes sense for Config (or possibly Predef) to still detect all
versions of compilers. And as you point out, it's nearly free and won't
clutter the rest of Boost.


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