diff --git a/Makefile.in b/Makefile.in index 983b8b9a..95c42705 100644 --- a/Makefile.in +++ b/Makefile.in @@ -19,6 +19,7 @@ # all - shortcut for all of the above # asan - enable address sanitizer compiler feature # ubsan - undefined behaviour sanitizer compiler feature +# bcheck - extended build checks # W=123 build with warnings (default: off) # DEBUG_CFLAGS additional compiler flags for debugging build # EXTRA_CFLAGS additional compiler flags @@ -161,6 +162,10 @@ ifneq (,$(findstring ubsan,$(D))) DEBUG_CFLAGS_INTERNAL += -fsanitize=undefined endif +ifneq (,$(findstring bcheck,$(D))) + DEBUG_CFLAGS_INTERNAL += -DDEBUG_BUILD_CHECKS +endif + MAKEOPTS = --no-print-directory Q=$(Q) # build all by default diff --git a/kerncompat.h b/kerncompat.h index 4a8f8135..ed9a0425 100644 --- a/kerncompat.h +++ b/kerncompat.h @@ -70,7 +70,11 @@ #define __token_glue(a,b,c) ___token_glue(a,b,c) #define ___token_glue(a,b,c) a ## b ## c +#ifdef DEBUG_BUILD_CHECKS #define BUILD_ASSERT(x) extern int __token_glue(compile_time_assert_,__LINE__,__COUNTER__)[1-2*!(x)] __attribute__((unused)) +#else +#define BUILD_ASSERT(x) +#endif #ifndef BTRFS_DISABLE_BACKTRACE #define MAX_BACKTRACE 16