-// This code is duplicated to remove one level of indirection, working around a MSVC bug
-// See: http://stackoverflow.com/questions/9183993/msvc-variadic-macro-expansion
-
-# define XBT_CLOG(category, prio, ...) \
- do { \
- if (_XBT_LOG_ISENABLEDV((category), prio)) { \
- s_xbt_log_event_t _log_ev; \
- _log_ev.cat = &(category); \
- _log_ev.priority = (prio); \
- _log_ev.fileName = __FILE__; \
- _log_ev.functionName = _XBT_FUNCTION; \
- _log_ev.lineNum = __LINE__; \
- _xbt_log_event_log(&_log_ev, __VA_ARGS__); \
- } \
- } while (0)
-
-# define XBT_LOG(prio,...) \
- do { \
- if (_XBT_LOG_ISENABLEDV((*_simgrid_log_category__default), prio)) { \
- s_xbt_log_event_t _log_ev; \
- _log_ev.cat = _simgrid_log_category__default; \
- _log_ev.priority = (prio); \
- _log_ev.fileName = __FILE__; \
- _log_ev.functionName = _XBT_FUNCTION; \
- _log_ev.lineNum = __LINE__; \
- _xbt_log_event_log(&_log_ev, __VA_ARGS__); \
- } \
- } while (0)
+#define XBT_CLOG(category, prio, ...) \
+ do { \
+ if (_XBT_LOG_ISENABLEDV((category), (prio))) { \
+ s_xbt_log_event_t _log_ev; \
+ _log_ev.cat = &(category); \
+ _log_ev.priority = (prio); \
+ _log_ev.fileName = __FILE__; \
+ _log_ev.functionName = __func__; \
+ _log_ev.lineNum = __LINE__; \
+ _xbt_log_event_log(&_log_ev, __VA_ARGS__); \
+ } \
+ } while (0)
+
+#define XBT_LOG(prio, ...) XBT_CLOG(*_simgrid_log_category__default, (prio), __VA_ARGS__)
+