X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/1cced1780ca40b0ab024ff3f5b176903e49b8885..82f4610d753cfd75539f4b7cdfad4296c56c6388:/include/xbt/log.h diff --git a/include/xbt/log.h b/include/xbt/log.h index 79a85846d6..994cb1ef28 100644 --- a/include/xbt/log.h +++ b/include/xbt/log.h @@ -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 +#include /* 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 */, \ @@ -148,8 +160,8 @@ typedef enum { * Defines a new subcategory of the parent. */ #define XBT_LOG_NEW_SUBCATEGORY(catName, parent, desc) \ - extern s_xbt_log_category_t _XBT_LOGV(parent); \ - XBT_LOG_NEW_SUBCATEGORY_helper(catName, parent, desc) \ + XBT_LOG_EXTERNAL_CATEGORY(parent); \ + XBT_LOG_NEW_SUBCATEGORY_helper(catName, parent, desc) \ /** * \ingroup XBT_log @@ -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;