X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/9e2e32849ed01a869c9c70e78014e6938f098be5..fde63ab63d776f60717181c36961cde86cb6d23d:/include/xbt/sysdep.h diff --git a/include/xbt/sysdep.h b/include/xbt/sysdep.h index 3cbeb656c0..45d9320da1 100644 --- a/include/xbt/sysdep.h +++ b/include/xbt/sysdep.h @@ -2,8 +2,7 @@ /* no system header should be loaded out of this file so that we have only */ /* one file to check when porting to another OS */ -/* Copyright (c) 2004-2017. The SimGrid Team. - * All rights reserved. */ +/* Copyright (c) 2004-2019. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -11,11 +10,11 @@ #ifndef XBT_SYSDEP_H #define XBT_SYSDEP_H -#include "xbt/log.h" -#include "xbt/misc.h" -#include "xbt/asserts.h" +#include +#include +#include -#include "simgrid_config.h" +#include #include #include @@ -31,11 +30,11 @@ SG_BEGIN_DECL() * @{ */ /** @brief Kill the program in silence */ -XBT_ATTRIB_NORETURN XBT_PUBLIC(void) xbt_abort(void); +XBT_ATTRIB_NORETURN XBT_PUBLIC void xbt_abort(void); /** * @brief Kill the program with an error message - * \param ... a format string and its arguments + * @param ... a format string and its arguments * * Things are so messed up that the only thing to do now, is to stop the program. * @@ -55,7 +54,7 @@ XBT_LOG_EXTERNAL_CATEGORY(xbt); #endif /** @addtogroup XBT_syscall - * @brief Malloc and associated functions, killing the program on error (with \ref XBT_ex) + * @brief Malloc and associated functions, killing the program on error (with @ref XBT_ex) * * @{ */ @@ -71,8 +70,6 @@ static XBT_ALWAYS_INLINE char *xbt_strdup(const char *s) { return res; } -XBT_PUBLIC(void) xbt_backtrace_display_current(); - /** @brief Like malloc, but xbt_die() on error @hideinitializer */ static XBT_ALWAYS_INLINE void *xbt_malloc(size_t n) { @@ -113,10 +110,16 @@ static XBT_ALWAYS_INLINE void *xbt_realloc(void *p, size_t s) { @hideinitializer */ #define xbt_free(p) free(p) /*nothing specific to do here. A poor valgrind replacement? */ +#ifdef __cplusplus +#define XBT_FREE_NOEXCEPT noexcept(noexcept(::free)) +#else +#define XBT_FREE_NOEXCEPT +#endif + /** @brief like free, but you can be sure that it is a function */ -XBT_PUBLIC(void) xbt_free_f(void *p); +XBT_PUBLIC void xbt_free_f(void* p) XBT_FREE_NOEXCEPT; /** @brief should be given a pointer to pointer, and frees the second one */ -XBT_PUBLIC(void) xbt_free_ref(void *d); +XBT_PUBLIC void xbt_free_ref(void* d) XBT_FREE_NOEXCEPT; SG_END_DECL()