X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/9406e904ddad5db2ba2dd550e21bbb224899fd79..b0c2a4be2d1f4f93ab01d0858979a12ef0735ec1:/lunaix-os/includes/lunaix/spike.h diff --git a/lunaix-os/includes/lunaix/spike.h b/lunaix-os/includes/lunaix/spike.h index fa4e797..e39c611 100644 --- a/lunaix-os/includes/lunaix/spike.h +++ b/lunaix-os/includes/lunaix/spike.h @@ -15,8 +15,26 @@ // 获取v最近的最小k倍数 #define ROUNDDOWN(v, k) ((v) & ~((k) - 1)) -static void inline spin() { +inline static void spin() { while(1); } +#ifdef __LUNAIXOS_DEBUG__ +#define assert(cond) \ + if (!(cond)) { \ + __assert_fail(#cond, __FILE__, __LINE__); \ + } + +#define assert_msg(cond, msg) \ + if (!(cond)) { \ + __assert_fail(msg, __FILE__, __LINE__); \ + } +void __assert_fail(const char* expr, const char* file, unsigned int line) __attribute__((noinline, noreturn)); +#else +#define assert(cond) //assert nothing +#define assert_msg(cond, msg) //assert nothing +#endif + + + #endif /* __LUNAIX_SPIKE_H */