Macro Subspace :: 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.
Safety
If SUS_PROVIDE_PANIC_HANDLER() is defined, the macro must not return or
Undefined Behaviour will result.