gnu.ver: Spell out exact signatures for atomic access functions.

2006-08-30  Benjamin Kosnik  <bkoz@redhat.com>
            Richard Guenther  <rguenther@suse.de>
	
	* config/abi/pre/gnu.ver: Spell out exact signatures for atomic
	access functions.

	* include/bits/atomicity.h (__atomic_add_dispatch): Remove
	volatile qualification for _Atomic_word argument.
	(__atomic_add_single): Same.
	(__exchange_and_add_dispatch): Same.
	(__exchange_and_add_single): Same.
	

Co-Authored-By: Richard Guenther <rguenther@suse.de>

From-SVN: r116584
This commit is contained in:
Benjamin Kosnik 2006-08-30 09:39:45 +00:00 committed by Benjamin Kosnik
parent c87555d6a6
commit b93d5ca9df
3 changed files with 21 additions and 8 deletions

View File

@ -1,3 +1,15 @@
2006-08-30 Benjamin Kosnik <bkoz@redhat.com>
Richard Guenther <rguenther@suse.de>
* config/abi/pre/gnu.ver: Spell out exact signatures for atomic
access functions.
* include/bits/atomicity.h (__atomic_add_dispatch): Remove
volatile qualification for _Atomic_word argument.
(__atomic_add_single): Same.
(__exchange_and_add_dispatch): Same.
(__exchange_and_add_single): Same.
2006-08-29 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random (subtract_with_carry_01<>::_M_initialize_npows):

View File

@ -378,8 +378,8 @@ GLIBCXX_3.4 {
# __gnu_cxx::__atomic_add
# __gnu_cxx::__exchange_and_add
_ZN9__gnu_cxx12__atomic_add*;
_ZN9__gnu_cxx18__exchange_and_add*;
_ZN9__gnu_cxx12__atomic_addEPVii;
_ZN9__gnu_cxx18__exchange_and_addEPVii;
# debug mode
_ZN10__gnu_norm15_List_node_base4hook*;

View File

@ -60,7 +60,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
#endif
static inline _Atomic_word
__exchange_and_add_single(volatile _Atomic_word* __mem, int __val)
__exchange_and_add_single(_Atomic_word* __mem, int __val)
{
_Atomic_word __result = *__mem;
*__mem += __val;
@ -68,12 +68,12 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
}
static inline void
__atomic_add_single(volatile _Atomic_word* __mem, int __val)
__atomic_add_single(_Atomic_word* __mem, int __val)
{ *__mem += __val; }
static inline _Atomic_word
__attribute__ ((__unused__))
__exchange_and_add_dispatch(volatile _Atomic_word* __mem, int __val)
__exchange_and_add_dispatch(_Atomic_word* __mem, int __val)
{
#ifdef __GTHREADS
if (__gthread_active_p())
@ -87,7 +87,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
static inline void
__attribute__ ((__unused__))
__atomic_add_dispatch(volatile _Atomic_word* __mem, int __val)
__atomic_add_dispatch(_Atomic_word* __mem, int __val)
{
#ifdef __GTHREADS
if (__gthread_active_p())
@ -101,8 +101,9 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
_GLIBCXX_END_NAMESPACE
// Even if the CPU doesn't need a memory barrier, we need to ensure that
// the compiler doesn't reorder memory accesses across the barriers.
// Even if the CPU doesn't need a memory barrier, we need to ensure
// that the compiler doesn't reorder memory accesses across the
// barriers.
#ifndef _GLIBCXX_READ_MEM_BARRIER
#define _GLIBCXX_READ_MEM_BARRIER __asm __volatile ("":::"memory")
#endif