diff options
| author | Paul Eggert | 2025-07-18 11:49:29 -0700 |
|---|---|---|
| committer | Paul Eggert | 2025-07-18 11:50:13 -0700 |
| commit | 07ee5ebeca0ddeab436d449f626638d85c083da1 (patch) | |
| tree | 9e6990e3f70e084d94658d25ee36a0b2e522a0e4 | |
| parent | 0ac1fe8d73ba83164c564bc579f3387d39856f31 (diff) | |
| download | emacs-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.ac | 31 |
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 | ||
| 2215 | C_SWITCH_MACHINE= | 2215 | C_SWITCH_MACHINE= |
| 2216 | 2216 | ||
| 2217 | AC_CACHE_CHECK([for flag to work around GCC bug 117423], | 2217 | AC_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])]) |
| 2258 | AS_CASE([$emacs_cv_gcc_bug_117423_CFLAGS], | 2261 | AS_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 | ||
| 2262 | AC_SUBST([C_SWITCH_MACHINE]) | 2265 | AC_SUBST([C_SWITCH_MACHINE]) |
| 2263 | 2266 | ||