Boost logo

Boost :

Subject: Re: [boost] Notice: Boost.Atomic (atomic operations library)
From: Mikael Olenfalk (mikael.olenfalk_at_[hidden])
Date: 2009-12-01 03:50:48

Hello Helge,

I am trying to use Boost.Atomic in my project but am experiencing the
following two problems:

  - boost/atomic/memory_order.hpp: enum memory_order is redeclared
from boost/memory_order.hpp (1.37)
      + however boost/memory_order.hpp does not define
memory_order_consume, from a quick glance however that enum value
         does not seem to be used (it appears in some switch
statements but only as a fallthrough) so I simply removed
         boost/atomic/memory_order.hpp and removed all uses of

  - boost::atomic<T>::atomic() and boost::atomic<T>::atomic(T v)
declare the variable "verify_valid_atomic_integral" but never use it
    which breaks -Werror
      + to fix this I simply added the line
"(void)verify_valid_atomic_integral;" to both constructors

I have not tested the changes, beyond testing that it compiles. A
patch is attached.

With kind regards,

Mikael Olenfalk

On Sun, Nov 29, 2009 at 11:49 PM, Helge Bahmann <hcb_at_[hidden]> wrote:
> Hello,
> as promised I have started extracting an atomic operations library. Current
> state is available at:
> It implements boost::atomic<TYPE> which faithfully mimics std::atomic<TYPE> as
> specified in the C++0x draft standard. As allowed by the standard, operations
> transparently fall back to locking when the underlying architecture does not
> support the requested operation, so the library already contains a "fallback"
> implementation that works an all platforms (using mutex from boost::thread).
> It currently natively supports gcc/x86, gcc/powerpc and gcc/alpha (I can vouch
> for the correctness of the implementations on these targets). It contains
> some entirely untested support for building implementations from CAS
> operations on other systems (e.g. _InterlockedCompareExchange on win), so I
> would greatly appreciate any feedback if it works/doesn't on any particular
> platform.
> There is some preliminary documentation, but not in boostdoc format -- after
> unsuccessfully struggling with bjam/boostbook & friends for a few hours I
> simply gave up and reverted to trusty old doxygen :(
> Is there any step-by-step guide on how to create, build and document a new
> library? I could really use that as the boost build and documentation system
> is pretty alien to an autotools-accustomed guy like me.
> Best regards
> Helge
> _______________________________________________
> Unsubscribe & other changes:

Boost list run by bdawes at, gregod at, cpdaniel at, john at