@@ -72,6 +72,26 @@
#define ___token_glue(a,b,c) a ## b ## c
#define BUILD_ASSERT(x) extern int __token_glue(compile_time_assert_,__LINE__,__COUNTER__)[1-2*!(x)] __attribute__((unused))
+static inline void warning_trace(const char *assertion, const char *filename,
+ const char *func, unsigned line, int val,
+ int trace)
+{
+ if (val)
+ return;
+ if (assertion)
+ fprintf(stderr,
+ "%s:%d: %s: Warning: assertion `%s` failed, value %d\n",
+ filename, line, func, assertion, val);
+ else
+ fprintf(stderr,
+ "%s:%d: %s: Warning: assertion failed, value %d.\n",
+ filename, line, func, val);
+#ifndef BTRFS_DISABLE_BACKTRACE
+ if (trace)
+ print_trace();
+#endif
+}
+
#ifndef BTRFS_DISABLE_BACKTRACE
#define MAX_BACKTRACE 16
static inline void print_trace(void)
@@ -99,24 +119,6 @@ static inline void assert_trace(const char *assertion, const char *filename,
exit(1);
}
-static inline void warning_trace(const char *assertion, const char *filename,
- const char *func, unsigned line, int val,
- int trace)
-{
- if (val)
- return;
- if (assertion)
- fprintf(stderr,
- "%s:%d: %s: Warning: assertion `%s` failed, value %d\n",
- filename, line, func, assertion, val);
- else
- fprintf(stderr,
- "%s:%d: %s: Warning: assertion failed, value %d.\n",
- filename, line, func, val);
- if (trace)
- print_trace();
-}
-
#define BUG() assert_trace(NULL, __FILE__, __func__, __LINE__, 0)
#else
#define BUG() assert(0)
If we disable backtrace, btrfs-progs can't be compiled since we don't have warning_trace defined. Fix by move it out of #ifndef BTRFS_DISABLE_BACKTRACE block. Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> --- kerncompat.h | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-)