mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-16 09:14:18 +00:00
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.
This commit is contained in:
parent
0ac1fe8d73
commit
07ee5ebeca
1 changed files with 17 additions and 14 deletions
31
configure.ac
31
configure.ac
|
|
@ -2214,30 +2214,33 @@ esac
|
||||||
|
|
||||||
C_SWITCH_MACHINE=
|
C_SWITCH_MACHINE=
|
||||||
|
|
||||||
AC_CACHE_CHECK([for flag to work around GCC bug 117423],
|
AC_CACHE_CHECK([for flag to work around GCC bug 119085],
|
||||||
[emacs_cv_gcc_bug_117423_CFLAGS],
|
[emacs_cv_gcc_bug_119085_CFLAGS],
|
||||||
[emacs_cv_gcc_bug_117423_CFLAGS='none needed'
|
[emacs_cv_gcc_bug_119085_CFLAGS='none needed'
|
||||||
AS_IF([test "$GCC" = yes],
|
AS_IF([test "$GCC" = yes],
|
||||||
[old_CFLAGS=$CFLAGS
|
[old_CFLAGS=$CFLAGS
|
||||||
# If no flags are needed (e.g., not GCC 4+), don't use any.
|
# If no flags are needed (e.g., not GCC 4+), don't use any.
|
||||||
# Otherwise, use -fno-tree-sra.
|
# 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
|
'none needed' -fno-tree-sra
|
||||||
do
|
do
|
||||||
AS_CASE([$emacs_cv_gcc_bug_117423_CFLAGS],
|
AS_CASE([$emacs_cv_gcc_bug_119085_CFLAGS],
|
||||||
['none needed'], [],
|
['none needed'], [],
|
||||||
[-fno-tree-sra], [break],
|
[-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_COMPILE_IFELSE(
|
||||||
[AC_LANG_DEFINES_PROVIDED
|
[AC_LANG_DEFINES_PROVIDED
|
||||||
[/* Work around GCC bug 117423 with unions containing holes:
|
[/* Work around GCC bug 119085 with unions containing holes:
|
||||||
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117423
|
|
||||||
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119085
|
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,
|
the current version as of this writing; for now,
|
||||||
assume it is present in all GCC versions starting with GCC 4.
|
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
|
with double in unions on x86, where the generated insns
|
||||||
copy non-floating-point data via fldl/fstpl instruction pairs.
|
copy non-floating-point data via fldl/fstpl instruction pairs.
|
||||||
This can misbehave if the data's bit pattern looks like a NaN.
|
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=93271
|
||||||
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114659
|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114659
|
||||||
Although GCC bug 58416 is fixed in GCC 15.1,
|
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__
|
#if 4 <= __GNUC__ && !defined __clang__
|
||||||
# error "GCC bug 117423 possibly present"
|
# error "GCC bug 119085 possibly present"
|
||||||
#endif
|
#endif
|
||||||
]],
|
]],
|
||||||
[break])
|
[break])
|
||||||
done
|
done
|
||||||
CFLAGS=$old_CFLAGS])])
|
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])
|
AC_SUBST([C_SWITCH_MACHINE])
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue