aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggert2025-07-18 11:49:29 -0700
committerPaul Eggert2025-07-18 11:50:13 -0700
commit07ee5ebeca0ddeab436d449f626638d85c083da1 (patch)
tree9e6990e3f70e084d94658d25ee36a0b2e522a0e4
parent0ac1fe8d73ba83164c564bc579f3387d39856f31 (diff)
downloademacs-07ee5ebeca0ddeab436d449f626638d85c083da1.tar.gz
emacs-07ee5ebeca0ddeab436d449f626638d85c083da1.zip
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.
-rw-r--r--configure.ac31
1 files 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
2214 2214
2215C_SWITCH_MACHINE= 2215C_SWITCH_MACHINE=
2216 2216
2217AC_CACHE_CHECK([for flag to work around GCC bug 117423], 2217AC_CACHE_CHECK([for flag to work around GCC bug 119085],
2218 [emacs_cv_gcc_bug_117423_CFLAGS], 2218 [emacs_cv_gcc_bug_119085_CFLAGS],
2219 [emacs_cv_gcc_bug_117423_CFLAGS='none needed' 2219 [emacs_cv_gcc_bug_119085_CFLAGS='none needed'
2220 AS_IF([test "$GCC" = yes], 2220 AS_IF([test "$GCC" = yes],
2221 [old_CFLAGS=$CFLAGS 2221 [old_CFLAGS=$CFLAGS
2222 # If no flags are needed (e.g., not GCC 4+), don't use any. 2222 # If no flags are needed (e.g., not GCC 4+), don't use any.
2223 # Otherwise, use -fno-tree-sra. 2223 # Otherwise, use -fno-tree-sra.
2224 for emacs_cv_gcc_bug_117423_CFLAGS in \ 2224 for emacs_cv_gcc_bug_119085_CFLAGS in \
2225 'none needed' -fno-tree-sra 2225 'none needed' -fno-tree-sra
2226 do 2226 do
2227 AS_CASE([$emacs_cv_gcc_bug_117423_CFLAGS], 2227 AS_CASE([$emacs_cv_gcc_bug_119085_CFLAGS],
2228 ['none needed'], [], 2228 ['none needed'], [],
2229 [-fno-tree-sra], [break], 2229 [-fno-tree-sra], [break],
2230 [CFLAGS="$old_CFLAGS $emacs_cv_gcc_bug_117423_CFLAGS"]) 2230 [CFLAGS="$old_CFLAGS $emacs_cv_gcc_bug_119085_CFLAGS"])
2231 AC_COMPILE_IFELSE( 2231 AC_COMPILE_IFELSE(
2232 [AC_LANG_DEFINES_PROVIDED 2232 [AC_LANG_DEFINES_PROVIDED
2233 [/* Work around GCC bug 117423 with unions containing holes: 2233 [/* Work around GCC bug 119085 with unions containing holes:
2234 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117423
2235 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119085 2234 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119085
2236 GCC bug 117423 is present even in GCC 15.1, 2235 GCC bug 119085 is present even in GCC 15.1,
2237 the current version as of this writing; for now, 2236 the current version as of this writing; for now,
2238 assume it is present in all GCC versions starting with GCC 4. 2237 assume it is present in all GCC versions starting with GCC 4.
2239 2238
2240 Working wround GCC bug 117423 also works around GCC bug 58416 2239 Working around GCC bug 119095 also works around GCC bug 117423
2240 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117423
2241 which as of 2025-07-17 has a fix that has not been released.
2242
2243 Working wround GCC bug 119085 also works around GCC bug 58416
2241 with double in unions on x86, where the generated insns 2244 with double in unions on x86, where the generated insns
2242 copy non-floating-point data via fldl/fstpl instruction pairs. 2245 copy non-floating-point data via fldl/fstpl instruction pairs.
2243 This can misbehave if the data's bit pattern looks like a NaN. 2246 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],
2247 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93271 2250 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93271
2248 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114659 2251 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114659
2249 Although GCC bug 58416 is fixed in GCC 15.1, 2252 Although GCC bug 58416 is fixed in GCC 15.1,
2250 GCC bug 117423 is still present there. */ 2253 GCC bug 119085 is still present there. */
2251 #if 4 <= __GNUC__ && !defined __clang__ 2254 #if 4 <= __GNUC__ && !defined __clang__
2252 # error "GCC bug 117423 possibly present" 2255 # error "GCC bug 119085 possibly present"
2253 #endif 2256 #endif
2254 ]], 2257 ]],
2255 [break]) 2258 [break])
2256 done 2259 done
2257 CFLAGS=$old_CFLAGS])]) 2260 CFLAGS=$old_CFLAGS])])
2258AS_CASE([$emacs_cv_gcc_bug_117423_CFLAGS], 2261AS_CASE([$emacs_cv_gcc_bug_119085_CFLAGS],
2259 [-*], 2262 [-*],
2260 [C_SWITCH_MACHINE="$C_SWITCH_MACHINE $emacs_cv_gcc_bug_117423_CFLAGS"]) 2263 [C_SWITCH_MACHINE="$C_SWITCH_MACHINE $emacs_cv_gcc_bug_119085_CFLAGS"])
2261 2264
2262AC_SUBST([C_SWITCH_MACHINE]) 2265AC_SUBST([C_SWITCH_MACHINE])
2263 2266