# endif
# undef _XBT_NEED_INIT_PRAGMA
-#elif define(_MSC_VER) /* Microsoft Visual Thing */
+#elif defined(_MSC_VER) /* Microsoft Visual Thing */
# define XBT_ATTRIB_PRINTF( format_idx, arg_idx )
# define XBT_ATTRIB_SCANF( format_idx, arg_idx )
# define XBT_ATTRIB_NORETURN __declspec(noreturn)
/*
* Function calling convention (not used for now)
+ * http://unixwiz.net/techtips/win32-callconv.html <-- good documentation
*/
#ifdef _XBT_WIN32
#endif
+#ifdef __ELF__
+#define XBT_PRIVATE __attribute__((visibility("hidden")))
+#else
+#define XBT_PRIVATE
+#endif
+
#ifdef _MSC_VER /* MSVC has no ssize_t, and I fail to use the SSIZE_T declared in BaseTsd.h */
#if defined(_WIN64)
typedef __int64 ssize_t;