lib/test_printf.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-)
changes from v1:
* moved NOWARN macro definition to a more appropriate location
* using __diag_ignore_all (thanks Nathan)
* using local scoping for code blocks instead of __VA_ARGS__ (thanks Nick)
* indented affected test cases (thanks Andy)
Suggested-by: Andy Shevchenko <andy@kernel.org>
Suggested-by: Nathan Chancellor <nathan@kernel.org>
Suggested-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Justin Stitt <justinstitt@google.com>
---
lib/test_printf.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/lib/test_printf.c b/lib/test_printf.c
index 07309c45f327..1b1755ce9fa7 100644
--- a/lib/test_printf.c
+++ b/lib/test_printf.c
@@ -30,6 +30,9 @@
#define PAD_SIZE 16
#define FILL_CHAR '$'
+#define NOWARN(option, comment, block) \
+ __diag_push() __diag_ignore_all(#option, comment) block __diag_pop()
+
KSTM_MODULE_GLOBALS();
static char *test_buffer __initdata;
@@ -154,9 +157,11 @@ test_number(void)
test("0x1234abcd ", "%#-12x", 0x1234abcd);
test(" 0x1234abcd", "%#12x", 0x1234abcd);
test("0|001| 12|+123| 1234|-123|-1234", "%d|%03d|%3d|%+d|% d|%+d|% d", 0, 1, 12, 123, 1234, -123, -1234);
- test("0|1|1|128|255", "%hhu|%hhu|%hhu|%hhu|%hhu", 0, 1, 257, 128, -1);
- test("0|1|1|-128|-1", "%hhd|%hhd|%hhd|%hhd|%hhd", 0, 1, 257, 128, -1);
- test("2015122420151225", "%ho%ho%#ho", 1037, 5282, -11627);
+ NOWARN(-Wformat, "Disables clang -Wformat warning", {
+ test("0|1|1|128|255", "%hhu|%hhu|%hhu|%hhu|%hhu", 0, 1, 257, 128, -1);
+ test("0|1|1|-128|-1", "%hhd|%hhd|%hhd|%hhd|%hhd", 0, 1, 257, 128, -1);
+ test("2015122420151225", "%ho%ho%#ho", 1037, 5282, -11627);
+ })
/*
* POSIX/C99: »The result of converting zero with an explicit
* precision of zero shall be no characters.« Hence the output
--
2.37.0.rc0.161.g10f37bed90-goog
On Thu, Jun 30, 2022 at 9:59 PM Justin Stitt <justinstitt@google.com> wrote: > > changes from v1: > * moved NOWARN macro definition to a more appropriate location > * using __diag_ignore_all (thanks Nathan) > * using local scoping for code blocks instead of __VA_ARGS__ (thanks Nick) > * indented affected test cases (thanks Andy) > > Suggested-by: Andy Shevchenko <andy@kernel.org> > Suggested-by: Nathan Chancellor <nathan@kernel.org> > Suggested-by: Nick Desaulniers <ndesaulniers@google.com> > Signed-off-by: Justin Stitt <justinstitt@google.com> Somehow you replaced the commit message with a changelog. On top of that, I didn't suggest anything important here, so to me it is considered as a credit in the changelog (see previous sentence as well). -- With Best Regards, Andy Shevchenko
© 2016 - 2026 Red Hat, Inc.