@@ -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)
@@ -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;