X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/de8cfa17c0e30bf9dccf0b0c9ecaff7858926f04..644e03551ec0faa50ea4b48e5b875b8ac891fbd9:/include/xbt/sysdep.h diff --git a/include/xbt/sysdep.h b/include/xbt/sysdep.h index d990aaa0e9..4e407abb99 100644 --- a/include/xbt/sysdep.h +++ b/include/xbt/sysdep.h @@ -35,7 +35,7 @@ SG_BEGIN_DECL() * @{ */ /** @brief Kill the program in silence */ -XBT_PUBLIC(void) xbt_abort(void) _XBT_GNUC_NORETURN; +XBT_PUBLIC(void) XBT_ATTRIB_NORETURN xbt_abort(void); /** * @brief Kill the program with an error message @@ -54,16 +54,20 @@ XBT_PUBLIC(void) xbt_abort(void) _XBT_GNUC_NORETURN; } while (0) /** @} */ +#ifdef XBT_LOG_LOCALLY_DEFINE_XBT_CHANNEL +XBT_LOG_NEW_CATEGORY(xbt, "All XBT categories (simgrid toolbox)"); +#else XBT_LOG_EXTERNAL_CATEGORY(xbt); +#endif /* these ones live in str.h, but redeclare them here so that we do not need to load the whole str.h and its heavy dependencies */ #ifndef __USE_GNU /* do not redeclare existing headers */ XBT_PUBLIC(int) asprintf(char **ptr, const char *fmt, /*args */ - ...) _XBT_GNUC_PRINTF(2, 3); + ...) XBT_ATTRIB_PRINTF(2, 3); XBT_PUBLIC(int) vasprintf(char **ptr, const char *fmt, va_list ap); #endif -XBT_PUBLIC(char *) bprintf(const char *fmt, ...) _XBT_GNUC_PRINTF(1, 2); +XBT_PUBLIC(char *) bprintf(const char *fmt, ...) XBT_ATTRIB_PRINTF(1, 2); /** @addtogroup XBT_syscall * @brief Malloc and associated functions, killing the program on error (with \ref XBT_ex) @@ -71,6 +75,10 @@ XBT_PUBLIC(char *) bprintf(const char *fmt, ...) _XBT_GNUC_PRINTF(1, 2); * @{ */ +#if defined(_MSC_VER) && !defined(strdup) +# define strdup _strdup /* POSIX name is not ANSI complient blabla */ +#endif + /** @brief Like strdup, but xbt_die() on error */ static XBT_ALWAYS_INLINE char *xbt_strdup(const char *s) { char *res = NULL;