[PATCH] posix: Fix fnmatch build with gcc-16

Adhemerval Zanella adhemerval.zanella@linaro.org
Fri Jun 20 14:35:56 GMT 2025


The master branch started to enable some warnings due to optimization
that were only triggered with -Os [1].  Enable the suppression regardless
of optimization level.

Checked on aarch64-linux-gnu build.

[1] https://gcc.gnu.org/pipermail/gcc-regression/2025-June/082378.html
---
 posix/fnmatch_loop.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/posix/fnmatch_loop.c b/posix/fnmatch_loop.c
index 9ec5e0edc6..83f8861653 100644
--- a/posix/fnmatch_loop.c
+++ b/posix/fnmatch_loop.c
@@ -537,7 +537,7 @@ FCT (const CHAR *pattern, const CHAR *string, const CHAR *string_end,
 				   that it was properly set in the loop
 				   above.   */
                                 DIAG_PUSH_NEEDS_COMMENT;
-                                DIAG_IGNORE_Os_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
+                                DIAG_IGNORE_NEEDS_COMMENT (16, "-Wmaybe-uninitialized");
                                 if (! is_range
 
 # if WIDE_CHAR_VERSION
@@ -560,7 +560,7 @@ FCT (const CHAR *pattern, const CHAR *string, const CHAR *string_end,
 				   above it will be properly set by the loop.
 				   */
                                 DIAG_PUSH_NEEDS_COMMENT;
-                                DIAG_IGNORE_Os_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
+                                DIAG_IGNORE_NEEDS_COMMENT (16, "-Wmaybe-uninitialized");
                                 cold = wextra[1 + wextra[0]];
                                 DIAG_POP_NEEDS_COMMENT;
 # else
@@ -745,7 +745,7 @@ FCT (const CHAR *pattern, const CHAR *string, const CHAR *string_end,
                                        means that it was properly set in the
                                        loop above.   */
                                     DIAG_PUSH_NEEDS_COMMENT;
-                                    DIAG_IGNORE_Os_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
+                                    DIAG_IGNORE_NEEDS_COMMENT (16, "-Wmaybe-uninitialized");
                                     cend = wextra[1 + wextra[0]];
                                     DIAG_POP_NEEDS_COMMENT;
 # else
@@ -754,7 +754,7 @@ FCT (const CHAR *pattern, const CHAR *string, const CHAR *string_end,
 				       wextra above it will be properly set by
 				       the loop.   */
                                     DIAG_PUSH_NEEDS_COMMENT;
-                                    DIAG_IGNORE_Os_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
+                                    DIAG_IGNORE_NEEDS_COMMENT (16, "-Wmaybe-uninitialized");
                                     idx += 1 + extra[idx];
                                     DIAG_POP_NEEDS_COMMENT;
                                     /* Adjust for the alignment.  */
-- 
2.43.0



More information about the Libc-alpha mailing list