From: Paul Eggert Date: Fri, 18 Jul 2025 18:49:29 +0000 (-0700) Subject: GCC bug 117423 has a fix X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=12130c256112875476642eb187dc6bb82bd37696;p=emacs.git GCC bug 117423 has a fix 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. (cherry picked from commit 07ee5ebeca0ddeab436d449f626638d85c083da1) --- diff --git a/configure.ac b/configure.ac index 7450211db65..e25538a7f83 100644 --- a/configure.ac +++ b/configure.ac @@ -2213,30 +2213,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. @@ -2246,17 +2249,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])