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?
It's a maintenance effort, plus if we have a consensus to drop support for older compilers there are a lot of workarounds which are currently untested frankly, and which can be ripped out and code simplified.
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.
Nothing will break by removing the macros from Boost.Config, they're only defined when the compiler is broken anyway, modern compilers don't define them. There are one or two helper macros such as BOOST_EXPLICIT_TEMPLATE_TYPE which will continue to be defined, but will be undocumented and will always be defined to the "conforming compiler" version.
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.
Well if Boost.Config drops support for compiler X, then in effect so does all of Boost. Not sure if that helps, John.