Here are gmake check-gfortran results requested by FX. Before patching: === gfortran Summary === # of expected passes 65106 # of unexpected failures 6 # of expected failures 262 # of unsupported tests 367 After patching: === gfortran Summary === # of expected passes 65384 # of unexpected failures 6 # of expected failures 262 # of unsupported tests 373 In both cases, unexpected failures are: FAIL: gfortran.dg/pr98076.f90 -O0 execution test FAIL: gfortran.dg/pr98076.f90 -O1 execution test FAIL: gfortran.dg/pr98076.f90 -O2 execution test FAIL: gfortran.dg/pr98076.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions execution test FAIL: gfortran.dg/pr98076.f90 -O3 -g execution test FAIL: gfortran.dg/pr98076.f90 -Os execution test But this seems unrelated to my patch. On 22-05-03 12:21:12, pkubaj@FreeBSD.org wrote: > From: Piotr Kubaj > > FreeBSD/powerpc* has feenableexcept() defined in fenv.h header. > > Signed-off-by: Piotr Kubaj > --- > libgfortran/configure | 41 +++++++++++++++++++++++++++++++++++++++- > libgfortran/configure.ac | 17 ++++++++++++++++- > 2 files changed, 56 insertions(+), 2 deletions(-) > > diff --git a/libgfortran/configure b/libgfortran/configure > index ae64dca3114..ad71694ef05 100755 > --- a/libgfortran/configure > +++ b/libgfortran/configure > @@ -27338,8 +27338,45 @@ fi > > > > +case x$target in > + xpowerpc*-freebsd*) > + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fenv.h and feenableexcept" >&5 > +$as_echo_n "checking for fenv.h and feenableexcept... " >&6; } > +if ${have_feenableexcept+:} false; then : > + $as_echo_n "(cached) " >&6 > +else > + > + cat confdefs.h - <<_ACEOF >conftest.$ac_ext > +/* end confdefs.h. */ > + #include > +int > +main () > +{ > + feenableexcept(FE_DIVBYZERO | FE_INVALID); > + ; > + return 0; > +} > +_ACEOF > +if ac_fn_c_try_compile "$LINENO"; then : > + have_feenableexcept="yes" > +else > + have_feenableexcept="no" > +fi > +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext > +fi > +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_feenableexcept" >&5 > +$as_echo "$have_feenableexcept" >&6; } > + if test "x$have_feenableexcept" = "xyes"; then > + > +cat >>confdefs.h <<_ACEOF > +#define HAVE_FEENABLEEXCEPT 1 > +_ACEOF > + > + fi; > + ;; > + *) > # Check for GNU libc feenableexcept > -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for feenableexcept in -lm" >&5 > + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for feenableexcept in -lm" >&5 > $as_echo_n "checking for feenableexcept in -lm... " >&6; } > if ${ac_cv_lib_m_feenableexcept+:} false; then : > $as_echo_n "(cached) " >&6 > @@ -27384,6 +27421,8 @@ $as_echo "#define HAVE_FEENABLEEXCEPT 1" >>confdefs.h > > fi > > + ;; > +esac > > # At least for glibc, clock_gettime is in librt. But don't > # pull that in if it still doesn't give us the function we want. This > diff --git a/libgfortran/configure.ac b/libgfortran/configure.ac > index 97cc490cb5e..2dd6d345b22 100644 > --- a/libgfortran/configure.ac > +++ b/libgfortran/configure.ac > @@ -602,8 +602,23 @@ fi > # Check whether we have a __float128 type, depends on enable_libquadmath_support > LIBGFOR_CHECK_FLOAT128 > > +case x$target in > + xpowerpc*-freebsd*) > + AC_CACHE_CHECK([for fenv.h and feenableexcept], have_feenableexcept, [ > + AC_COMPILE_IFELSE([AC_LANG_PROGRAM( > + [[ #include ]], > + [[ feenableexcept(FE_DIVBYZERO | FE_INVALID); ]])], > + [ have_feenableexcept="yes" ], > + [ have_feenableexcept="no" ])]) > + if test "x$have_feenableexcept" = "xyes"; then > + AC_DEFINE(HAVE_FEENABLEEXCEPT,1,[fenv.h includes feenableexcept]) > + fi; > + ;; > + *) > # Check for GNU libc feenableexcept > -AC_CHECK_LIB([m],[feenableexcept],[have_feenableexcept=yes AC_DEFINE([HAVE_FEENABLEEXCEPT],[1],[libm includes feenableexcept])]) > + AC_CHECK_LIB([m],[feenableexcept],[have_feenableexcept=yes AC_DEFINE([HAVE_FEENABLEEXCEPT],[1],[libm includes feenableexcept])]) > + ;; > +esac > > # At least for glibc, clock_gettime is in librt. But don't > # pull that in if it still doesn't give us the function we want. This > -- > 2.36.0 >