#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
#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