#include #include #include #include #include #include namespace kapi::system { [[gnu::weak]] auto panic(std::string_view message, std::source_location location) -> void { kstd::println(kstd::print_sink::stderr, "[PANIC] in {} : {} @ {}:{}", location.function_name(), message, location.file_name(), location.line()); cpu::halt(); } [[gnu::weak]] auto panic(std::string_view message, kstd::error_code error, std::source_location location) -> void { kstd::println(kstd::print_sink::stderr, "[PANIC] in {} : {} ({}:{}) @ {}:{}", location.function_name(), message, error.category().name(), error.message(), location.file_name(), location.line()); cpu::halt(); } } // namespace kapi::system