|
Boost : |
From: Peter Dimov (pdimov_at_[hidden])
Date: 2006-03-13 15:37:46
Howard Hinnant wrote:
> Hello,
>
> I've been investigating some failures on Mac OS X, ppc concerning
> shared_ptr. One of the things that has struck me is that in boost/
> detail/sp_counted_base_gcc_ppc.hpp, the __asm__ block in
> atomic_decrement is decorated with __volatile__, but the __asm__
> blocks in atomic_increment and atomic_conditional_increment are not.
> The failure I'm seeing disappears when the __volatile__ attribute is
> added in the two missing places.
This is, I believe, intentional; the increments shouldn't be
reorder-sensitive, at least in theory. Why/how does it fail?
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk