From bf943619b10b355573409f3f280d260be6cd6dd6 Mon Sep 17 00:00:00 2001 From: paolo Date: Fri, 13 Aug 2010 11:48:34 +0000 Subject: [PATCH] 2010-08-12 Paolo Carlini * src/ios_init.cc (ios_base::Init::~Init): Add back semicolon at the end of the _GLIBCXX_SYNCHRONIZATION_HAPPENS* macros, removed by mistake. * include/tr1_impl/boost_sp_counted_base.h: Likewise. * include/ext/rc_string_base.h: Likewise. * include/bits/locale_classes.h: Likewise. * include/bits/basic_string.h: Likewise. * include/bits/ios_base.h: Likewise. * include/bits/c++config: Adjust comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163223 138bc75d-0d04-0410-961f-82ee72b054a4 --- libstdc++-v3/ChangeLog | 12 ++++++++++++ libstdc++-v3/include/bits/basic_string.h | 4 ++-- libstdc++-v3/include/bits/c++config | 4 ++-- libstdc++-v3/include/bits/ios_base.h | 4 ++-- libstdc++-v3/include/bits/locale_classes.h | 8 ++++---- libstdc++-v3/include/ext/rc_string_base.h | 4 ++-- libstdc++-v3/include/tr1_impl/boost_sp_counted_base.h | 12 ++++++------ libstdc++-v3/src/ios_init.cc | 4 ++-- 8 files changed, 32 insertions(+), 20 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index f133c0a..f7d66a4 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,15 @@ +2010-08-13 Paolo Carlini + + * src/ios_init.cc (ios_base::Init::~Init): Add back semicolon + at the end of the _GLIBCXX_SYNCHRONIZATION_HAPPENS_* macros, + removed by mistake. + * include/tr1_impl/boost_sp_counted_base.h: Likewise. + * include/ext/rc_string_base.h: Likewise. + * include/bits/locale_classes.h: Likewise. + * include/bits/basic_string.h: Likewise. + * include/bits/ios_base.h: Likewise. + * include/bits/c++config: Adjust comment. + 2010-08-12 Kostya Serebryany Paolo Carlini diff --git a/libstdc++-v3/include/bits/basic_string.h b/libstdc++-v3/include/bits/basic_string.h index 74820eb..89004f7 100644 --- a/libstdc++-v3/include/bits/basic_string.h +++ b/libstdc++-v3/include/bits/basic_string.h @@ -234,11 +234,11 @@ _GLIBCXX_BEGIN_NAMESPACE(std) #endif { // Be race-detector-friendly. For more info see bits/c++config. - _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(&this->_M_refcount) + _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(&this->_M_refcount); if (__gnu_cxx::__exchange_and_add_dispatch(&this->_M_refcount, -1) <= 0) { - _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(&this->_M_refcount) + _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(&this->_M_refcount); _M_destroy(__a); } } diff --git a/libstdc++-v3/include/bits/c++config b/libstdc++-v3/include/bits/c++config index fef6933..19b55bc 100644 --- a/libstdc++-v3/include/bits/c++config +++ b/libstdc++-v3/include/bits/c++config @@ -71,10 +71,10 @@ // current implementation of the library) is atomic reference counting: // void _M_remove_reference() // { -// _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(&this->_M_refcount) +// _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(&this->_M_refcount); // if (__gnu_cxx::__exchange_and_add_dispatch(&this->_M_refcount, -1) <= 0) // { -// _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(&this->_M_refcount) +// _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(&this->_M_refcount); // _M_destroy(__a); // } // } diff --git a/libstdc++-v3/include/bits/ios_base.h b/libstdc++-v3/include/bits/ios_base.h index 6cca991..6749a73 100644 --- a/libstdc++-v3/include/bits/ios_base.h +++ b/libstdc++-v3/include/bits/ios_base.h @@ -476,11 +476,11 @@ _GLIBCXX_BEGIN_NAMESPACE(std) _M_remove_reference() { // Be race-detector-friendly. For more info see bits/c++config. - _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(&_M_refcount) + _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(&_M_refcount); int __res = __gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1); if (__res == 0) { - _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(&_M_refcount) + _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(&_M_refcount); } return __res; } diff --git a/libstdc++-v3/include/bits/locale_classes.h b/libstdc++-v3/include/bits/locale_classes.h index c519f35..8a846bc 100644 --- a/libstdc++-v3/include/bits/locale_classes.h +++ b/libstdc++-v3/include/bits/locale_classes.h @@ -403,10 +403,10 @@ _GLIBCXX_BEGIN_NAMESPACE(std) _M_remove_reference() const throw() { // Be race-detector-friendly. For more info see bits/c++config. - _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(&_M_refcount) + _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(&_M_refcount); if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1) { - _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(&_M_refcount) + _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(&_M_refcount); __try { delete this; } __catch(...) @@ -512,10 +512,10 @@ _GLIBCXX_BEGIN_NAMESPACE(std) _M_remove_reference() throw() { // Be race-detector-friendly. For more info see bits/c++config. - _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(&_M_refcount) + _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(&_M_refcount); if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1) { - _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(&_M_refcount) + _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(&_M_refcount); __try { delete this; } __catch(...) diff --git a/libstdc++-v3/include/ext/rc_string_base.h b/libstdc++-v3/include/ext/rc_string_base.h index 32c9d38..9831037 100644 --- a/libstdc++-v3/include/ext/rc_string_base.h +++ b/libstdc++-v3/include/ext/rc_string_base.h @@ -201,12 +201,12 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) { // Be race-detector-friendly. For more info see bits/c++config. _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(&_M_rep()->_M_info. - _M_refcount) + _M_refcount); if (__exchange_and_add_dispatch(&_M_rep()->_M_info._M_refcount, -1) <= 0) { _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(&_M_rep()->_M_info. - _M_refcount) + _M_refcount); _M_rep()->_M_destroy(_M_get_allocator()); } } // XXX MT diff --git a/libstdc++-v3/include/tr1_impl/boost_sp_counted_base.h b/libstdc++-v3/include/tr1_impl/boost_sp_counted_base.h index a995df5..11a2d05 100644 --- a/libstdc++-v3/include/tr1_impl/boost_sp_counted_base.h +++ b/libstdc++-v3/include/tr1_impl/boost_sp_counted_base.h @@ -140,10 +140,10 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 _M_release() // nothrow { // Be race-detector-friendly. For more info see bits/c++config. - _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(&_M_use_count) + _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(&_M_use_count); if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, -1) == 1) { - _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(&_M_use_count) + _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(&_M_use_count); _M_dispose(); // There must be a memory barrier between dispose() and destroy() // to ensure that the effects of dispose() are observed in the @@ -156,11 +156,11 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 } // Be race-detector-friendly. For more info see bits/c++config. - _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(&_M_weak_count) + _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(&_M_weak_count); if (__gnu_cxx::__exchange_and_add_dispatch(&_M_weak_count, -1) == 1) { - _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(&_M_weak_count) + _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(&_M_weak_count); _M_destroy(); } } @@ -174,10 +174,10 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 _M_weak_release() // nothrow { // Be race-detector-friendly. For more info see bits/c++config. - _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(&_M_weak_count) + _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(&_M_weak_count); if (__gnu_cxx::__exchange_and_add_dispatch(&_M_weak_count, -1) == 1) { - _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(&_M_weak_count) + _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(&_M_weak_count); if (_Mutex_base<_Lp>::_S_need_barriers) { // See _M_release(), diff --git a/libstdc++-v3/src/ios_init.cc b/libstdc++-v3/src/ios_init.cc index 209a324..caf25ed 100644 --- a/libstdc++-v3/src/ios_init.cc +++ b/libstdc++-v3/src/ios_init.cc @@ -123,10 +123,10 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ios_base::Init::~Init() { // Be race-detector-friendly. For more info see bits/c++config. - _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(&_S_refcount) + _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(&_S_refcount); if (__gnu_cxx::__exchange_and_add_dispatch(&_S_refcount, -1) == 2) { - _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(&_S_refcount) + _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(&_S_refcount); // Catch any exceptions thrown by basic_ostream::flush() __try { -- 2.7.4