1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-08 17:42:12 +03:00

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.
This commit is contained in:
Joseph Myers
2020-09-07 18:11:12 +00:00
parent 3357087b2a
commit e74b61c09a
2 changed files with 11 additions and 0 deletions

View File

@@ -47,6 +47,9 @@ DIAG_IGNORE_NEEDS_COMMENT (7, "-Wstringop-overflow=");
#if __GNUC_PREREQ (8, 0) #if __GNUC_PREREQ (8, 0)
DIAG_IGNORE_NEEDS_COMMENT (8, "-Wstringop-truncation"); DIAG_IGNORE_NEEDS_COMMENT (8, "-Wstringop-truncation");
#endif #endif
#if __GNUC_PREREQ (11, 0)
DIAG_IGNORE_NEEDS_COMMENT (11, "-Wstringop-overread");
#endif
#define STREQ(a, b) (strcmp((a), (b)) == 0) #define STREQ(a, b) (strcmp((a), (b)) == 0)

View File

@@ -104,6 +104,10 @@ strncmp_max (const char *left, const char *right)
/* GCC 9 warns about the size passed to strncmp being larger than /* GCC 9 warns about the size passed to strncmp being larger than
PTRDIFF_MAX; the use of SIZE_MAX is deliberate here. */ PTRDIFF_MAX; the use of SIZE_MAX is deliberate here. */
DIAG_IGNORE_NEEDS_COMMENT (9, "-Wstringop-overflow="); 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 #endif
return strncmp (left, right, SIZE_MAX); return strncmp (left, right, SIZE_MAX);
DIAG_POP_NEEDS_COMMENT; 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 /* GCC 9 warns about the size passed to strncasecmp being larger
than PTRDIFF_MAX; the use of SIZE_MAX is deliberate here. */ than PTRDIFF_MAX; the use of SIZE_MAX is deliberate here. */
DIAG_IGNORE_NEEDS_COMMENT (9, "-Wstringop-overflow="); 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 #endif
return strncasecmp (left, right, SIZE_MAX); return strncasecmp (left, right, SIZE_MAX);
DIAG_POP_NEEDS_COMMENT; DIAG_POP_NEEDS_COMMENT;