On 2026-06-19 09:10, Bruno Haible wrote:
- A missing statement
CFLAGS=$gl_saved_CFLAGS
after the AC_RUN_IFELSE macro.
- The -Wno-nonnull option surely works only with gcc, clang, and
compatible compilers. How about testing whether -Wno-nonnull
works, first?
Thanks for spotting that. That's leftover code from when I was trying to
use -Wno-nonnull. I gave up on that idea, as there may in theory be
compilers that support __attribute__((__nonnull__ ...)) but lack
-Wno-nonnull, and there's little point to optimizing for non-GCC anyway.
I installed the attached to fix the problem.From a575239e473656fd0c055a228963bdb48bd0c2cb Mon Sep 17 00:00:00 2001
From: Paul Eggert <[email protected]>
Date: Fri, 19 Jun 2026 10:07:47 -0700
Subject: [PATCH] =?UTF-8?q?fstatat:=20don=E2=80=99t=20mess=20with=20CFLAGS?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* m4/fstatat.m4 (gl_FUNC_FSTATAT): Remove stray code left
over from an aborted attempt to mess with CFLAGS.
Problem reported by Bruno Haible in:
https://lists.gnu.org/r/bug-gnulib/2026-06/msg00084.html
---
ChangeLog | 6 ++++++
m4/fstatat.m4 | 8 ++++----
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index bc891e3581..6fd9e8ce38 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2026-06-19 Paul Eggert <[email protected]>
+ fstatat: don’t mess with CFLAGS
+ * m4/fstatat.m4 (gl_FUNC_FSTATAT): Remove stray code left
+ over from an aborted attempt to mess with CFLAGS.
+ Problem reported by Bruno Haible in:
+ https://lists.gnu.org/r/bug-gnulib/2026-06/msg00084.html
+
openat2-tests: port to NFS
* tests/test-openat2.c (do_test_basic): Close fd before
removing its file. This fixes a file descriptor leak,
diff --git a/m4/fstatat.m4 b/m4/fstatat.m4
index ceeb211d34..b706c891a4 100644
--- a/m4/fstatat.m4
+++ b/m4/fstatat.m4
@@ -1,5 +1,5 @@
# fstatat.m4
-# serial 6
+# serial 7
dnl Copyright (C) 2004-2026 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -70,9 +70,7 @@ AC_DEFUN([gl_FUNC_FSTATAT],
[0],
[AC_CACHE_CHECK([whether fstatat+AT_EMPTY_PATH allows null file],
[gl_cv_func_fstatat_null_file],
- [gl_saved_CFLAGS=$CFLAGS
- CFLAGS="$CFLAGS -Wno-nonnull"
- AC_RUN_IFELSE(
+ [AC_RUN_IFELSE(
[AC_LANG_PROGRAM(
[[#include <stddef.h>
#include <fcntl.h>
@@ -80,6 +78,8 @@ AC_DEFUN([gl_FUNC_FSTATAT],
#ifndef AT_EMPTY_PATH
#define AT_EMPTY_PATH 0
#endif
+ /* Don't check via -Wnonnull, as the problem could in
+ theory exist with compilers lacking -Wnonnull. */
#if __GLIBC__ && ! (2 < __GLIBC__ + (41 <= __GLIBC_MINOR__))
#error "glibc 2.40 and earlier can fail with null file"
#endif
--
2.53.0