PR libstdc++/51798 continued
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 13 Feb 2012 21:30:31 +0000 (21:30 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 13 Feb 2012 21:30:31 +0000 (21:30 +0000)
commit49ba6a35776ad54d2b9be833992b49454a09baac
tree840fce549883497ba5e22c723942237b1faa64ab
parent533ae4c77118bd0207bdfe2803dce26cc284b8ad
PR libstdc++/51798 continued
* include/bits/shared_ptr_base.h
(_Sp_counted_base<_S_atomic>::_M_add_ref_lock): Hoist initial load
outside compare_exchange loop.
* include/tr1/shared_ptr.h: Same.
* include/parallel/compatibility.h (__compare_and_swap_32): Use strong
version of compare_exchange.
(__compare_and_swap_64): Same.
* include/profile/impl/profiler_state.h (__gnu_profile::__turn): Same.
* libsupc++/guard.cc (__cxa_guard_acquire): Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@184171 138bc75d-0d04-0410-961f-82ee72b054a4
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/shared_ptr_base.h
libstdc++-v3/include/parallel/compatibility.h
libstdc++-v3/include/profile/impl/profiler_state.h
libstdc++-v3/include/tr1/shared_ptr.h
libstdc++-v3/libsupc++/guard.cc