Subject: Re: [boost] [config] [atomic] Problem with placement of BOOST_ALIGNMENT - requesting opinions/suggestions
From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2017-02-27 23:10:21
On 02/28/17 00:39, Groke, Paul via Boost wrote:
> Andrey Semashev wrote:
>> This makes the compiler incompatible with the current semantics of
>> BOOST_ALIGNMENT. You probably need to revise the changes made in the
>> recent Boost.Config PR regarding BOOST_ALIGNMENT. Please, prepare an
>> updating PR for Boost.Config.
> Yes, I will. Should I undo the "make BOOST_ALIGNMENT definable in the
> compiler header" part (the "escape") as well, or just the definition of
> BOOST_ALIGNMENT in the header for the z/OS compiler?
Thanks. I'm ok if the escape is left as is now.
> BTW: Does anyone know of any other compilers that don't support
> BOOST_ALIGNMENT-style specifications for variables, but do support
> BOOST_ALIGNMENT-style alignment specifications for types?
Umm, no, I can't remember any other compilers with such problems. But
then I don't work with many compilers besides the "usual" ones.
> Thanks! IMO that's the best immediate solution. The z compiler indeed
> has an intrinsic for the z/Arch's "double-width CAS" instruction, which
> would allow 128 bit atomics in 64 bit mode. But we don't need it.
> And since there are plenty platforms that don't support double-width CAS
> in 64 bit mode, not having it on z either should be acceptable.
Ok, that's a good starting point. However, I think DCAS is used in
Boost.Lockfree, and maybe somewhere else, so you may want to revisit
this solution later.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk