diff options
Diffstat (limited to 'string/rawmemchr.c')
-rw-r--r-- | string/rawmemchr.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/string/rawmemchr.c b/string/rawmemchr.c index 54e8dcd294..42a3f8aaba 100644 --- a/string/rawmemchr.c +++ b/string/rawmemchr.c @@ -16,6 +16,7 @@ <http://www.gnu.org/licenses/>. */ #include <string.h> +#include <libc-diag.h> #ifndef RAWMEMCHR # define RAWMEMCHR __rawmemchr @@ -25,8 +26,15 @@ void * RAWMEMCHR (const void *s, int c) { + DIAG_PUSH_NEEDS_COMMENT; +#if __GNUC_PREREQ (7, 0) + /* GCC 8 warns about the size passed to memchr being larger than + PTRDIFF_MAX; the use of SIZE_MAX is deliberate here. */ + DIAG_IGNORE_NEEDS_COMMENT (8, "-Wstringop-overflow="); +#endif if (c != '\0') return memchr (s, c, (size_t)-1); + DIAG_POP_NEEDS_COMMENT; return (char *)s + strlen (s); } libc_hidden_def (__rawmemchr) |