--- extension/readdir.c.orig	2026-07-05 16:54:52.000000000 +0800
+++ extension/readdir.c	2026-07-10 16:58:49.000000000 +0800
@@ -220,8 +220,6 @@
 #else
 	len = sprintf(the_dir->buf, "%llu", ino);
 #endif
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Warray-bounds"
 	the_dir->fw.fields[0].len = len;
 	len += (flen = sprintf(the_dir->buf + len, "/%s", dirent->d_name));
 	the_dir->fw.fields[1].len = flen-1;
@@ -229,7 +227,6 @@
 	ftstr = ftype(dirent, iobuf->name);
 	len += (flen = sprintf(the_dir->buf + len, "/%s", ftstr));
 	the_dir->fw.fields[2].len = flen-1;
-#pragma GCC diagnostic pop
 
 	*out = the_dir->buf;
 
@@ -306,12 +303,9 @@
 	/* pre-populate the field_width struct with constant values: */
 	the_dir->fw.use_chars = awk_false;
 	the_dir->fw.nf = 3;
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Warray-bounds"
 	the_dir->fw.fields[0].skip = 0;	/* no leading space */
 	the_dir->fw.fields[1].skip = 1;	/* single '/' separator */
 	the_dir->fw.fields[2].skip = 1;	/* single '/' separator */
-#pragma GCC diagnostic pop
 	size = sizeof(struct dirent) + 21 /* max digits in inode */ + 2 /* slashes */;
 	emalloc(the_dir->buf, char *, size, "dir_take_control_of");
 
