$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] [config] Positive feature macros, r2
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2018-01-26 17:37:28
AMDG
On 01/26/2018 08:30 AM, Peter Dimov via Boost wrote:
>
> As written, this does not allow the latter. The general case is:
>
> // prefix.hpp:
>
> #if defined(__cpp_foo) && __cpp_foo >= 201400
> # define BOOST_CXX14_FOO
> #endif
>
> // compiler/bar.hpp:
>
> #if __BAR_VERSION__ >= 12 && __BAR_VERSION__ < 18
> // have foo, don't have feature macros yet
> # define BOOST_CXX14_FOO
> #endif
>
> #if __BAR_VERSION__ == 21 && __cplusplus >= 201700
> // bar++ version 21 has a bug in foo in -std=c++17 mode
> # undef BOOST_CXX14_FOO
> #endif
>
> If you define to 0 or 1 in prefix.hpp, the information of whether the
> user overrode is lost, and the compiler-specific config can still stomp
> over the user define.
>
Just apply the defaults after the compiler specific
configuration instead of before, and there's no problem.
In Christ,
Steven Watanabe