On 8/26/2018 8:53 AM, Peter Dimov via Boost wrote:
Edward Diener wrote:
My objection to the usual Boost "dropping C++03 support" is that there is absolutely no reason for forcing libraries which do support C++03, while being usable at any higher C++ standard level, to do anything.
Boost dropping C++03 support means just that, we announce that Boost no longer supports C++03. Individual libraries may or may not continue to support it, but f.ex. trying "b2 install" with a C++03 compiler will no longer be expected to work.
What do you mean that it will no longer be "expected to work" with some individual library ? We already have that for plenty of libraries that will not work unless the level of support is C++11 or above. But this is because compile errors will result if you compile the library in C++03 mode. Are you saying that b2 should be changed so that it detects if it is being invoked with a C++ standard C++03 level and will therefore put out a b2 error message instead of continuing ? Even if that were true that will only affect running tests and building docs for such a library if the library is a header-only library, and since the end-user of a distribution hardly needs to build docs it will only affect running tests for a header-only library.
We could then consider building with -std=c++11 by default on g++ 4.8/4.9, and with -std=c++14 by default on g++5 and possibly clang (although clang c++14 doesn't quite work with libstdc++ 4.x so that'd be a problem).
At least that is a practical proposal, but of course does not affect header-only libraries.