35#define _RWSTD_NO_CHAR_ATOMIC_OPS
36#define _RWSTD_NO_SHORT_ATOMIC_OPS
37#define _RWSTD_NO_LLONG_ATOMIC_OPS
45int __rw_atomic_xchg32 (
int*,
int);
46int __rw_atomic_add32 (
int*,
int);
48# if defined (__sparcv9) || defined (__sparcv9__)
50long __rw_atomic_xchg64 (
long*,
long);
51long __rw_atomic_add64 (
long*,
long);
59__rw_atomic_preincrement (
int &__x,
bool)
62 return __rw_atomic_add32 (&__x, 1);
67__rw_atomic_preincrement (
unsigned &__x,
bool)
75__rw_atomic_predecrement (
int &__x,
bool)
78 return __rw_atomic_add32 (&__x, -1);
83__rw_atomic_predecrement (
unsigned &__x,
bool)
91__rw_atomic_exchange (
int &__x,
int __y,
bool)
94 return __rw_atomic_xchg32 (&__x, __y);
99__rw_atomic_exchange (
unsigned &__x,
unsigned __y,
bool)
106# if _RWSTD_INT_SIZE < _RWSTD_LONG_SIZE
109__rw_atomic_preincrement (
long &__x,
bool)
112 return __rw_atomic_add64 (&__x, 1);
117__rw_atomic_preincrement (
unsigned long &__x,
bool)
125__rw_atomic_predecrement (
long &__x,
bool)
128 return __rw_atomic_add64 (&__x, -1);
133__rw_atomic_predecrement (
unsigned long &__x,
bool)
141__rw_atomic_exchange (
long &__x,
long __y,
bool)
144 return __rw_atomic_xchg64 (&__x, __y);
149__rw_atomic_exchange (
unsigned long &__x,
unsigned long __y,
bool)
157# define _RWSTD_NO_LONG_ATOMIC_OPS
#define _RWSTD_REINTERPRET_CAST(T, x)
#define _RWSTD_STATIC_CAST(T, x)
#define _RWSTD_NAMESPACE(name)
#define _RWSTD_COMPILE_ASSERT(const_expr)