diff options
Diffstat (limited to 'include/linux/kernel.h')
| -rw-r--r-- | include/linux/kernel.h | 16 | 
1 files changed, 16 insertions, 0 deletions
diff --git a/include/linux/kernel.h b/include/linux/kernel.h index e8b1597b5cf..f48e8a52854 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@ -665,6 +665,7 @@ static inline void ftrace_dump(enum ftrace_dump_mode oops_dump_mode) { }  #define BUILD_BUG_ON_ZERO(e) (0)  #define BUILD_BUG_ON_NULL(e) ((void*)0)  #define BUILD_BUG_ON(condition) +#define BUILD_BUG() (0)  #else /* __CHECKER__ */  /* Force a compilation error if a constant expression is not a power of 2 */ @@ -703,6 +704,21 @@ extern int __build_bug_on_failed;  		if (condition) __build_bug_on_failed = 1;	\  	} while(0)  #endif + +/** + * BUILD_BUG - break compile if used. + * + * If you have some code that you expect the compiler to eliminate at + * build time, you should use BUILD_BUG to detect if it is + * unexpectedly used. + */ +#define BUILD_BUG()						\ +	do {							\ +		extern void __build_bug_failed(void)		\ +			__linktime_error("BUILD_BUG failed");	\ +		__build_bug_failed();				\ +	} while (0) +  #endif	/* __CHECKER__ */  /* Trap pasters of __FUNCTION__ at compile-time */  |