Boost logo

Boost :

Subject: [boost] Boost.Build requirements to exclude GCC 5
From: Niall Douglas (s_sourceforge_at_[hidden])
Date: 2019-01-14 20:34:53


Outcome is now into Boost, and is being tested nightly:

Docs in BoostDoc theme:
https://www.boost.org/doc/libs/develop/libs/outcome/doc/html/index.html

Regression matrix:
https://www.boost.org/development/tests/develop/developer/outcome.html

One problem is how to exclude from testing GCC 5 which Outcome cannot
support due to GCC 5's incorrect parsing of variable templates in nested
template classes [1], so I need some sort of Boost.Build project
requirement which explicitly excludes GCC 5.

Unfortunately, GCC 5 appears to Boost.Config as fully implementing C++
14, so this is not straightforward.

What might work is to specify a requirement for one of the library items
at https://github.com/boostorg/config/blob/develop/checks/Jamfile.v2
which we know for a fact libstdc++ 5 does not implement, but libstdc++ 6
does. However, clang with libstdc++ 5 would then be excluded
incorrectly, as clang does not have this parsing bug.

I guess ideally speaking Boost.Config gains a new test testing for this
specific compiler parsing bug. But it seems a bit much to ask for this
just for Outcome.

Guidance is sought!

Niall

[1]:
https://www.boost.org/development/tests/develop/developer/output/teeks99-02-dg5-Docker-64on64-boost-bin-v2-libs-outcome-test-comparison-test-gcc-5~c++14-debug-threading-multi-visibility-hidden.html


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk