Macro Subspace :: sus_panic

#define sus_panic()

Terminate the program.

The default behaviour of this function is to __builtin_trap() when possible and std::abort() otherwise. The behaviour of this function can be overridden by defining a SUS_PROVIDE_PANIC_HANDLER() macro when compiling the library.

The panic message will be printed to stderr before aborting. This behaviour can be overridden by defining a SUS_PROVIDE_PRINT_PANIC_LOCATION_HANDLER() macro when compiling. The same handler must be used as when building the library itself. So if used as a shared library, it can not be modified by the calling code. The SUS_PROVIDE_PRINT_PANIC_LOCATION_HANDLER() macro receives a single argument which is a PanicLocation.


If SUS_PROVIDE_PANIC_HANDLER() is defined, the macro must not return or Undefined Behaviour will result.