Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Deactivate this assert again.
[simgrid.git] / include / xbt / log.h
index 79a8584..dbc545a 100644 (file)
@@ -18,7 +18,7 @@
  *     
  *  This is the list of all existing log categories in SimGrid.
  *  This list was automatically extracted from the source code by
- *  the src/xbt_log_extract_hierarchy utility.
+ *  the tools/doxygen/xbt_log_extract_hierarchy.pl utility.
  *     
  *  You can thus be certain that it is uptodate, but it may somehow
  *  lack a final manual touch.
@@ -35,6 +35,7 @@
 
 #include "xbt/misc.h"
 #include <stdarg.h>
+#include <stddef.h>             /* NULL */
 SG_BEGIN_DECL()
 /**\brief Log priorities
  * \ingroup XBT_log
@@ -113,12 +114,22 @@ typedef enum {
  */
 #if defined(_MSC_VER)
 # define _XBT_LOG_PARENT_INITIALIZER(parent) NULL
-# define XBT_LOG_CONNECT(child, parent_cat)             \
-  _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);                   \
+    _xbt_log_cat_init(&_XBT_LOGV(child), xbt_log_priority_uninitialized); \
+  } else ((void)0)
 #else
 # define _XBT_LOG_PARENT_INITIALIZER(parent) &_XBT_LOGV(parent)
 # define XBT_LOG_CONNECT(child, parent_cat)                             \
-  /*  xbt_assert(_XBT_LOGV(child).parent == &_XBT_LOGV(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)); */ \
+    _xbt_log_cat_init(&_XBT_LOGV(child), xbt_log_priority_uninitialized); \
+  } else ((void)0)
 #endif
 
 /* XBT_LOG_NEW_SUBCATEGORY_helper:
@@ -131,6 +142,7 @@ typedef enum {
         NULL /* firstChild */,                          \
        NULL /* nextSibling */,                         \
         #catName,                                       \
+        desc,                                           \
         0 /*initialized */,                             \
         xbt_log_priority_uninitialized /* threshold */, \
         1 /* isThreshInherited */,                      \
@@ -250,6 +262,7 @@ struct xbt_log_category_s {
   xbt_log_category_t firstChild;
   xbt_log_category_t nextSibling;
   const char *name;
+  const char *description;
   int initialized;
   int threshold;
   int isThreshInherited;