Hi Kumar, Thanks for sending this along! On Thu, Mar 03, 2022 at 10:20:26AM +0530, Kumar Kartikeya Dwivedi wrote: > From: Nathan Chancellor <nathan@xxxxxxxxxx> > > Add __diag macros similar to those in compiler-gcc.h, so that warnings > that need to be adjusted for specific cases but not globally can be > ignored for LLVM compilation mode as well. I would word this last sentence as: "ignored when building with clang." Technically speaking, LLVM is not the one emitting the warnings, clang is :) this is useful with LLVM=1 or CC=clang. > Cc: Nathan Chancellor <nathan@xxxxxxxxxx> > Cc: Nick Desaulniers <ndesaulniers@xxxxxxxxxx> > Cc: llvm@xxxxxxxxxxxxxxx > Signed-off-by: Nathan Chancellor <nathan@xxxxxxxxxx> You should add your signed-off-by here to notate that you have touched the patch per Documentation/process/submitting-patches.rst. It is also courteous to note that you wrote the commit message, something along the lines of: "[Kumar: Wrote commit message] Signed-off-by: Kumar Kartikeya Dwivedi <memxor@xxxxxxxxx>" Regardless, this looks good to me with the context of the other two patches: https://lore.kernel.org/r/20220303045029.2645297-7-memxor@xxxxxxxxx/ https://lore.kernel.org/r/20220303045029.2645297-8-memxor@xxxxxxxxx/ Cheers, Nathan > --- > include/linux/compiler-clang.h | 22 ++++++++++++++++++++++ > 1 file changed, 22 insertions(+) > > diff --git a/include/linux/compiler-clang.h b/include/linux/compiler-clang.h > index 3c4de9b6c6e3..f1aa41d520bd 100644 > --- a/include/linux/compiler-clang.h > +++ b/include/linux/compiler-clang.h > @@ -68,3 +68,25 @@ > > #define __nocfi __attribute__((__no_sanitize__("cfi"))) > #define __cficanonical __attribute__((__cfi_canonical_jump_table__)) > + > +/* > + * Turn individual warnings and errors on and off locally, depending > + * on version. > + */ > +#define __diag_clang(version, severity, s) \ > + __diag_clang_ ## version(__diag_clang_ ## severity s) > + > +/* Severity used in pragma directives */ > +#define __diag_clang_ignore ignored > +#define __diag_clang_warn warning > +#define __diag_clang_error error > + > +#define __diag_str1(s) #s > +#define __diag_str(s) __diag_str1(s) > +#define __diag(s) _Pragma(__diag_str(clang diagnostic s)) > + > +#if CONFIG_CLANG_VERSION >= 110000 > +#define __diag_clang_11(s) __diag(s) > +#else > +#define __diag_clang_11(s) > +#endif > -- > 2.35.1 >