The API for uatomic is now defined under `urcu/uatomic/api.h', which is
included by `urcu/uatomic.h'. All definitions are macros that dispatch
to their `_mo' counterpart. The default argument is set for the memory
order for backward compatibility.
This means that only the `uatomic_*_mo' must be implemented either
generically or by architecture.
This also remove the C11 compatibility layer in x86. Indeed, since RMW
operations are always guaranteed to have a full fence, then it is safe
to ignore the memory ordering. This is because all used sync operations
are documented as been "considered as a full barrier". See
https://gcc.gnu.org/onlinedocs/gcc/_005f_005fsync-Builtins.html.
Change-Id: I6be8c45b1758f268e7406bb17ab0086f9e9f5d4e Signed-off-by: Olivier Dion <odion@efficios.com> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>