Boost logo

Boost :

Subject: Re: [boost] [release/atomic] request permission to merge 86144
From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2013-10-14 21:04:57


On Tuesday 15 October 2013 13:43:57 Gavin Lambert wrote:
> On 15/10/2013 13:06, Quoth Andrey Semashev:
> > However, I would appreciate if you tried out the current trunk sans
> > the commit 86144 to verify it works.
>
> That could be awkward for me at present, but I'll see if I can try the
> 1.55 beta build, which should have the same effect as that commit hasn't
> been merged through yet.

Yes, 1.55 beta will do as well.

> You're right, it looks like the windows.hpp changes have been
> misapplied, due to the changes between 1.54 and 1.55/trunk. (They're
> not *completely* useless, as it still defines a fallback path in case
> eg. BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD64 is not defined on x64 for
> some reason, but as currently that can't happen it's a needless redundancy.)

There is no such configuration, on 64-bit targets all 64-bit intrinsics are
available.

> > That macro is not defined when interlocked.hpp is included. The change to
> > interlocked.hpp is not needed because windows.hpp doesn't use the
> > _InterlockedCompareExchange64 intrinsic to implement cmpxchg8b.
>
> I noticed that, although I'm not entirely sure why it doesn't. Wouldn't
> using the intrinsic be simpler than using the assembly code directly?
> It probably doesn't really matter in the end though, the effect should
> be the same.

The intrinsic is not supported by MSVC 7.1.


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