SimGrid  3.14.159
Versatile Simulation of Distributed Systems

Detailed Description

Those are the SimGrid version of the good ol' assert macro.

You can pass them a format message and arguments, just as if it where a printf. It is converted to a XBT_CRITICAL logging request. Be careful: the boolean expression that you want to test should not have side effects, because assertions are disabled at compile time if NDEBUG is set.

Macros

#define xbt_assert(...)
 The condition which failed will be displayed. More...
 
#define _xbt_assert_ARG1(cond)   _xbt_assert_ARGN(cond, "Assertion %s failed", #cond)
 
#define _xbt_assert_ARGN(cond, ...)
 
#define xbt_die(...)
 Kill the program with an error message. More...
 

Functions

void XBT_ATTRIB_NORETURN xbt_abort (void)
 Kill the program in silence. More...
 

Macro Definition Documentation

§ xbt_assert

§ _xbt_assert_ARG1

#define _xbt_assert_ARG1 (   cond)    _xbt_assert_ARGN(cond, "Assertion %s failed", #cond)

§ _xbt_assert_ARGN

#define _xbt_assert_ARGN (   cond,
  ... 
)
Value:
do { \
if (!(cond)) { \
XBT_CCRITICAL(root, __VA_ARGS__); \
xbt_backtrace_display_current(); \
abort(); \
} \
} while (0)
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Aint MPI_Info void baseptr void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Comm int keyval MPI_Comm int void attr_value void int MPI_Datatype int root
Definition: smpi_mpi.cpp:49
int xbt_log_no_loc
Definition: log.c:27

§ xbt_die

#define xbt_die (   ...)
Value:
do { \
XBT_CCRITICAL(xbt, __VA_ARGS__); \
xbt_abort(); \
} while (0)

Kill the program with an error message.

Parameters
...a format string and its arguments

Things are so messed up that the only thing to do now, is to stop the program.

The message is handled by a CRITICAL logging request, and may consist of a format string with arguments.

Examples:
examples/msg/dht-chord/dht-chord.c, and examples/msg/io-file/io-file.c.

Function Documentation

§ xbt_abort()

void XBT_ATTRIB_NORETURN xbt_abort ( void  )

Kill the program in silence.