Adam Macdonald a8d8b9b9ab
All checks were successful
Build (Arch Linux) / build (push) Successful in 3m10s
initial commit
2025-04-16 01:58:29 +01:00

26 lines
947 B
C++

#pragma once
#include <cstdlib>
#include <print>
#include <stacktrace>
#include <string>
namespace kuiper
{
#define KUIPER_ASSERT(cond) \
if (!(cond)) { \
std::println(stderr, "Assertion failed at: {}", __PRETTY_FUNCTION__); \
std::abort(); \
}
#define KUIPER_ASSERT_STACKTRACE(cond) \
if (!(cond)) { \
const auto trace = std::stacktrace::current(); \
std::println(stderr, "Assertion failed at: {}", __PRETTY_FUNCTION__); \
std::println(stderr, "{}", std::to_string(trace)); \
std::abort(); \
}
} // namespace kuiper