DragonOS/kernel/debug/bug.h

24 lines
749 B
C
Raw Normal View History

2022-07-17 09:23:56 +00:00
#pragma once
#include <common/compiler.h>
#include <common/kprint.h>
2022-08-01 12:40:27 +00:00
#pragma GCC push_options
#pragma GCC optimize("O0")
2022-07-17 09:23:56 +00:00
/**
* @brief condition为true时输出警告信息
2022-07-17 15:06:57 +00:00
*
2022-07-17 09:23:56 +00:00
*/
#define WARN_ON(condition) ({ \
int __ret_warn_on = !!(condition); \
if (unlikely(__ret_warn_on)) \
kwarn("Assertion failed at %s:%d", __FILE__, __LINE__); \
unlikely(__ret_warn_on); \
2022-07-17 15:06:57 +00:00
})
2022-07-25 07:46:32 +00:00
#define FAIL_ON_TO(condition, to) ({ \
int __ret_warn_on = !!(condition); \
if (unlikely(__ret_warn_on)) \
goto to; \
unlikely(__ret_warn_on); \
})
2022-08-01 12:40:27 +00:00
#pragma GCC pop_options