From e529f4fbd08fa9e60c7092ba0f8cc976a735077c Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Tue, 8 Apr 2025 11:31:20 +0200 Subject: [PATCH] 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. --- ChangeLog | 6 ++++++ m4/stddef_h.m4 | 38 +++++++++++++++++++------------------- 2 files changed, 25 insertions(+), 19 deletions(-) diff --git a/ChangeLog b/ChangeLog index 13a0f3b2ec..cf3e040ada 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2025-04-08 Bruno Haible + + 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 verify: Enhance a comment. diff --git a/m4/stddef_h.m4 b/m4/stddef_h.m4 index c09396ae55..13aff50e71 100644 --- a/m4/stddef_h.m4 +++ b/m4/stddef_h.m4 @@ -1,5 +1,5 @@ # stddef_h.m4 -# serial 17 +# serial 18 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,24 @@ 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 - #undef __STDC_VERSION_STDDEF_H__ - #include - #ifdef __STDC_VERSION_STDDEF_H__ - # error " 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 is idempotent], + [gl_cv_stddef_idempotent], + [AC_COMPILE_IFELSE([ + #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]) -- 2.39.5