Matthew Wilcoxtools: add WARN_ON_ONCEebb9a9a9 years agoHistory
36 lines · 849 B · C
RawDownload
#ifndef _TOOLS_ASM_BUG_H#define _TOOLS_ASM_BUG_H #include <linux/compiler.h> #define __WARN_printf(arg...)	do { fprintf(stderr, arg); } while (0) #define WARN(condition, format...) ({		\	int __ret_warn_on = !!(condition);	\	if (unlikely(__ret_warn_on))		\		__WARN_printf(format);		\	unlikely(__ret_warn_on);		\}) #define WARN_ON_ONCE(condition) ({			\	static int __warned;				\	int __ret_warn_once = !!(condition);		\							\	if (unlikely(__ret_warn_once && !__warned)) {	\		__warned = true;			\		WARN_ON(1);				\	}						\	unlikely(__ret_warn_once);			\}) #define WARN_ONCE(condition, format...)	({	\	static int __warned;			\	int __ret_warn_once = !!(condition);	\						\	if (unlikely(__ret_warn_once))		\		if (WARN(!__warned, format)) 	\			__warned = 1;		\	unlikely(__ret_warn_once);		\}) #endif /* _TOOLS_ASM_BUG_H */