mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-14 14:34:28 +08:00
compiler-clang.h: Add __diag infrastructure for clang
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 when building with clang. Signed-off-by: Nathan Chancellor <nathan@kernel.org> Signed-off-by: Kumar Kartikeya Dwivedi <memxor@gmail.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Link: https://lore.kernel.org/bpf/20220304224645.3677453-6-memxor@gmail.com [ Kartikeya: wrote commit message ]
This commit is contained in:
parent
24d5bb806c
commit
f014a00bbe
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user