PR libstdc++/51798 continued
authorRichard Henderson <rth@redhat.com>
Mon, 13 Feb 2012 21:30:31 +0000 (13:30 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Mon, 13 Feb 2012 21:30:31 +0000 (13:30 -0800)
commitb2cb69647e04765b87f0f1ba9f39b4a353574135
tree840fce549883497ba5e22c723942237b1faa64ab
parent67b977ada8b0fece1138d67d2ebfbf2e9b030d01
PR libstdc++/51798 continued

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.

From-SVN: r184171
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