SimGrid: Assert macro familly

SimGrid 3.10 Versatile Simulation of Distributed Systems

- Home page
- Online documentation
- Dev's Corner

All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
Macros
Assert macro familly
Grounding features

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

## Macros
#define | xbt_assert(...)
| The condition which failed will be displayed.
#define | xbt_abort() abort()
| Kill the program in silence.
#define | xbt_die(...)
| Kill the program with an error message.

## 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.

## Macro Definition Documentation

#define xbt_die | ( |  | ... | ) |

Value:
do { \
XBT_LOG_EXTERNAL_CATEGORY(xbt); \
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.