$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] BOOST_NO_CXX11_ATOMIC?
From: Peter Dimov (lists_at_[hidden])
Date: 2013-11-30 07:48:06
tim wrote:
> in my experience compilers may provide the <atomic> header without fully
> implementing its content:
>
> * some gcc versions only implement atomic<> for integral types, but not 
> for structs
>
> * libc++'s atomic<> for structs is broken if the struct has a constructor 
> (showstopper for boost.lockfree)
That's not hard to address. We just need two macros, 
BOOST_NO_CXX11_ATOMIC_SCALARS and BOOST_NO_CXX11_ATOMIC_STRUCTS, unless of 
course you really meant integral types and pointers don't work, in which 
case it should be BOOST_NO_CXX11_ATOMIC_INTEGRALS, but I doubt it. (Scalars 
is not quite correct as well, because it includes floating point types and 
enums, which also may not work on some gcc versions, I don't know. Atomic 
floats or enums are rarely used in practice so it may be moot.)