Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
typos
[simgrid.git] / include / xbt / sysdep.h
index 390ef24..fae839c 100644 (file)
@@ -31,17 +31,7 @@ SG_BEGIN_DECL()
  * @{
  */
 /** @brief Kill the program in silence */
-#ifdef COVERAGE
-/* Call __gcov_flush on abort when compiling with coverage options. */
-#define xbt_abort()                             \
-  do {                                          \
-    extern void __gcov_flush(void);             \
-    __gcov_flush();                             \
-    abort();                                    \
-  } while (0)
-#else
-#define xbt_abort() abort()
-#endif
+XBT_PUBLIC(void) xbt_abort(void) _XBT_GNUC_NORETURN;
 
 /**
  * @brief Kill the program with an error message
@@ -55,12 +45,13 @@ SG_BEGIN_DECL()
  */
 #define xbt_die(...)                            \
   do {                                          \
-    XBT_LOG_EXTERNAL_CATEGORY(xbt);             \
     XBT_CCRITICAL(xbt, __VA_ARGS__);            \
     xbt_abort();                                \
   } while (0)
 /** @} */
 
+XBT_LOG_EXTERNAL_CATEGORY(xbt);
+
 /* 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 */
@@ -151,7 +142,7 @@ void *xbt_realloc(void *p, size_t s)
 
 /** @brief like free
     @hideinitializer */
-#define xbt_free free           /*nothing specific to do here. A poor valgrind replacement? */
+#define xbt_free(p) free(p) /*nothing specific to do here. A poor valgrind replacement? */
 
 /** @brief like free, but you can be sure that it is a function  */
 XBT_PUBLIC(void) xbt_free_f(void *p);