diff --git a/BAN/include/BAN/Assert.h b/BAN/include/BAN/Assert.h index c313684b4..089e93d4a 100644 --- a/BAN/include/BAN/Assert.h +++ b/BAN/include/BAN/Assert.h @@ -5,5 +5,7 @@ #define ASSERT(cond) do { if (!(cond)) Kernel::panic("ASSERT("#cond") failed"); } while(false) #define ASSERT_NOT_REACHED() Kernel::panic("ASSERT_NOT_REACHED() failed") #else - #error "NOT IMPLEMENTED" + #include + #define ASSERT(cond) assert((cond) && "ASSERT("#cond") failed") + #define ASSERT_NOT_REACHED() assert(false && "ASSERT_NOT_REACHED() failed") #endif \ No newline at end of file diff --git a/BAN/include/BAN/Errors.h b/BAN/include/BAN/Errors.h index b18cbb9e4..2f5fa6961 100644 --- a/BAN/include/BAN/Errors.h +++ b/BAN/include/BAN/Errors.h @@ -10,7 +10,7 @@ #include #define MUST(expr) ({ auto e = expr; if (e.is_error()) Kernel::panic("{}", e.error()); e.release_value(); }) #else - #error "NOT IMPLEMENTED" + #define MUST(expr) ({ auto e = expr; assert(!e.is_error()); e.release_value(); }) #endif #define TRY(expr) ({ auto e = expr; if (e.is_error()) return e.release_error(); e.release_value(); })