$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2019-07-24 09:39:26
On 7/24/19 12:28 PM, Niall Douglas via Boost wrote:
> On 18/07/2019 23:43, Michael Caisse via Boost wrote:
>> Please download the beta, give it a try, and report any problems you
>> encounter.
> 
> Testing Outcome on MSVC, I get:
> 
> C:\Users\ned\Downloads\boost_1_71_0_b1_rc1\boost_1_71_0\libs\outcome\test>..\..\..\b2
> toolset=msvc-14.0
> Performing configuration checks
> 
>      - default address-model    : 32-bit
>      - default architecture     : x86
>      - !BOOST_COMP_GNUC         : no
>      - BOOST_COMP_GNUC >= 6.0   : no
>      - !BOOST_COMP_CLANG        : no
>      - BOOST_COMP_CLANG >= 4.0  : no
>      - Boost.Config Feature Check: cxx14_variable_templates : yes
>      - Boost.Config Feature Check: cxx14_constexpr : yes
>      - !BOOST_COMP_GNUC         : no
>      - BOOST_COMP_GNUC >= 6.0   : no
>      - !BOOST_COMP_CLANG        : no
>      - BOOST_COMP_CLANG >= 4.0  : no
>      - Boost.Config Feature Check: cxx14_variable_templates : yes
>      - Boost.Config Feature Check: cxx14_constexpr : yes
> ...found 1 target...
> 
> 
> Outcome's Jamfile requires:
> 
> project
>      : requirements
>        [ requires cxx14_variable_templates cxx14_constexpr ]
>        [ predef-require "!BOOST_COMP_GNUC" or "BOOST_COMP_GNUC >= 6.0" ]
>        [ predef-require "!BOOST_COMP_CLANG" or "BOOST_COMP_CLANG >= 4.0" ]
>        <define>BOOST_TEST_MODULE=Outcome
>        <library>../../test/build//boost_unit_test_framework
>      ;
> 
> So, the fact that !BOOST_COMP_GNUC and !BOOST_COMP_CLANG are false on
> MSVC is a problem, the tests won't run on MSVC.
> 
> Yet Outcome works fine for the developer build, as evidenced by the
> regression matrix. So this is a problem affecting this release build ONLY.
> 
> Thoughts?
I've not used predef-require, but you can't compare versions in dotted 
notation in C++ preprocessor. Boost.Predef defines version numbers with 
BOOST_VERSION_NUMBER, so you would compare like this:
   BOOST_COMP_GNUC >= BOOST_VERSION_NUMBER(6, 0, 0)
Also, note that 6.0 is a pre-release version of gcc 6.x. The first 
release version is 6.1.
That said, given that the Boost.Build output above is from MSVC, I'm not 
sure why both !BOOST_COMP_GNUC and !BOOST_COMP_CLANG are "no".