X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=src%2Fcommon%2Fmacros.h;h=9637a383013629baf868dfca60dc15a65da05757;hb=1da7b8633e51517a4daf5a0d252595e936084338;hp=0e11d3c7ac2f8179ea98bda74293c91158d6b2c2;hpb=639082d2871a0cd0cca3d77fd72fb51002f0c4bf;p=lttng-tools.git diff --git a/src/common/macros.h b/src/common/macros.h index 0e11d3c7a..9637a3830 100644 --- a/src/common/macros.h +++ b/src/common/macros.h @@ -63,7 +63,7 @@ void *zmalloc(size_t len) #endif #ifndef max_t -#define max_t(type, a, b) ((type) max(a, b)) +#define max_t(type, a, b) max((type) a, (type) b) #endif #ifndef min @@ -74,10 +74,19 @@ void *zmalloc(size_t len) #define LTTNG_PACKED __attribute__((__packed__)) #endif -#ifndef LTTNG_HIDDEN +/* + * LTTNG_HIDDEN: set the hidden attribute for internal functions + * On Windows, symbols are local unless explicitly exported, + * see https://gcc.gnu.org/wiki/Visibility + */ +#if defined(_WIN32) || defined(__CYGWIN__) +#define LTTNG_HIDDEN +#else #define LTTNG_HIDDEN __attribute__((visibility("hidden"))) #endif +#define member_sizeof(type, field) sizeof(((type *) 0)->field) + /* * lttng_strncpy returns 0 on success, or nonzero on failure. * It checks that the @src string fits into @dst_len before performing