On 30/11/2021 01:12, Bruno Haible wrote:
I suspect that it merely compiles, but does not actually work on Mac
OS X 10.4.x.
You can find out by running "make check", to see whether the unit
tests pass.
Running "make check" results in 2 test failures without the use of
libsigsegv.
./../build
On Minix 3.3, I see these test failures:
FAIL: test-fenv-except-state-1
==
../../gltests/test-fenv-except-state-1.c:62: assertion 'fetestexcept
(FE_OVERFLOW) == FE_OVERFLOW' failed
FAIL test-fenv-except-state-1 (exit status: 134)
FAIL: test-fenv-except-tracking-4
==
On Haiku/x86_64, version hrev57363 or newer, I see this test failure:
FAIL test-fenv-except-state-2 (exit status: 149)
Looking at it in the debugger, it crashes at an 'fld1' instruction, here:
/* Do a harmless floating-point operation (since on some CPUs, floating-point
exceptions trigger
This patch completes the 'fenv' tests, by adding a C++ test module, with the
usual idioms (like for the other header files).
2023-11-05 Bruno Haible
fenv: Add C++ tests.
* tests/test-fenv-c++.cc: New file.
* modules/fenv-c++-tests: New file.
* modules/fenv-test
Since the module 'fenv-environment' is likely to need workarounds on
future platforms, here is the best procedure to do so. It works even on
proprietary systems like macOS, AIX, MSVC.
1) Prepare a testdir of the relevant modules:
$ ./gnulib-tool --create-testdir --dir=../testdir4 --single-confi
Here comes the module 'fenv-environment', which implements the ISO C 99
functions
fegetenv
feholdexcept
fesetenv
feupdateenv
and the macro
FE_DFL_ENV.
This is the largest module in the fenv-* series, because of the massive amount
of platform bugs that need to be worked around. No operat
The fenv-exceptions-trapping module, compared to the fpe-trapping module, not
only works on all platforms. It also supports all exception types, not only
FE_INVALID. This can be used to strengthen the fenv-exceptions-tracking-c99
tests.
2023-11-05 Bruno Haible
fenv-exceptions-tracking
Now that proper modules for tracking and trapping floating-point exceptions
are in place (that work on all platforms, and with unit tests), the modules
fpe-tracking and fpe-trapping can take advantage of them:
* The module fpe-tracking can be removed. fenv-exceptions-tracking-c99 is
its replacem
On NetBSD 8.0/sparc I see a test failure of test-fenv-except-trapping-2.sh.
This patch avoids the failure.
2023-11-05 Bruno Haible
fenv-exceptions-trapping: Avoid test failure on NetBSD/sparc.
* tests/test-fenv-except-trapping-2.c (main): Skip the 'long double'
tests a
A documentation update:
2023-11-05 Bruno Haible
fenv-exceptions-trapping: Update documentation.
* doc/glibc-functions/feenableexcept.texi: Document the Linux/hppa
problem.
diff --git a/doc/glibc-functions/feenableexcept.texi
b/doc/glibc-functions/feenableexcept.texi
On some older Linux distros, I see the fenv-exceptions-trapping-2 test fail.
The reason are older versions of gcc, which generate different code for
floating-point comparisons.
2023-11-05 Bruno Haible
fenv-exceptions-trapping: Avoid test failure on older systems.
* tests/test-
11 matches
Mail list logo