]> Savannah Git Hosting - gnulib.git/commitdiff
stddef-h: Make a configure test work with upcoming GCC 15.
authorBruno Haible <bruno@clisp.org>
Tue, 8 Apr 2025 09:31:20 +0000 (11:31 +0200)
committerBruno Haible <bruno@clisp.org>
Mon, 14 Apr 2025 22:39:09 +0000 (00:39 +0200)
* m4/stddef_h.m4 (gl_STDDEF_H): Replace test "for clean definition" with
one that succeeds in GCC 15.

ChangeLog
m4/stddef_h.m4

index 22ebaf193d07822eac19b96ad2d342a402dbc1c6..ac2b7b032df5a417c29c9cb5ca32575343951899 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2025-04-08  Bruno Haible  <bruno@clisp.org>
+
+       stddef-h: Make a configure test work with upcoming GCC 15.
+       * m4/stddef_h.m4 (gl_STDDEF_H): Replace test "for clean definition" with
+       one that succeeds in GCC 15.
+
 2025-04-07  Bruno Haible  <bruno@clisp.org>
 
        stdioext: Update comments regarding Haiku.
index c09396ae559bff35d25674a5e08939c9f128d6fb..a6bc62431432611d9e27c82cc685937fe37f99f8 100644 (file)
@@ -1,5 +1,5 @@
 # stddef_h.m4
-# serial 17
+# serial 19
 dnl Copyright (C) 2009-2025 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -90,24 +90,25 @@ AC_DEFUN_ONCE([gl_STDDEF_H],
     GL_GENERATE_STDDEF_H=true
   fi
 
-  AC_CACHE_CHECK([for clean definition of __STDC_VERSION_STDDEF_H__],
-    [gl_cv_clean_version_stddef],
-    [AC_PREPROC_IFELSE(
-       [AC_LANG_SOURCE(
-          [[/* https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114870 */
-            #include <stddef.h>
-            #undef __STDC_VERSION_STDDEF_H__
-            #include <time.h>
-            #ifdef __STDC_VERSION_STDDEF_H__
-            # error "<time.h> defines __STDC_VERSION_STDDEF_H__"
-            #endif
-          ]])],
-        [gl_cv_clean_version_stddef=yes],
-        [gl_cv_clean_version_stddef=no])])
-  if test "$gl_cv_clean_version_stddef" = no; then
-    STDDEF_NOT_IDEMPOTENT=1
-    GL_GENERATE_STDDEF_H=true
-  fi
+  dnl https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114870
+  dnl affects GCC 13 and 14.
+  AC_CACHE_CHECK([whether <stddef.h> is idempotent],
+    [gl_cv_stddef_idempotent],
+    [AC_COMPILE_IFELSE([AC_LANG_SOURCE(
+       [[
+       #if __GNUC__ == 13 || __GNUC__ == 14
+        #error "bug 114870 is present"
+       #endif
+       ]])],
+       [gl_cv_stddef_idempotent="guessing yes"],
+       [gl_cv_stddef_idempotent="guessing no"])
+    ])
+  case "$gl_cv_stddef_idempotent" in
+    *yes) ;;
+    *) STDDEF_NOT_IDEMPOTENT=1
+       GL_GENERATE_STDDEF_H=true
+       ;;
+  esac
 
   if $GL_GENERATE_STDDEF_H; then
     gl_NEXT_HEADERS([stddef.h])