*
* Creates a new subcategory of the root category.
*/
-#define XBT_LOG_NEW_CATEGORY(catName,desc) XBT_LOG_NEW_SUBCATEGORY_helper(catName, XBT_LOG_ROOT_CAT, desc)
+
+#if (defined(_WIN32) && !defined(DLL_STATIC))
+# define XBT_LOG_NEW_CATEGORY(catName,desc) \
+ XBT_EXPORT_NO_IMPORT(s_xbt_log_category_t) _XBT_LOGV(catName) = { \
+ 0, 0, 0, \
+ #catName, xbt_log_priority_uninitialized, 1, \
+ 0, 1 \
+ }
+#else
+# define XBT_LOG_NEW_CATEGORY(catName,desc) XBT_LOG_NEW_SUBCATEGORY_helper(catName, XBT_LOG_ROOT_CAT, desc)
+#endif
/**
* \ingroup XBT_log
const char *fmt,
...) _XBT_GNUC_PRINTF(2,3);
-XBT_PUBLIC(int) _xbt_log_cat_init(e_xbt_log_priority_t priority,
- xbt_log_category_t category);
+XBT_PUBLIC(int) _xbt_log_cat_init(xbt_log_category_t category,
+ e_xbt_log_priority_t priority);
extern XBT_IMPORT_NO_EXPORT(s_xbt_log_category_t) _XBT_LOGV(XBT_LOG_ROOT_CAT);
(priority >= XBT_LOG_STATIC_THRESHOLD \
&& priority >= catv.threshold \
&& (catv.threshold != xbt_log_priority_uninitialized \
- || _xbt_log_cat_init(priority, &catv)) )
+ || _xbt_log_cat_init(&catv, priority)) )
/*
* Internal Macros