score: Use void * for some atomic pointer ops

This commit is contained in:
Sebastian Huber
2013-09-03 11:04:33 +02:00
parent 29f7d31782
commit 3bac8a4c40
2 changed files with 26 additions and 25 deletions

View File

@@ -46,7 +46,7 @@ extern "C" {
* @brief Initializes an atomic type value into a atomic object. * @brief Initializes an atomic type value into a atomic object.
* *
* @param object an atomic type pointer of object. * @param object an atomic type pointer of object.
* @param value a value to be stored into object. * @param pointer a pointer to be stored into object.
*/ */
static inline void _Atomic_Init_ulong( static inline void _Atomic_Init_ulong(
volatile Atomic_Ulong *object, volatile Atomic_Ulong *object,
@@ -58,10 +58,10 @@ static inline void _Atomic_Init_ulong(
static inline void _Atomic_Init_ptr( static inline void _Atomic_Init_ptr(
volatile Atomic_Pointer *object, volatile Atomic_Pointer *object,
uintptr_t value void *pointer
) )
{ {
_CPU_atomic_Init_ptr(object, value); _CPU_atomic_Init_ptr(object, pointer);
} }
/** /**
@@ -80,7 +80,7 @@ static inline unsigned long _Atomic_Load_ulong(
return _CPU_atomic_Load_ulong( object, order ); return _CPU_atomic_Load_ulong( object, order );
} }
static inline uintptr_t _Atomic_Load_ptr( static inline void *_Atomic_Load_ptr(
volatile Atomic_Pointer *object, volatile Atomic_Pointer *object,
Atomic_Order order Atomic_Order order
) )
@@ -108,11 +108,11 @@ static inline void _Atomic_Store_ulong(
static inline void _Atomic_Store_ptr( static inline void _Atomic_Store_ptr(
volatile Atomic_Pointer *object, volatile Atomic_Pointer *object,
uintptr_t value, void *pointer,
Atomic_Order order Atomic_Order order
) )
{ {
_CPU_atomic_Store_ptr( object, value, order ); _CPU_atomic_Store_ptr( object, pointer, order );
} }
/** /**
@@ -241,13 +241,13 @@ static inline unsigned long _Atomic_Exchange_ulong(
return _CPU_atomic_Exchange_ulong( object, value, order ); return _CPU_atomic_Exchange_ulong( object, value, order );
} }
static inline uintptr_t _Atomic_Exchange_ptr( static inline void *_Atomic_Exchange_ptr(
volatile Atomic_Pointer *object, volatile Atomic_Pointer *object,
uintptr_t value, void *pointer,
Atomic_Order order Atomic_Order order
) )
{ {
return _CPU_atomic_Exchange_ptr( object, value, order ); return _CPU_atomic_Exchange_ptr( object, pointer, order );
} }
/** /**
@@ -278,13 +278,13 @@ static inline bool _Atomic_Compare_exchange_ulong(
static inline bool _Atomic_Compare_exchange_ptr( static inline bool _Atomic_Compare_exchange_ptr(
volatile Atomic_Pointer *object, volatile Atomic_Pointer *object,
uintptr_t *old_value, void **old_pointer,
uintptr_t new_value, void *new_pointer,
Atomic_Order order_succ, Atomic_Order order_succ,
Atomic_Order order_fail Atomic_Order order_fail
) )
{ {
return _CPU_atomic_Compare_exchange_ptr( object, old_value, new_value, return _CPU_atomic_Compare_exchange_ptr( object, old_pointer, new_pointer,
order_succ, order_fail ); order_succ, order_fail );
} }

View File

@@ -72,7 +72,8 @@ typedef enum {
* @brief atomic data initializer for static initialization. * @brief atomic data initializer for static initialization.
*/ */
#define CPU_ATOMIC_INITIALIZER_ULONG(value) ATOMIC_VAR_INIT(value) #define CPU_ATOMIC_INITIALIZER_ULONG(value) ATOMIC_VAR_INIT(value)
#define CPU_ATOMIC_INITIALIZER_PTR(value) ATOMIC_VAR_INIT(value) #define CPU_ATOMIC_INITIALIZER_PTR(pointer) \
ATOMIC_VAR_INIT((uintptr_t) pointer)
#define CPU_ATOMIC_INITIALIZER_FLAG ATOMIC_FLAG_INIT #define CPU_ATOMIC_INITIALIZER_FLAG ATOMIC_FLAG_INIT
@@ -92,10 +93,10 @@ static inline void _CPU_atomic_Init_ulong(
static inline void _CPU_atomic_Init_ptr( static inline void _CPU_atomic_Init_ptr(
volatile Atomic_Pointer *object, volatile Atomic_Pointer *object,
uintptr_t value void *pointer
) )
{ {
atomic_init(object, value); atomic_init(object, pointer);
} }
/** /**
@@ -114,7 +115,7 @@ static inline unsigned long _CPU_atomic_Load_ulong(
return atomic_load_explicit( object, order ); return atomic_load_explicit( object, order );
} }
static inline uintptr_t _CPU_atomic_Load_ptr( static inline void *_CPU_atomic_Load_ptr(
volatile Atomic_Pointer *object, volatile Atomic_Pointer *object,
Atomic_Order order Atomic_Order order
) )
@@ -142,11 +143,11 @@ static inline void _CPU_atomic_Store_ulong(
static inline void _CPU_atomic_Store_ptr( static inline void _CPU_atomic_Store_ptr(
volatile Atomic_Pointer *object, volatile Atomic_Pointer *object,
uintptr_t value, void *pointer,
Atomic_Order order Atomic_Order order
) )
{ {
atomic_store_explicit( object, value, order ); atomic_store_explicit( object, pointer, order );
} }
/** /**
@@ -275,13 +276,13 @@ static inline unsigned long _CPU_atomic_Exchange_ulong(
return atomic_exchange_explicit( object, value, order ); return atomic_exchange_explicit( object, value, order );
} }
static inline uintptr_t _CPU_atomic_Exchange_ptr( static inline void *_CPU_atomic_Exchange_ptr(
volatile Atomic_Pointer *object, volatile Atomic_Pointer *object,
uintptr_t value, void *pointer,
Atomic_Order order Atomic_Order order
) )
{ {
return atomic_exchange_explicit( object, value, order ); return atomic_exchange_explicit( object, pointer, pointer );
} }
/** /**
@@ -312,14 +313,14 @@ static inline bool _CPU_atomic_Compare_exchange_ulong(
static inline bool _CPU_atomic_Compare_exchange_ptr( static inline bool _CPU_atomic_Compare_exchange_ptr(
volatile Atomic_Pointer *object, volatile Atomic_Pointer *object,
uintptr_t *old_value, void **old_pointer,
uintptr_t new_value, void *new_pointer,
Atomic_Order order_succ, Atomic_Order order_succ,
Atomic_Order order_fail Atomic_Order order_fail
) )
{ {
return atomic_compare_exchange_strong_explicit( object, old_value, return atomic_compare_exchange_strong_explicit( object, old_pointer,
new_value, order_succ, order_fail ); new_pointer, order_succ, order_fail );
} }
static inline void _CPU_atomic_Flag_clear( static inline void _CPU_atomic_Flag_clear(