/* log - a generic logging facility in the spirit of log4j */
-/* Copyright (c) 2004-2011. The SimGrid Team.
+/* Copyright (c) 2004-2014. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
/*
* define NLOG to disable at compilation time any logging request
- * define NDEBUG to disable at compilation time any logging request of priority below INFO
+ * define NDEBUG to disable at compilation time any logging request of priority below VERBOSE
*/
#define _XBT_LOGV_CTOR(cat) _XBT_LOG_CONCAT2(_XBT_LOGV(cat), __constructor__)
#define _XBT_LOG_CONCAT(x, y) x ## y
#define _XBT_LOG_CONCAT2(x, y) _XBT_LOG_CONCAT(x, y)
+/* Apparently, constructor priorities are not supported by gcc on Macs */
+#if __GNUC__ && __APPLE__
+# define _XBT_LOGV_CTOR_ATTRIBUTE
+#else
+# define _XBT_LOGV_CTOR_ATTRIBUTE _XBT_GNUC_CONSTRUCTOR(600)
+#endif
/* The root of the category hierarchy. */
#define XBT_LOG_ROOT_CAT root
* to avoid an extra declaration of root when XBT_LOG_NEW_SUBCATEGORY is called by
* XBT_LOG_NEW_CATEGORY */
#define XBT_LOG_NEW_SUBCATEGORY_helper(catName, parent, desc) \
- XBT_PUBLIC(void) _XBT_LOGV_CTOR(catName)(void) _XBT_GNUC_CONSTRUCTOR(600); \
+ SG_BEGIN_DECL() \
+ XBT_PUBLIC(void) _XBT_LOGV_CTOR(catName)(void) _XBT_LOGV_CTOR_ATTRIBUTE; \
void _XBT_LOGV_CTOR(catName)(void) \
{ \
XBT_LOG_EXTERNAL_CATEGORY(catName); \
_xbt_log_cat_init(&_XBT_LOGV(catName), xbt_log_priority_uninitialized); \
} \
} \
+ SG_END_DECL() \
XBT_EXPORT_NO_IMPORT(s_xbt_log_category_t) _XBT_LOGV(catName) = { \
&_XBT_LOGV(parent), \
NULL /* firstChild */, \
* Indicates which category is the default one.
*/
-#if defined(XBT_LOG_MAYDAY) || defined(SUPERNOVAE_MODE) /*|| defined (NLOG) * turning logging off */
+#if defined(XBT_LOG_MAYDAY) /*|| defined (NLOG) * turning logging off */
# define XBT_LOG_DEFAULT_CATEGORY(cname)
#else
# define XBT_LOG_DEFAULT_CATEGORY(cname) \
- static xbt_log_category_t _XBT_LOGV(default) _XBT_GNUC_UNUSED = &_XBT_LOGV(cname)
+ static xbt_log_category_t _XBT_LOGV(default) _XBT_GNUC_UNUSED = &_XBT_LOGV(cname)
#endif
/**