On 2/11/2018 3:32 PM, Richard Hodges via Boost wrote:
Boost would basically be saying to end-users, if you are using such-and-such a library we can no longer test it in C++03 mode.
Compiler vendors are not going to focus on improving legacy support for outdated standards. Why should boost? I don't see any new web programs being written in javascript version 3, on node v1, targeting an IE 5 client. Why should people who insist on doing that in c++ be supported? It just wastes everyone else's time.
The message should be, "upgrade your compiler, or get out of the way. You're holding everyone else up with your buggy old non-conforming compiler."
I have seen some lame excuses as to why people can't (won't) upgrade, and that's fine, if people are happy with legacy compilers then presumably they're happy with legacy versions of libraries. Let them remain on boost 1.66.
All this legacy support simply clutters up boost and makes it unnecessarily complicated.
Arguably, boost has more market penetration than any one compiler. If word gets around that a vendor's compiler is not compatible with boost, that vendor is at risk of people dropping their garbage compiler like a hot stone. This is in reality no different to being incompatible with the standard library. It would be commercial suicide. They will fix their compilers rather than lose market share.
c++ needs to move forward. Slavish devotion to backwards compatibility is a burden it can not afford.
Thee are two completely different things here when discussing C++03 versus C++11 on up. They are: 1) Should Boost support its libraries when end-users compile in C++03 mode ? 2) Should Boost libraries themselves be required to support C++11 in some way, although I am still waiting to understand what that way appears to be from you or others whose rhetoric isn't saying very much to me ? As far as 1) is concerned, I think Boost must consider that this may be disappointing to end-users who still work in applications which do not support C++11 on up compilation. I am not saying you are wrong in your opinion, I am just saying that Boost has to understand what this means to some number of end-users before deciding to go in this direction. As for 2) I see absolutely no practical difference between a library which compiles and works fine in C++11 on up mode, yet uses no construct or library which is part of the C++11 on up standard, and a library which uses some construct or library which is part of the C++11 on up standard, and also works fine when compiled in C++11 on up mode.
R
On 11 February 2018 at 19:36, Edward Diener via Boost
wrote:
On 2/11/2018 8:25 AM, Paul A. Bristow via Boost wrote:
-----Original Message-----
From: Boost [mailto:boost-bounces@lists.boost.org] On Behalf Of degski via Boost Sent: 09 February 2018 20:56 To: boost Cc: degski Subject: Re: [boost] C++03 / C++11 compatibility question for compiled libraries
On 9 February 2018 at 14:48, Edward Diener via Boost < boost@lists.boost.org> wrote:
The issue with Boost Test is that if it now requires a C++11 level
compiler to use it, every library which tests itself using Boost Test now requires a C++11 level compiler to run its tests.
So, unless this requirement is lifted, the Rubicon has already been crossed...
In a sense, yes, but Boost.Test C++03 from release 1.66 still exists.
That does little good for testing latest changes.
So those who stay with C++03 won't be able to rely on the tester-runners to test updated libraries, but they can still use Boost.Test C++03 to run the test themselves - if they care.
I would find it a bit alarming if testing a Boost library, which uses Boost Test as its testing infrastructure, can no longer be done in C++03 mode for various compilers. Boost would basically be saying to end-users, if you are using such-and-such a library we can no longer test it in C++03 mode.
Since I offered my solution to this quandary with CXXD, and since I have seen no solution in this thread that is better than what I offered, it is useless for me to comment further about trying to solve the problem. But Boost should understand exactly what they are telling end-users if this change has been made or will be made to Boost Test.
Or they can freeze their Boost version completely continuing with the bugs they know and love.
I suspect the Laggards will just muddle on?
Meanwhile the Modernizers can muddle forward - it clearly isn't straightforward.
I think that the current process is working OK just as Daniel James's updated guidance (good - thanks) suggests
https://beta.boost.org/development/requirements.html#Backwar ds_compatibility
Paul
--- Paul A. Bristow Prizet Farmhouse Kendal UK LA8 8AB +44 (0) 1539 561830
Paul