compiler-gcc.h: Introduce __diag_GCC_all
authorNathan Chancellor <nathan@kernel.org>
Fri, 4 Apr 2025 22:10:02 +0000 (15:10 -0700)
committerPetr Mladek <pmladek@suse.com>
Thu, 10 Apr 2025 14:08:28 +0000 (16:08 +0200)
commit7efa84b5cdd6d473c7e80912638fca9d7167f202
treecca8c685f56e5f2702c85db8e7b7e324ce167727
parentbd67c1c3c353b6560f2983bdd23c665e26cf83f9
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>
include/linux/compiler-gcc.h