Subject: Re: [boost] Which compilers are not supported for 1.48 ?
From: Edward Diener (eldiener_at_[hidden])
Date: 2011-07-15 19:34:14
On 7/15/2011 5:36 PM, Lars Viklund wrote:
> On Sat, Jul 16, 2011 at 01:00:37AM +0400, Antony Polukhin wrote:
>> Are really old and broken compilers still supported? Do we need them?
>> For example VC++6. It gives thousands of warnings on type_traits and
>> boost PP headers. Tests for VC++6 do not compile. Nobody tested boost
>> libraries on that compiler for years.
>> May be we shall get rid of compilers, that do not support template
>> partitial specialization, ADL or SFINAE?
>> If not, shall we try to make the tests pass (or at least compile) for them?
> These kinds of threads pop up every now and then. The last time I
> believe the violent consensus was that it was a bit counter-productive
> to touch code uncessarily, especially such code that isn't clearly
> delimited by feature test or workaround macros.
> The world needs more compilers, and it saddens me when new libraries are
> developed and deployed claiming to be portable but only really builds on
> recent GCC and maybe MSVC.
The problem I have found is that it is difficult to test on many other
compilers because they are not popular enough, C++ standard enough, or
they are not free to use. While I certainly do not think there is
anything wrong with charging for software, C++ compiler creators might
realize that Boost developers are doing them a service testing their
compilers and they should have some deal by which one is not charged for
using their compiler in such a scenario.
For TTI I wanted to test Intel C++ but it is not free even though there
is a 30-day trial period. Some other compilers are free but deficient in
areas where finding a workaround becomes onerous. Some compilers do not
really work well, or if at all, on some OSs. So what happens is that
many developers may want to test on compilers other than gcc and MSVC (
on Windows ), but find it easiest to test on those compilers simply
because there is not much else around that can be used to test one's C++
code fairly easily.
I certainly feel that it is the Boost library developer's prerogative
whether to try to support some older compiler. I would not even think of
testing with VC6, and even VC7 or VC7.1 has enough quirks and headaches
so that I now avoid them. With gcc anything below 3.4.2 is more trouble
than its worth and I am sure that plenty of developers are targeting
only gcc 4+ and up.
I agree it is great to have as many compilers as possible, and I applaud
efforts like clang. But when compilers cause more headaches than one's
own code/design it is just easier seeking correct code and forgot about
compilers which can not handle the C++ standard ( 1998/2003 at the least
) fairly readily.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk