Boost logo

Boost :

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 [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.

You can use predef for compiler version checks.

> What might work is to specify a requirement for one of the library items
> at
> 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!

In Christ,
Steven Watanabe

Boost list run by bdawes at, gregod at, cpdaniel at, john at