#include <urcu/compiler.h>
#include <urcu/arch.h>
#include <urcu/system.h>
-#include <urcu/arch_uatomic.h>
+#include <urcu/uatomic_arch.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
/**
* _rcu_dereference - reads (copy) a RCU-protected pointer to a local variable
if (!__builtin_constant_p(v) || \
((v) != NULL)) \
wmb(); \
- STORE_SHARED(*(p), _________pv); \
+ uatomic_set(p, _________pv); \
})
/**
#define _rcu_assign_pointer(p, v) _rcu_set_pointer(&(p), v)
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _URCU_POINTER_STATIC_H */