From e74b61c09a2a2ab52153e731225ccba5078659b1 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Mon, 7 Sep 2020 18:11:12 +0000 Subject: Disable -Wstringop-overread for some string tests Similarly to Maciej's changes to fix the build of rawmemchr in the presence of GCC 11's -Wstringop-overread, also disable that option in two string function tests that have similar warnings and other string function warnings already disabled. Tested with build-many-glibcs.py for aarch64-linux-gnu and arm-linux-gnueabi that it fixes building the glibc testsuite. --- string/tester.c | 3 +++ string/tst-cmp.c | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/string/tester.c b/string/tester.c index bcd7148c2e..b7acf29c81 100644 --- a/string/tester.c +++ b/string/tester.c @@ -47,6 +47,9 @@ DIAG_IGNORE_NEEDS_COMMENT (7, "-Wstringop-overflow="); #if __GNUC_PREREQ (8, 0) DIAG_IGNORE_NEEDS_COMMENT (8, "-Wstringop-truncation"); #endif +#if __GNUC_PREREQ (11, 0) +DIAG_IGNORE_NEEDS_COMMENT (11, "-Wstringop-overread"); +#endif #define STREQ(a, b) (strcmp((a), (b)) == 0) diff --git a/string/tst-cmp.c b/string/tst-cmp.c index 13af0fcb83..e73025cfdf 100644 --- a/string/tst-cmp.c +++ b/string/tst-cmp.c @@ -104,6 +104,10 @@ strncmp_max (const char *left, const char *right) /* GCC 9 warns about the size passed to strncmp being larger than PTRDIFF_MAX; the use of SIZE_MAX is deliberate here. */ DIAG_IGNORE_NEEDS_COMMENT (9, "-Wstringop-overflow="); +#endif +#if __GNUC_PREREQ (11, 0) + /* Likewise GCC 11, with a different warning option. */ + DIAG_IGNORE_NEEDS_COMMENT (11, "-Wstringop-overread"); #endif return strncmp (left, right, SIZE_MAX); DIAG_POP_NEEDS_COMMENT; @@ -117,6 +121,10 @@ strncasecmp_max (const char *left, const char *right) /* GCC 9 warns about the size passed to strncasecmp being larger than PTRDIFF_MAX; the use of SIZE_MAX is deliberate here. */ DIAG_IGNORE_NEEDS_COMMENT (9, "-Wstringop-overflow="); +#endif +#if __GNUC_PREREQ (11, 0) + /* Likewise GCC 11, with a different warning option. */ + DIAG_IGNORE_NEEDS_COMMENT (11, "-Wstringop-overread"); #endif return strncasecmp (left, right, SIZE_MAX); DIAG_POP_NEEDS_COMMENT; -- cgit 1.4.1