Boost logo

Boost Users :

Subject: Re: [Boost-users] Removing all support for Visual C++ 7.0, GCC 3.2 and other old compilers
From: Robert Ramey (ramey_at_[hidden])
Date: 2013-08-06 12:49:45


Daniel James wrote:
> Hello all,
>
> There has been some discussion on the development list about dropping
> all support for old C++ compilers. This will allow us to remove a lot
> of workarounds and simplify the code but before doing so it's a good
> idea to find out if anyone is still using them. Using boost with these
> compilers will cause a compile error in the config library (you can
> work round that using a custom configuration, but it's unlikely
> you'll be able to get much to work). The currently proposed versions
> for removing support are:
>
> Digital Mars 8.40 and earlier
> Visual C++ 7.0 and earlier
> GCC 3.2 and earlier
> Intel C++ 5.0 and earlier
>
> Which is, I think, a very cautious list. There's also a good chance
> that we might want to remove support for Borland C++ 5.x. Is there
> anyone still using those compilers?
>
> Just to be clear, this doesn't mean we'll be fully supporting all
> compilers later than these. Old compilers such as Visual C++ 7.1 and
> gcc
> 3.4 won't have a config error and we won't deliberately remove
> support, but support will be patchy. Many libraries (especially new
> ones) don't support those compilers, and we also don't have any
> formal testing for them, so if a new change breaks something, it
> might not be noticed.
>
> If you are still using compilers which are a little more recent than
> the ones listed above, it might still be worth mentioning in case we
> consider removing support for them in the future.

I am totally missing what this thread is about.

a) boost config has macros which can be used to make library
code conditional on which compiler is being used.
b) some of those compilers are out of date and not widely
used anymore.

So what? Why is this a problem?

New libraries don't support old compilers - the don't even check
for these macros - so some macros are getting defined which
aren't being referrerd to - so what?

What is being proposed exactly?

Just eliminating all these old macros from boost config would
break any library which happens to check for them. So I
presume that's not the plan.

Drop Boost support for compiling with compiler X?

What does that mean exactly. It has never been a requirement
that any boost library support an particular compiler - Only that
it be conformant with standard C++. If some library in addition
to works with some old compiler X - so what? How can
we "Drop Support" which we never had in the first place.

As I said, I'm totally not getting what this is about.

Robert Ramey


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net