https://github.com/iovisor/bcc/pull/5555 Prevent a warning caused by some typeof(x) expressions: In file included from /virtual/main.c:4: In file included from include/net/tcp.h:34: In file included from include/net/xfrm.h:26: include/net/ip6_fib.h:256:10: warning: default initialization of an object of type 'typeof (f6i->expires)' (aka 'const unsigned long') leaves the object uninitialized [-Wdefault-const-init-var-unsafe] 256 | return time_after(jiffies, f6i->expires); | ^ include/linux/jiffies.h:75:3: note: expanded from macro 'time_after' 75 | typecheck(unsigned long, b) && \ | ^ include/linux/typecheck.h:8:12: note: expanded from macro 'typecheck' 8 | typeof(x) __dummy2; \ | ^ 1 warning generated. Add -Wno-default-const-init-var-unsafe to silence this. --- a/src/cc/frontends/clang/kbuild_helper.cc +++ b/src/cc/frontends/clang/kbuild_helper.cc @@ -141,6 +141,9 @@ int KBuildHelper::get_flags(const char * cflags->push_back("-fms-extensions"); cflags->push_back("-Wno-microsoft-anon-tag"); + // Prevent warnings from typeof(x) expressions in some kernel headers + cflags->push_back("-Wno-default-const-init-var-unsafe"); + /* * kernel is usually build with gcc and the kernel devel header * reflects that fact. However we build with clang and this must be