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.