13#define STATIC_PASS(EXPR, MSG) static_assert(EXPR, MSG)
22 if ((FN__()) == NO) { \
31#define __MUST_PASS(EXPR, FILE, LINE) Kernel::ke_runtime_check(EXPR, FILE, STRINGIFY(LINE))
34#define MUST_PASS(EXPR) __MUST_PASS((EXPR), __FILE__, __LINE__)
35#define assert(EXPR) MUST_PASS(EXPR)
37#define MUST_PASS(EXPR) (Kernel::Void)(EXPR)
38#define assert(EXPR) (Kernel::Void)(EXPR)
enum RUNTIME_CHECK RTL_RUNTIME_CHECK
Definition KernelPanic.h:62
RUNTIME_CHECK
Definition KernelPanic.h:41
@ RUNTIME_CHECK_BAD_BEHAVIOR
Definition KernelPanic.h:52
@ RUNTIME_CHECK_BOOTSTRAP
Definition KernelPanic.h:53
@ RUNTIME_CHECK_EXPRESSION
Definition KernelPanic.h:44
@ RUNTIME_CHECK_HANDSHAKE
Definition KernelPanic.h:48
@ RUNTIME_CHECK_FAILED
Definition KernelPanic.h:42
@ RUNTIME_CHECK_FILE
Definition KernelPanic.h:45
@ RUNTIME_CHECK_POINTER
Definition KernelPanic.h:43
@ RUNTIME_CHECK_PROCESS
Definition KernelPanic.h:51
@ RUNTIME_CHECK_VIRTUAL_OUT_OF_MEM
Definition KernelPanic.h:56
@ RUNTIME_CHECK_ACPI
Definition KernelPanic.h:49
@ RUNTIME_CHECK_COUNT
Definition KernelPanic.h:59
@ RUNTIME_CHECK_FILESYSTEM
Definition KernelPanic.h:55
@ RUNTIME_CHECK_UNEXCPECTED
Definition KernelPanic.h:54
@ RUNTIME_CHECK_INVALID
Definition KernelPanic.h:58
@ RUNTIME_CHECK_TLS
Definition KernelPanic.h:47
@ RUNTIME_CHECK_PAGE
Definition KernelPanic.h:57
@ RUNTIME_CHECK_IPC
Definition KernelPanic.h:46
@ RUNTIME_CHECK_INVALID_PRIVILEGE
Definition KernelPanic.h:50
UPS inline definitions.
Definition Device.h:12
Void ke_panic(const Kernel::Int32 &id, const Char *message)
Stops execution of the kernel.
Definition HalKernelPanic.cc:32
char Char
Definition Config.h:51
__INT32_TYPE__ Int32
Definition Config.h:38
void ke_runtime_check(bool expr, const Char *file, const Char *line)
Definition HalKernelPanic.cc:48