>From 3af9a38225e6d074ef6b22e6c99c2503bc581953 Mon Sep 17 00:00:00 2001 From: Daniel Santos Date: Mon, 4 Jun 2012 06:13:41 -0500 Subject: linux/bug.h: make BUILD_BUG_ON generate compile-time error --- include/linux/bug.h | 11 ++++++----- 1 files changed, 6 insertions(+), 5 deletions(-) diff --git a/include/linux/bug.h b/include/linux/bug.h index 72961c3..d35d6e9 100644 --- a/include/linux/bug.h +++ b/include/linux/bug.h @@ -48,11 +48,12 @@ struct pt_regs; #ifndef __OPTIMIZE__ #define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)])) #else -extern int __build_bug_on_failed; -#define BUILD_BUG_ON(condition) \ - do { \ - ((void)sizeof(char[1 - 2*!!(condition)])); \ - if (condition) __build_bug_on_failed = 1; \ +#define BUILD_BUG_ON(condition) \ + do { \ + extern void __build_bug_on_failed(void) \ + __compiletime_error("BUILD_BUG_ON failed: " #condition);\ + ((void)sizeof(char[1 - 2*!!(condition)])); \ + if (condition) __build_bug_on_failed(); \ } while(0) #endif -- 1.7.3.4