Loading...
Searching...
No Matches
10 #include <spdlog/spdlog.h>
11 #define TPDE_LOG(level, ...) \
12 (spdlog::should_log(level) ? spdlog::log(level, __VA_ARGS__) : (void)0)
14 #define TPDE_LOG_TRACE(...) TPDE_LOG(spdlog::level::trace, __VA_ARGS__)
15 #define TPDE_LOG_DBG(...) TPDE_LOG(spdlog::level::debug, __VA_ARGS__)
17 #define TPDE_LOG_TRACE(...)
18 #define TPDE_LOG_DBG(...)
20 #define TPDE_LOG_INFO(...) TPDE_LOG(spdlog::level::info, __VA_ARGS__)
21 #define TPDE_LOG_WARN(...) TPDE_LOG(spdlog::level::warn, __VA_ARGS__)
22 #define TPDE_LOG_ERR(...) TPDE_LOG(spdlog::level::err, __VA_ARGS__)
24 #define TPDE_LOG_TRACE(...)
25 #define TPDE_LOG_DBG(...)
26 #define TPDE_LOG_INFO(...)
27 #define TPDE_LOG_WARN(...)
28 #define TPDE_LOG_ERR(...)
32 #define TPDE_UNREACHABLE(msg) assert(0 && (msg))
34 #define TPDE_UNREACHABLE(msg) __builtin_unreachable()
36#define TPDE_FATAL(msg) ::tpde::fatal_error(msg)
38#if __has_cpp_attribute(clang::lifetimebound)
39 #define TPDE_LIFETIMEBOUND [[clang::lifetimebound]]
41 #define TPDE_LIFETIMEBOUND
44#if __has_builtin(__builtin_assume_separate_storage)
45 #define TPDE_NOALIAS(a, b) __builtin_assume_separate_storage(a, b)
47 #define TPDE_NOALIAS(a, b)
63constexpr bool WithAsserts =
true;
65constexpr bool WithAsserts =
false;
69[[noreturn]]
void fatal_error(
const char *msg);