X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/8e7a699b2507798070fe097a8cfd1259ba123019..e8ec5adbf48e39a119ffc8963c9a61857b1e566d:/include/xbt/sysdep.h diff --git a/include/xbt/sysdep.h b/include/xbt/sysdep.h index bffd706ffb..0d09d8a338 100644 --- a/include/xbt/sysdep.h +++ b/include/xbt/sysdep.h @@ -11,10 +11,6 @@ #ifndef _XBT_SYSDEP_H #define _XBT_SYSDEP_H -#ifdef __cplusplus -#include -#endif - #include "xbt/log.h" #include "xbt/misc.h" #include "xbt/asserts.h" @@ -35,7 +31,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 @@ -64,10 +60,10 @@ XBT_LOG_EXTERNAL_CATEGORY(xbt); 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) @@ -148,42 +144,11 @@ XBT_PUBLIC(void) xbt_free_ref(void *d); SG_END_DECL() -/** @brief like calloc, but xbt_die() on error and don't memset to 0 - @hideinitializer */ -#ifndef __cplusplus - #define xbt_new(type, count) ((type*)xbt_malloc (sizeof (type) * (count))) /** @brief like calloc, but xbt_die() on error @hideinitializer */ #define xbt_new0(type, count) ((type*)xbt_malloc0 (sizeof (type) * (count))) -#else - -/** C++ wrapper for xtb_new - * - * This ensures that we do not xbt_new things that need a constructor. - */ -template inline -T* xbt_new_(size_t count) -{ - static_assert(std::is_trivial(), - "Cannot xbt_new this type"); - return (T*) xbt_malloc(sizeof(T) * count); -} - -template inline -T* xbt_new0_(size_t count) -{ - static_assert(std::is_trivial(), - "Cannot xbt_new0 this type"); - return (T*) xbt_malloc0(sizeof(T) * count); -} - -#define xbt_new(type, count) ::xbt_new_(count) -#define xbt_new0(type, count) ::xbt_new0_(count) - -#endif - /** @} */ #endif /* _XBT_SYSDEP_H */