Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[From Arnaud Giersch] In standard C, we are allowed to initialize a variable with...
[simgrid.git] / include / xbt / log.h
index 1502558..1032716 100644 (file)
@@ -92,10 +92,12 @@ SG_BEGIN_DECL()
 /* The root of the category hierarchy. */
 #define XBT_LOG_ROOT_CAT   root
 
-/* In strict ansi C, we are not allowed to initialize a variable with
- * a non-constant value. But the whole tree of categories is
- * connected by setting the address of the parent category as a field
- * of the child one.
+/* The whole tree of categories is connected by setting the address of
+ * the parent category as a field of the child one.
+ *
+ * In strict ansi C, we are allowed to initialize a variable with "a
+ * pointer to an lvalue designating an object of static storage
+ * duration" [ISO/IEC 9899:1999, Section 6.6].
  * 
  * Unfortunately, Visual C builder does not target any standard
  * compliance, and C99 is not an exception to this unfortunate rule.
@@ -110,7 +112,7 @@ SG_BEGIN_DECL()
  * you don't want to see your child category become a child of root
  * directly.
  */
-#if defined(__STRICT_ANSI__) || defined(_MSC_VER)
+#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)
 #else
@@ -240,7 +242,7 @@ XBT_PUBLIC(void) xbt_log_control_set(const char *cs);
 /*
  * Do NOT access any members of this structure directly. FIXME: move to private?
  */
-#ifdef WIN32
+#ifdef _XBT_WIN32
 #define XBT_LOG_BUFF_SIZE  16384        /* Size of the static string in which we build the log string */
 #else
 #define XBT_LOG_BUFF_SIZE 2048  /* Size of the static string in which we build the log string */
@@ -265,7 +267,7 @@ XBT_PUBLIC(void) xbt_log_control_set(const char *cs);
        int lineNum;
        va_list ap;
        va_list ap_copy;         /* need a copy to launch dynamic layouts when the static ones overflowed */
-#ifdef WIN32
+#ifdef _XBT_WIN32
        char *buffer;
 #else
        char buffer[XBT_LOG_BUFF_SIZE];
@@ -388,7 +390,7 @@ XBT_PUBLIC_DATA(s_xbt_log_category_t) _XBT_LOGV(XBT_LOG_ROOT_CAT);
  * code. 
  * Setting the LogEvent's valist member is done inside _log_logEvent.
  */
-#ifdef WIN32
+#ifdef _XBT_WIN32
 #define _XBT_LOG_PRE(catv, priority) do {                       \
      if (_XBT_LOG_ISENABLEDV(catv, priority)) {                  \
          s_xbt_log_event_t _log_ev =                             \