Boost logo

Boost :

Subject: Re: [boost] [release] 1.64.0 post-beta merges
From: Rene Rivera (grafikrobot_at_[hidden])
Date: 2017-04-09 02:35:25


On Sat, Apr 8, 2017 at 3:45 PM, Oliver Kowalke via Boost <
boost_at_[hidden]> wrote:

> 2017-04-08 22:35 GMT+02:00 Daniel James via Boost <boost_at_[hidden]>:
>
> > On 8 April 2017 at 21:10, Oliver Kowalke via Boost
> > <boost_at_[hidden]> wrote:
> > >
> > > I could re-write the commit and remove the modified line in
> > > execution_context.hpp
> > > The commit will then contain documetation that explains how to
> > > enable/disable the APIs
> > > with the special boost.build property + modified Jamfiles from the
> > examples.
> > > Could I get then the OK to merge?
> >
> > I honestly don't know. It looks like '<context-switch>ec' is supported
> > in released code, and this might break builds which use that, but then
> > again, it might not, or it might not matter. It really needs someone
> > who understands boost build features to look at it, and that isn't me.
> >
>
> '<context-switch>ec' was wrong, ec must be ec1 and ec2
> <context-switch>ec1 == build with execution_context (v1)
> <context-switch>ec2 == build with execution_context<> (v2)
> <context-switch>cc == build with callcc() (default API)
>
> the commit fixes a problem
>

Here's my take on the overall change <
https://github.com/boostorg/context/commit/9e3f5fdcd9b213213ad7c319cbb96c37be9f80ca>
(that's the right change?)..

Jamfile.v2.. If the context-switch feature existed in a previous release it
would be safer to change it to the values "cc ec ec1 ec2", and make ec and
ec1 be equivalent by setting the same define.

General.. You can't rely on people using Boost Build to build the library.
Hence just documenting "build property ['context-switch=ec1]" etc is not
sufficient for users. But ultimately this is your call as to what you
expect users to do.

execution_context.cpp:
-# if (defined(BOOST_EXECUTION_CONTEXT) && (BOOST_EXECUTION_CONTEXT == 1))
 +# if (BOOST_EXECUTION_CONTEXT == 1)

I would consider that change dangerous. If users are not building with b2
there is a high probability they will not define BOOST_EXECUTION_CONTEXT.
Unless you define it to some default some place I can't immediately see in
that commit.

So I'd say the change is risky. And I would prefer if you find a way to
make it safer.

-- 
-- Rene Rivera
-- Grafik - Don't Assume Anything
-- Robot Dreams - http://robot-dreams.net
-- rrivera/acm.org (msn) - grafikrobot/aim,yahoo,skype,efnet,gmail

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