Subject: Re: [boost] [container][interprocess][intrusive][move] Removing support for old compilers
From: Peter Dimov (lists_at_[hidden])
Date: 2018-10-01 17:51:40
John Maddock wrote:
> With respect to older compilers, it's also worth asking what kind of
> support we should expect - for example gcc-4.4 is a pretty reasonable
> C++03 compiler, but personally I refuse to continue to support C++0x mode
> when that pre-dates the standard and varies from it quite considerably.
> 4.6 and 4.7 also have enough foibles in C++0x mode to require a fair
> number of workarounds, but once we get to 4.8 the compiler is good enough
> not to require too many herculean efforts to support.
As I said in my other message, what I consider reasonable is for things that
used to work to remain working. So if a library used to work with g++ 4.4
cxxstd=0x, we should try to maintain it in a working condition, but if it
never worked, there is no point in expending effort to make it work.
Pure backward compatibility, in other words.
In practice breakage occurs when one does "#if this C++11 feature is
supported, do that", and gcc 4.4 (or 4.6) advertises support for this C++11
feature, but the newly introduced code doesn't work there. This is easy
enough to fix as long as someone notices. (The case on earlier MSVCs is
similar because they introduced support for C++11 features in a
counter-intuitive order, for instance <tuple> before variadic templates and
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk