mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-30 22:43:12 +03:00
Move EXCEPTION_TESTS_* out of math-tests.h
Continuing moving macros out of math-tests.h to smaller headers following typo-proof conventions instead of using #ifndef, this patch moves the EXCEPTION_TESTS_* macros for individual types out to their own sysdeps header. As with ROUNDING_TESTS_*, there is no need to define these macros if FE_ALL_EXCEPT == 0 and the individual exception macros are undefined; thus, math-tests-exceptions.h headers are only needed for soft-float ARM and RISC-V, while the other cases that defined these macros do not need to do so (and the associated math-tests.h headers are thus removed without needing replacement by math-tests-exceptions.h headers). Tested with build-many-glibcs.py. * sysdeps/generic/math-tests-exceptions.h: New file. * sysdeps/generic/math-tests.h: Include <math-tests-exceptions.h>. (EXCEPTION_TESTS_float): Do not define here. (EXCEPTION_TESTS_double): Likewise. (EXCEPTION_TESTS_long_double): Likewise. (EXCEPTION_TESTS_float128): Likewise. * sysdeps/arm/math-tests.h [__SOFTFP__] (EXCEPTION_TESTS_float): Likewise. [__SOFTFP__] (EXCEPTION_TESTS_double): Likewise. [__SOFTFP__] (EXCEPTION_TESTS_long_double): Likewise. * sysdeps/arm/nofpu/math-tests-exceptions.h: New file. * sysdeps/m68k/coldfire/math-tests.h: Remove file. * sysdeps/mips/math-tests.h: Likewise. * sysdeps/nios2/math-tests.h: Likewise. * sysdeps/riscv/math-tests.h [!__riscv_flen] (EXCEPTION_TESTS_float): Do not define here. [!__riscv_flen] (EXCEPTION_TESTS_double): Likewise. [!__riscv_flen] (EXCEPTION_TESTS_long_double): Likewise. * sysdeps/riscv/nofpu/math-tests-exceptions.h: New file.
This commit is contained in:
22
ChangeLog
22
ChangeLog
@ -1,3 +1,25 @@
|
|||||||
|
2018-08-23 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
|
* sysdeps/generic/math-tests-exceptions.h: New file.
|
||||||
|
* sysdeps/generic/math-tests.h: Include <math-tests-exceptions.h>.
|
||||||
|
(EXCEPTION_TESTS_float): Do not define here.
|
||||||
|
(EXCEPTION_TESTS_double): Likewise.
|
||||||
|
(EXCEPTION_TESTS_long_double): Likewise.
|
||||||
|
(EXCEPTION_TESTS_float128): Likewise.
|
||||||
|
* sysdeps/arm/math-tests.h [__SOFTFP__] (EXCEPTION_TESTS_float):
|
||||||
|
Likewise.
|
||||||
|
[__SOFTFP__] (EXCEPTION_TESTS_double): Likewise.
|
||||||
|
[__SOFTFP__] (EXCEPTION_TESTS_long_double): Likewise.
|
||||||
|
* sysdeps/arm/nofpu/math-tests-exceptions.h: New file.
|
||||||
|
* sysdeps/m68k/coldfire/math-tests.h: Remove file.
|
||||||
|
* sysdeps/mips/math-tests.h: Likewise.
|
||||||
|
* sysdeps/nios2/math-tests.h: Likewise.
|
||||||
|
* sysdeps/riscv/math-tests.h [!__riscv_flen]
|
||||||
|
(EXCEPTION_TESTS_float): Do not define here.
|
||||||
|
[!__riscv_flen] (EXCEPTION_TESTS_double): Likewise.
|
||||||
|
[!__riscv_flen] (EXCEPTION_TESTS_long_double): Likewise.
|
||||||
|
* sysdeps/riscv/nofpu/math-tests-exceptions.h: New file.
|
||||||
|
|
||||||
2018-08-23 Wilco Dijkstra <wdijkstr@arm.com>
|
2018-08-23 Wilco Dijkstra <wdijkstr@arm.com>
|
||||||
|
|
||||||
* NEWS: Move optimized sinf entry to 2.29.
|
* NEWS: Move optimized sinf entry to 2.29.
|
||||||
|
@ -16,16 +16,6 @@
|
|||||||
License along with the GNU C Library; if not, see
|
License along with the GNU C Library; if not, see
|
||||||
<http://www.gnu.org/licenses/>. */
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
/* On systems with VFP support, but where glibc is built for
|
|
||||||
soft-float, the libgcc functions used in libc and libm do not
|
|
||||||
support rounding modes, although fesetround succeeds, and do not
|
|
||||||
support exceptions. */
|
|
||||||
#ifdef __SOFTFP__
|
|
||||||
# define EXCEPTION_TESTS_float 0
|
|
||||||
# define EXCEPTION_TESTS_double 0
|
|
||||||
# define EXCEPTION_TESTS_long_double 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Not all VFP implementations support trapping exceptions. */
|
/* Not all VFP implementations support trapping exceptions. */
|
||||||
#define EXCEPTION_ENABLE_SUPPORTED(EXCEPT) ((EXCEPT) == 0)
|
#define EXCEPTION_ENABLE_SUPPORTED(EXCEPT) ((EXCEPT) == 0)
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Configuration for math tests. Nios II version.
|
/* Configuration for math tests: support for exceptions. ARM no-FPU version.
|
||||||
Copyright (C) 2015-2018 Free Software Foundation, Inc.
|
Copyright (C) 2013-2018 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -16,10 +16,14 @@
|
|||||||
License along with the GNU C Library; if not, see
|
License along with the GNU C Library; if not, see
|
||||||
<http://www.gnu.org/licenses/>. */
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
/* Current Nios II soft-float does not support exceptions or rounding
|
#ifndef ARM_NOFPU_MATH_TESTS_EXCEPTIONS_H
|
||||||
modes. */
|
#define ARM_NOFPU_MATH_TESTS_EXCEPTIONS_H 1
|
||||||
|
|
||||||
|
/* On systems with VFP support, but where glibc is built for
|
||||||
|
soft-float, the libgcc functions used in libc and libm do not
|
||||||
|
support exceptions. */
|
||||||
#define EXCEPTION_TESTS_float 0
|
#define EXCEPTION_TESTS_float 0
|
||||||
#define EXCEPTION_TESTS_double 0
|
#define EXCEPTION_TESTS_double 0
|
||||||
#define EXCEPTION_TESTS_long_double 0
|
#define EXCEPTION_TESTS_long_double 0
|
||||||
|
|
||||||
#include_next <math-tests.h>
|
#endif /* math-tests-exceptions.h. */
|
@ -1,5 +1,5 @@
|
|||||||
/* Configuration for math tests. ColdFire version.
|
/* Configuration for math tests: support for exceptions. Generic version.
|
||||||
Copyright (C) 2018 Free Software Foundation, Inc.
|
Copyright (C) 2013-2018 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -16,11 +16,15 @@
|
|||||||
License along with the GNU C Library; if not, see
|
License along with the GNU C Library; if not, see
|
||||||
<http://www.gnu.org/licenses/>. */
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
/* ColdFire soft float does not support exceptions and rounding modes. */
|
#ifndef _MATH_TESTS_EXCEPTIONS_H
|
||||||
#ifndef __mcffpu__
|
#define _MATH_TESTS_EXCEPTIONS_H 1
|
||||||
# define EXCEPTION_TESTS_float 0
|
|
||||||
# define EXCEPTION_TESTS_double 0
|
|
||||||
# define EXCEPTION_TESTS_long_double 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include_next <math-tests.h>
|
/* Indicate whether to run tests of floating-point exceptions for a
|
||||||
|
given floating-point type, given that the exception macros are
|
||||||
|
defined. All are run unless overridden. */
|
||||||
|
#define EXCEPTION_TESTS_float 1
|
||||||
|
#define EXCEPTION_TESTS_double 1
|
||||||
|
#define EXCEPTION_TESTS_long_double 1
|
||||||
|
#define EXCEPTION_TESTS_float128 1
|
||||||
|
|
||||||
|
#endif /* math-tests-exceptions.h. */
|
@ -39,22 +39,6 @@
|
|||||||
#define ROUNDING_TESTS(TYPE, MODE) \
|
#define ROUNDING_TESTS(TYPE, MODE) \
|
||||||
MATH_TESTS_TG (ROUNDING_TESTS_, (MODE), TYPE)
|
MATH_TESTS_TG (ROUNDING_TESTS_, (MODE), TYPE)
|
||||||
|
|
||||||
/* Indicate whether to run tests of floating-point exceptions for a
|
|
||||||
given floating-point type, given that the exception macros are
|
|
||||||
defined. All are run unless overridden. */
|
|
||||||
#ifndef EXCEPTION_TESTS_float
|
|
||||||
# define EXCEPTION_TESTS_float 1
|
|
||||||
#endif
|
|
||||||
#ifndef EXCEPTION_TESTS_double
|
|
||||||
# define EXCEPTION_TESTS_double 1
|
|
||||||
#endif
|
|
||||||
#ifndef EXCEPTION_TESTS_long_double
|
|
||||||
# define EXCEPTION_TESTS_long_double 1
|
|
||||||
#endif
|
|
||||||
#ifndef EXCEPTION_TESTS_float128
|
|
||||||
# define EXCEPTION_TESTS_float128 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define EXCEPTION_TESTS(TYPE) MATH_TESTS_TG (EXCEPTION_TESTS_, , TYPE)
|
#define EXCEPTION_TESTS(TYPE) MATH_TESTS_TG (EXCEPTION_TESTS_, , TYPE)
|
||||||
|
|
||||||
/* Indicate whether the given exception trap(s) can be enabled
|
/* Indicate whether the given exception trap(s) can be enabled
|
||||||
@ -77,6 +61,7 @@
|
|||||||
# define EXCEPTION_SET_FORCES_TRAP 0
|
# define EXCEPTION_SET_FORCES_TRAP 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <math-tests-exceptions.h>
|
||||||
#include <math-tests-rounding.h>
|
#include <math-tests-rounding.h>
|
||||||
#include <math-tests-snan.h>
|
#include <math-tests-snan.h>
|
||||||
#include <math-tests-snan-cast.h>
|
#include <math-tests-snan-cast.h>
|
||||||
|
@ -20,13 +20,4 @@
|
|||||||
/* Trapping exceptions are not supported on RISC-V. */
|
/* Trapping exceptions are not supported on RISC-V. */
|
||||||
#define EXCEPTION_ENABLE_SUPPORTED(EXCEPT) ((EXCEPT) == 0)
|
#define EXCEPTION_ENABLE_SUPPORTED(EXCEPT) ((EXCEPT) == 0)
|
||||||
|
|
||||||
/* Despite not supporting trapping exceptions, we support setting
|
|
||||||
floating-point exception flags on hard-float targets. These are not
|
|
||||||
supported on soft-float targets. */
|
|
||||||
#ifndef __riscv_flen
|
|
||||||
# define EXCEPTION_TESTS_float 0
|
|
||||||
# define EXCEPTION_TESTS_double 0
|
|
||||||
# define EXCEPTION_TESTS_long_double 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include_next <math-tests.h>
|
#include_next <math-tests.h>
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
/* Configuration for math tests. MIPS version.
|
/* Configuration for math tests: support for exceptions. RISC-V
|
||||||
|
no-FPU version.
|
||||||
Copyright (C) 2013-2018 Free Software Foundation, Inc.
|
Copyright (C) 2013-2018 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
@ -16,14 +17,13 @@
|
|||||||
License along with the GNU C Library; if not, see
|
License along with the GNU C Library; if not, see
|
||||||
<http://www.gnu.org/licenses/>. */
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
#include <features.h>
|
#ifndef RISCV_NOFPU_MATH_TESTS_EXCEPTIONS_H
|
||||||
#include <sgidefs.h>
|
#define RISCV_NOFPU_MATH_TESTS_EXCEPTIONS_H 1
|
||||||
|
|
||||||
/* MIPS soft float does not support exceptions and rounding modes. */
|
/* We support setting floating-point exception flags on hard-float
|
||||||
#ifdef __mips_soft_float
|
targets. These are not supported on soft-float targets. */
|
||||||
# define EXCEPTION_TESTS_float 0
|
#define EXCEPTION_TESTS_float 0
|
||||||
# define EXCEPTION_TESTS_double 0
|
#define EXCEPTION_TESTS_double 0
|
||||||
# define EXCEPTION_TESTS_long_double 0
|
#define EXCEPTION_TESTS_long_double 0
|
||||||
#endif
|
|
||||||
|
|
||||||
#include_next <math-tests.h>
|
#endif /* math-tests-exceptions.h. */
|
Reference in New Issue
Block a user