simgrid::xbt::WithContextException(throwpoint, simgrid::xbt::backtrace())
{}
- ~xbt_ex();
+ ~xbt_ex(); // DO NOT define it here -- see ex.cpp for a rational
/** Category (what went wrong) */
xbt_errcat_t category = unknown_error;
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).
+// DO NOT define ~xbt_ex() in ex.hpp.
+// Defining it here ensures that xbt_ex is defined only in libsimgrid, but not in libsimgrid-java.
+// Doing otherwise naturally breaks things (at least on freebsd with clang).
+
xbt_ex::~xbt_ex() = default;
void _xbt_throw(char* message, xbt_errcat_t errcat, int value, const char* file, int line, const char* func)