From 07ee5ebeca0ddeab436d449f626638d85c083da1 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Fri, 18 Jul 2025 11:49:29 -0700 Subject: [PATCH] GCC bug 117423 has a fix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Document the change in dependency. As we still need to work around GCC bug 119085, there is no functional change in ‘configure’. * configure.ac (emacs_cv_gcc_bug_119085_CFLAGS): Rename from emacs_cv_gcc_bug_117423_CFLAGS. All uses changed. --- configure.ac | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/configure.ac b/configure.ac index 332bc6e7bd9..94c1c590936 100644 --- a/configure.ac +++ b/configure.ac @@ -2214,30 +2214,33 @@ esac C_SWITCH_MACHINE= -AC_CACHE_CHECK([for flag to work around GCC bug 117423], - [emacs_cv_gcc_bug_117423_CFLAGS], - [emacs_cv_gcc_bug_117423_CFLAGS='none needed' +AC_CACHE_CHECK([for flag to work around GCC bug 119085], + [emacs_cv_gcc_bug_119085_CFLAGS], + [emacs_cv_gcc_bug_119085_CFLAGS='none needed' AS_IF([test "$GCC" = yes], [old_CFLAGS=$CFLAGS # If no flags are needed (e.g., not GCC 4+), don't use any. # Otherwise, use -fno-tree-sra. - for emacs_cv_gcc_bug_117423_CFLAGS in \ + for emacs_cv_gcc_bug_119085_CFLAGS in \ 'none needed' -fno-tree-sra do - AS_CASE([$emacs_cv_gcc_bug_117423_CFLAGS], + AS_CASE([$emacs_cv_gcc_bug_119085_CFLAGS], ['none needed'], [], [-fno-tree-sra], [break], - [CFLAGS="$old_CFLAGS $emacs_cv_gcc_bug_117423_CFLAGS"]) + [CFLAGS="$old_CFLAGS $emacs_cv_gcc_bug_119085_CFLAGS"]) AC_COMPILE_IFELSE( [AC_LANG_DEFINES_PROVIDED - [/* Work around GCC bug 117423 with unions containing holes: - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117423 + [/* Work around GCC bug 119085 with unions containing holes: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119085 - GCC bug 117423 is present even in GCC 15.1, + GCC bug 119085 is present even in GCC 15.1, the current version as of this writing; for now, assume it is present in all GCC versions starting with GCC 4. - Working wround GCC bug 117423 also works around GCC bug 58416 + Working around GCC bug 119095 also works around GCC bug 117423 + https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117423 + which as of 2025-07-17 has a fix that has not been released. + + Working wround GCC bug 119085 also works around GCC bug 58416 with double in unions on x86, where the generated insns copy non-floating-point data via fldl/fstpl instruction pairs. This can misbehave if the data's bit pattern looks like a NaN. @@ -2247,17 +2250,17 @@ AC_CACHE_CHECK([for flag to work around GCC bug 117423], https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93271 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114659 Although GCC bug 58416 is fixed in GCC 15.1, - GCC bug 117423 is still present there. */ + GCC bug 119085 is still present there. */ #if 4 <= __GNUC__ && !defined __clang__ - # error "GCC bug 117423 possibly present" + # error "GCC bug 119085 possibly present" #endif ]], [break]) done CFLAGS=$old_CFLAGS])]) -AS_CASE([$emacs_cv_gcc_bug_117423_CFLAGS], +AS_CASE([$emacs_cv_gcc_bug_119085_CFLAGS], [-*], - [C_SWITCH_MACHINE="$C_SWITCH_MACHINE $emacs_cv_gcc_bug_117423_CFLAGS"]) + [C_SWITCH_MACHINE="$C_SWITCH_MACHINE $emacs_cv_gcc_bug_119085_CFLAGS"]) AC_SUBST([C_SWITCH_MACHINE])