Joos1W Compiler Framework
All Classes Functions Typedefs Pages
Assert.h
1 #pragma once
2 
3 #include <source_location>
4 
5 #undef assert
6 #define assert(expr)
7  (static_cast<bool>(expr) ? void(0) : utils::_my_assert_fail(#expr))
8 
9 namespace utils {
10 
11 [[noreturn]]
12 void _my_assert_fail(
13  const char* assertion,
14  std::source_location location = std::source_location::current());
15 
16 } // namespace utils