-#define rcu_set_pointer(p, v) \
- rcu_set_pointer_sym((void **)(p), (v))
-
-extern void *rcu_publish_content_sym(void **p, void *v);
-#define rcu_publish_content(p, v) \
- rcu_publish_content_sym((void **)(p), (v))
-
-extern void *rcu_assign_pointer_sym(void **p, void *v);
+#define rcu_set_pointer(p, v) \
+ do { \
+ __typeof__(*(p)) _________pv = (v); \
+ (void) rcu_set_pointer_sym(URCU_FORCE_CAST(void **, p), \
+ _________pv); \
+ } while (0)