Commit b246a9d2 authored by Matthew Wilcox's avatar Matthew Wilcox
Browse files

tools: Provide a definition of WARN_ON



The definition of WARN_ON being used by the radix tree test suite was
deficient in two ways: it did not provide a return value, and it stopped
execution instead of continuing.  This version of WARN_ON tells you
which file & line the assertion was triggered in.

Signed-off-by: default avatarMatthew Wilcox <mawilcox@microsoft.com>
parent c68a2aab
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -12,6 +12,14 @@
	unlikely(__ret_warn_on);		\
})

#define WARN_ON(condition) ({					\
	int __ret_warn_on = !!(condition);			\
	if (unlikely(__ret_warn_on))				\
		__WARN_printf("assertion failed at %s:%d\n",	\
				__FILE__, __LINE__);		\
	unlikely(__ret_warn_on);				\
})

#define WARN_ON_ONCE(condition) ({			\
	static int __warned;				\
	int __ret_warn_once = !!(condition);		\
+0 −1
Original line number Diff line number Diff line
@@ -24,7 +24,6 @@
#endif

#define BUG_ON(expr)	assert(!(expr))
#define WARN_ON(expr)	assert(!(expr))
#define __init
#define __must_check
#define panic(expr)