projects
/
urcu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
convert to autotools
[urcu.git]
/
urcu-pointer.h
diff --git
a/urcu-pointer.h
b/urcu-pointer.h
index d3718b020e070d95724db18513c022d784a136a0..948ac423f667b1810f1fccc3b77b40126a428ff1 100644
(file)
--- a/
urcu-pointer.h
+++ b/
urcu-pointer.h
@@
-28,7
+28,7
@@
#include <urcu/compiler.h>
#include <urcu/arch.h>
#include <urcu/compiler.h>
#include <urcu/arch.h>
-#include <urcu/
arch_uatomic
.h>
+#include <urcu/
uatomic_arch
.h>
#ifdef _LGPL_SOURCE
#ifdef _LGPL_SOURCE
@@
-71,24
+71,29
@@
extern void *rcu_dereference_sym(void *p);
extern void *rcu_cmpxchg_pointer_sym(void **p, void *old, void *_new);
#define rcu_cmpxchg_pointer(p, old, _new) \
({ \
extern void *rcu_cmpxchg_pointer_sym(void **p, void *old, void *_new);
#define rcu_cmpxchg_pointer(p, old, _new) \
({ \
+ typeof(*p) _________pold = (old); \
+ typeof(*p) _________pnew = (_new); \
typeof(*p) _________p1 = \
typeof(*p) _________p1 = \
- rcu_cmpxchg_pointer_sym((void **)(p), (old), (_new));\
+ rcu_cmpxchg_pointer_sym((void **)(p), _________pold, \
+ _________pnew); \
(_________p1); \
})
extern void *rcu_xchg_pointer_sym(void **p, void *v);
#define rcu_xchg_pointer(p, v) \
({ \
(_________p1); \
})
extern void *rcu_xchg_pointer_sym(void **p, void *v);
#define rcu_xchg_pointer(p, v) \
({ \
+ typeof(*p) _________pv = (v); \
typeof(*p) _________p1 = \
typeof(*p) _________p1 = \
- rcu_xchg_pointer_sym((void **)(p),
(v));
\
+ rcu_xchg_pointer_sym((void **)(p),
_________pv);
\
(_________p1); \
})
extern void *rcu_set_pointer_sym(void **p, void *v);
#define rcu_set_pointer(p, v) \
({ \
(_________p1); \
})
extern void *rcu_set_pointer_sym(void **p, void *v);
#define rcu_set_pointer(p, v) \
({ \
+ typeof(*p) _________pv = (v); \
typeof(*p) _________p1 = \
typeof(*p) _________p1 = \
- rcu_set_pointer_sym((void **)(p),
(v));
\
+ rcu_set_pointer_sym((void **)(p),
_________pv);
\
})
#endif /* !_LGPL_SOURCE */
})
#endif /* !_LGPL_SOURCE */
This page took
0.030549 seconds
and
4
git commands to generate.