From: cherierm Date: Tue, 6 Nov 2007 12:30:06 +0000 (+0000) Subject: This change avoid the redefinitions of log categories. To do this, the parent categor... X-Git-Tag: v3.3~843 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/ad1b4e81c8f354761e994fa74f4b5333c916dd71 This change avoid the redefinitions of log categories. To do this, the parent category of a subcategory must be declared extern instead public data (see the definition of the macro XBT_LOG_NEW_SUBCATEGORY). An other change corrects the definition of the macro XBT_LOG_NEW_ROOT_SUBCATEGORY. Indeed, Ansi C (Visual C++ compiler standard language) doesn't allow to initialize a structure during its declaration with non constant values. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@4979 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- diff --git a/include/xbt/log.h b/include/xbt/log.h index 7df75c3aeb..0d5cc244f3 100644 --- a/include/xbt/log.h +++ b/include/xbt/log.h @@ -119,7 +119,7 @@ typedef enum { * Defines a new subcategory of the parent. */ #define XBT_LOG_NEW_SUBCATEGORY(catName, parent, desc) \ - XBT_PUBLIC_DATA(s_xbt_log_category_t) _XBT_LOGV(parent); \ + extern s_xbt_log_category_t _XBT_LOGV(parent); \ XBT_LOG_NEW_SUBCATEGORY_helper(catName, parent, desc) \ /** @@ -161,24 +161,23 @@ typedef enum { /* Damnit Malek. There is no difference between the WINDOWS version and the regular one. * Moreover, portability cruft MUST be kept out of this file. If you need another definition of EXPORT_NO_IMPORT, do so in misc, not here. * Killing your crufty definition once again (I hate dupplicated code). Please do not readd them without a good justification - +*/ #if (defined(_WIN32) && !defined(DLL_STATIC)) # define XBT_LOG_NEW_ROOT_SUBCATEGORY(cname,desc) \ XBT_EXPORT_NO_IMPORT(s_xbt_log_category_t) _XBT_LOGV(cname) = { \ - 0, 0, 0, \ + NULL, NULL, NULL, \ #cname, xbt_log_priority_uninitialized, 1, \ - 0, 0, 1 \ + NULL, NULL, 1 \ } # define XBT_LOG_NEW_DEFAULT_CATEGORY(cname,desc) \ XBT_LOG_NEW_ROOT_SUBCATEGORY(cname,desc); \ XBT_LOG_DEFAULT_CATEGORY(cname) #else - */ # define XBT_LOG_NEW_DEFAULT_CATEGORY(cname,desc) \ XBT_LOG_NEW_CATEGORY(cname,desc); \ XBT_LOG_DEFAULT_CATEGORY(cname) -//#endif +#endif