Re: Re: [PATCH] selftests/damon: Fix unnecessary compilation warnings

From: Rong Tao
Date: Sat Nov 12 2022 - 00:02:47 EST


Hi, Park, I just search on GCC source code, found GCC support
"-Wstringop-overread" at least gcc-11.1.0, commit d14c547abd48("Add
-Wstringop-overread for reading past the end by string functions.").

AND found a testsuite gcc/gcc/testsuite/gcc.dg/pragma-diag-10.c

10 #pragma GCC diagnostic push
11 #pragma GCC diagnostic ignored "-Wstringop-overflow"
12 #pragma GCC diagnostic ignored "-Wstringop-overread"
13 if (c != 0)
14 return __builtin_memchr (s, c, (unsigned long)-1);
15 #pragma GCC diagnostic pop

it's totally same as this PATCH.

I think the motivation for this patch is to eliminate the compilation
warning, maybe one day we will compile the kernel with "-Werror -Wall",
at which point this compilation warning will turn into a compilation
error, and in case we already know it, we should fix this error in
advance.

For old gcc, we can add this?

#pragma GCC diagnostic push
+#if __GNUC__ >= 11 && __GNUC_MINOR__ >= 1
/* Ignore read(2) overflow and write(2) overread compile warnings */
#pragma GCC diagnostic ignored "-Wstringop-overread"
#pragma GCC diagnostic ignored "-Wstringop-overflow"
+#endif

What do you think?

Good day!
Rong Tao