X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=src%2Furcu-utils.h;h=af0367516a2bace8624c7f31f8796e69559702df;hb=799d344f0b89f0c3565f54ad740e7964eb75b7d2;hp=eab6212dd61539651aaded7ad747874a6e9d1d92;hpb=99bfa9e9e88b273c5a3134eafb9c31938f3af7d6;p=urcu.git diff --git a/src/urcu-utils.h b/src/urcu-utils.h index eab6212..af03675 100644 --- a/src/urcu-utils.h +++ b/src/urcu-utils.h @@ -23,28 +23,23 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include + #define urcu_stringify(a) _urcu_stringify(a) #define _urcu_stringify(a) #a -/* There is no concept of symbol aliases on MacOS */ -#ifdef __APPLE__ -#define URCU_ATTR_ALIAS(x) -#else -#define URCU_ATTR_ALIAS(x) __attribute__((alias(x))) -#endif - -#ifdef CONFIG_RCU_TLS -#define DEFINE_URCU_TLS_ALIAS_1(type, name, alias) \ - URCU_ATTR_ALIAS(#name) \ - extern type alias - -#else -#define DEFINE_URCU_TLS_ALIAS_1(type, name, alias) \ - URCU_ATTR_ALIAS("*__tls_access_" #name) \ - type *__tls_access_ ## alias() -#endif +#define max_t(type, x, y) \ + ({ \ + type __max1 = (x); \ + type __max2 = (y); \ + __max1 > __max2 ? __max1: __max2; \ + }) -#define DEFINE_URCU_TLS_ALIAS(type, name, alias) \ - DEFINE_URCU_TLS_ALIAS_1(type, name, alias) +#define min_t(type, x, y) \ + ({ \ + type __min1 = (x); \ + type __min2 = (y); \ + __min1 <= __min2 ? __min1: __min2; \ + }) #endif /* _URCU_UTILS_H */