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