Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Move LOG_help() from surf_config.c to log.c.
[simgrid.git] / include / xbt / log.h
index c0d9448..26fdf6f 100644 (file)
@@ -113,10 +113,20 @@ typedef enum {
  */
 #if defined(_MSC_VER)
 # define _XBT_LOG_PARENT_INITIALIZER(parent) NULL
-# define XBT_LOG_CONNECT(parent_cat,child)       _XBT_LOGV(child).parent = &_XBT_LOGV(parent_cat)
+# define XBT_LOG_CONNECT(child, parent_cat)                             \
+  if (1) {                                                              \
+    XBT_LOG_EXTERNAL_CATEGORY(child);                                   \
+    XBT_LOG_EXTERNAL_CATEGORY(parent_cat);                              \
+    _XBT_LOGV(child).parent = &_XBT_LOGV(parent_cat);                   \
+  } else ((void)0)
 #else
 # define _XBT_LOG_PARENT_INITIALIZER(parent) &_XBT_LOGV(parent)
-# define XBT_LOG_CONNECT(parent_cat,child)      /*  xbt_assert(_XBT_LOGV(child).parent == &_XBT_LOGV(parent_cat)) */
+# define XBT_LOG_CONNECT(child, parent_cat)                             \
+  if (1) {                                                              \
+    XBT_LOG_EXTERNAL_CATEGORY(child);                                   \
+    XBT_LOG_EXTERNAL_CATEGORY(parent_cat);                              \
+    xbt_assert(_XBT_LOGV(child).parent == &_XBT_LOGV(parent_cat));      \
+  } else ((void)0)
 #endif
 
 /* XBT_LOG_NEW_SUBCATEGORY_helper:
@@ -344,6 +354,13 @@ extern xbt_log_layout_t xbt_log_default_layout;
 /* Public functions again */
 /* ********************** */
 
+/**
+ * \ingroup XBT_log
+ *
+ * Prints some help about using the logging infrastructure.
+ */
+XBT_PUBLIC(void) xbt_log_help(void);
+
 /**
  * \ingroup XBT_log 
  * \param catName name of the category