libcruft-util/debug/panic.cpp

33 lines
674 B
C++

#include "panic.hpp"
#include "./debugger.hpp"
#include "../backtrace.hpp"
#include <iostream>
////////////////////////////////////////////////////////////////////////////////
void
cruft::debug::detail::panic (const char *msg)
{
std::cerr << "PANIC: " << msg << "\n" << ::cruft::backtrace () << std::endl;
breakpoint ();
abort ();
}
////////////////////////////////////////////////////////////////////////////////
void
cruft::debug::detail::not_implemented (const char *msg)
{
panic (msg);
}
//-----------------------------------------------------------------------------
void
cruft::debug::detail::unreachable (const char *msg)
{
panic (msg);
}