Subject: Re: [boost] Boost.Build requirements to exclude GCC 5
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2019-01-14 20:46:46
On 1/14/19 1:34 PM, Niall Douglas via Boost wrote:
> Outcome is now into Boost, and is being tested nightly:
> Docs in BoostDoc theme:
> Regression matrix:
> 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 , 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.
You can use predef for compiler version checks.
> 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.
There's nothing stopping you from writing a check for this bug
obj test_gcc_5_bug : test_gcc_5_bug.cpp ; # fails to compile on gcc 5
... [ check-target-builds test_gcc_5_bug : : <build>no ]
> 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!
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk