Boost logo

Boost :

From: Robert Ramey (ramey_at_[hidden])
Date: 2021-08-11 02:36:11


On 8/8/21 11:32 AM, John Maddock via Boost wrote:
> On 08/08/2021 16:31, Michael Caisse via Boost wrote:
>> On 8/7/21 08:37, Robert Ramey via Boost wrote:
>>> As an aside, let me state that that John Maddock (along with another
>>> select few) is one of the most under appreciated persons in Boost, and
>>> indeed C++.
>>>
>>> Robert Ramey
>> I completely agree!
>>
> Thank you gentlemen.
>
> In the mean time, if you would all like to revert to your more critical
> selves ;)  here's the docs for the proposed addition to Boost.Config:
> https://github.com/boostorg/config/pull/394/files#diff-44c14c3d1351a80ad9f4a528bdef51a45b1ed9e21e760645aa8027a364898a13
>
>
> Note the full PR has failures, which I'll look into later.
>
> Best, John.
>
>

I've looked at this and have a couple of questions:

a) I see BOOST_NO_CXX20_IS_CONSTANT_EVALUATED and presume that's it's
like all the other boost feature macros. So far so good.

This might return true or false independently of the C++ version being
used. That is, I could be compiling with C++14 and the macro might
return true. This might direct the generation of the most optimal code
but that that code might be different depending on the compiler being
tested. I'm concerned about being able to test for
portability/standards conformance. So I'd like to be able to have
BOOST_NO_CXX20_IS_CONSTANT_EVALUATED defined either in accordance with
the standard version or with the actual compiler capability. So I'd run
my tests twice:

1) with the most efficient implementation.
2) with the standards conforming implementation.

Assuming it passes 2) (al be it more slowly) I would know that my
test/application could always be counted on to pass.

I don't know if I explained myself well.

Robert Ramey


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