Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Hide xbt_swag under the hood of mmalloc, its only remaining user.
[simgrid.git] / src / xbt / ex.cpp
index 50a97f1..c439569 100644 (file)
 #include "xbt/log.hpp"
 #include "xbt/backtrace.h"
 #include "xbt/backtrace.hpp"
-#include "xbt/str.h"
 #include "src/xbt_modinter.h"       /* backtrace initialization headers */
 
 #include "simgrid/sg_config.h"  /* Configuration mechanism of SimGrid */
 
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(xbt_ex, xbt, "Exception mechanism");
 
+// Don't define ~xbt_ex() in ex.hpp.  It is defined here to ensure that there is an unique definition of xt_ex in
+// libsimgrid, but not in libsimgrid-java.  Otherwise, sone tests are broken (seen with clang/libc++ on freebsd).
+xbt_ex::~xbt_ex() = default;
+
 void _xbt_throw(char* message, xbt_errcat_t errcat, int value, const char* file, int line, const char* func)
 {
   xbt_ex e(simgrid::xbt::ThrowPoint(file, line, func), message);
-  free(message);
+  xbt_free(message);
   e.category = errcat;
   e.value = value;
   throw e;
@@ -186,7 +189,7 @@ XBT_TEST_UNIT("variables", test_variables, "variable value preservation")
 {
   xbt_ex_t ex;
   int r1;
-  int XBT_ATTRIB_UNUSED r2;
+  XBT_ATTRIB_UNUSED int r2;
   int v1;
   int v2;