Subject: Re: [boost] [container][interprocess][intrusive][move] Removing support for old compilers
From: Edward Diener (eldiener_at_[hidden])
Date: 2018-10-01 15:46:00
On 10/1/2018 9:58 AM, Ion GaztaÃ±aga via Boost wrote:
> My libraries have supported quite old compilers, starting from Visual
> 2003 and GCC 3.4 and I'm asking for feedback before I start dropping old
> compilers. The number of supported plus locally+regression tested
> versions has increased a lot these years and that's a lot of work with
> reduced benefits.
> I run locally for:
> - From Mingw GCC 3.4 to GCC 8.1, all released minor versions (combining
> - From MSVC 7.1 to MSVC 14.1, all released versions (default language
> I also run boost regression tests for many of those compilers (see
> "igaztanaga-*" runners in
> The number of supported and tested compilers is now unmanageable for me
> as many of those have specific warnings/bugs that I try to fix. So I was
> thinking about reducing that list a bit dropping support for the oldest
> ones and replacing them with recent GCC/Clang from WSL (Windows
> Subsystem for Linux).
> My first idea is to drop anything older than 10 years, which means that
> the minimum will be MSVC 9.0 and GCC 4.3 (both released in 2008).
> I've reviewed some popular long support Linux distributions:
> -> RHEL 6 uses GCC 4.4.
> -> SUSE Linux Enterprise Server 11 Service Pack 4 (SP4) uses GCC 4.3
> Microsoft no longer supports Visual 2008 (support ended on April 2018)
> but I can continue compiling and testing it at least for another year.
> Note that my libraries will continue support for -std=C++03, but I will
> not find workarounds or fixes for old GCC and MSVC versions.
> Thoughts, problems, comments?
I do not think supporting gcc versions before 4.8 is really necessary.
Gcc has put out various releases of versions 5, 6, 7, and now 8.1 since
then and I can hardly imagine anyone sticking to some version below 4.8
with all those releases. The first mingw-64/gcc version supported is 4.8
and that is good enough for me as it seems to work decently.
With VC++ anything before vs2008 is unnecessary and even vs2008 itself
is problematical, even though PP and VMD still "support" it, but I am
glad to hear that supported ended in April of this year. Even VS2010 has
some serious problems, so I could see just supporting from VS2012 on up
at the very minimum.
I would not worry much about dropping these older compilers. Nobody
should really be using them anymore in realistic C++ programming
environments. You sight RHEL6 but the vast majority of RHEL users are
probably on some release of RHEL7 by now, which CentOS7 has long shown
me to be very solid. Also SUSE has gone past version 11 a long time ago,
with many new releases ( I occasionally run the latest OpenSuse 15 on my
desktop ), and is also a very solid Linux distro, so I would be
surprised if there are many users of such an old release.
I do not think it is Boost's job to support older releases "forever",
especially given the many and better newer releases of gcc, VC++, and
clang, among others.
As far as c++03 is concerned I have stated my opinion that if more
modern features of c++11 do not bring any advantage for a library there
is not reason to upgrade just for the sake of supporting a higher c++
standard mode as long as higher modes work without problems, but I do
not think it is necessary to test at the c++03 level anymore.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk