summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorNathan Chancellor <nathan@kernel.org>2025-04-05 01:10:02 +0300
committerPetr Mladek <pmladek@suse.com>2025-04-10 17:08:28 +0300
commit7efa84b5cdd6d473c7e80912638fca9d7167f202 (patch)
treecca8c685f56e5f2702c85db8e7b7e324ce167727 /include/linux
parentbd67c1c3c353b6560f2983bdd23c665e26cf83f9 (diff)
downloadlinux-7efa84b5cdd6d473c7e80912638fca9d7167f202.tar.xz
compiler-gcc.h: Introduce __diag_GCC_all
It is not possible disabling a diagnostic for all versions of GCC without hard coding the minimum supported version at the site, as the GCC specific macros require a minimum version to disable the warning for: __diag_ignore(GCC, 5, ...); __diag_ignore_all() does not solve this issue because it disables a diagnostic for all versions of both GCC and clang, not just one or the other. Introduce __diag_GCC_all so that developers can write __diag_ignore(GCC, all, ...); to disable a particular diagnostic for all versions of GCC, while not affecting clang. Closes: https://lore.kernel.org/r/CAHk-=wgfX9nBGE0Ap9GjhOy7Mn=RSy=rx0MvqfYFFDx31KJXqQ@mail.gmail.com Signed-off-by: Nathan Chancellor <nathan@kernel.org> Tested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Petr Mladek <pmladek@suse.com> Link: https://patch.msgid.link/20250404-vsprintf-convert-pragmas-to-__diag-v1-1-5d6c5c55b2bd@kernel.org Signed-off-by: Petr Mladek <pmladek@suse.com>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/compiler-gcc.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h
index c9b58188ec61..c75a222880f9 100644
--- a/include/linux/compiler-gcc.h
+++ b/include/linux/compiler-gcc.h
@@ -127,6 +127,8 @@
#define __diag_GCC_8(s)
#endif
+#define __diag_GCC_all(s) __diag(s)
+
#define __diag_ignore_all(option, comment) \
__diag(__diag_GCC_ignore option)