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>
|
||||
|
||||
* NEWS: Move optimized sinf entry to 2.29.
|
||||
|
@ -16,16 +16,6 @@
|
||||
License along with the GNU C Library; if not, see
|
||||
<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. */
|
||||
#define EXCEPTION_ENABLE_SUPPORTED(EXCEPT) ((EXCEPT) == 0)
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Configuration for math tests. Nios II version.
|
||||
Copyright (C) 2015-2018 Free Software Foundation, Inc.
|
||||
/* Configuration for math tests: support for exceptions. ARM no-FPU version.
|
||||
Copyright (C) 2013-2018 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Current Nios II soft-float does not support exceptions or rounding
|
||||
modes. */
|
||||
#ifndef ARM_NOFPU_MATH_TESTS_EXCEPTIONS_H
|
||||
#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_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.
|
||||
Copyright (C) 2018 Free Software Foundation, Inc.
|
||||
/* Configuration for math tests: support for exceptions. Generic version.
|
||||
Copyright (C) 2013-2018 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
/* ColdFire soft float does not support exceptions and rounding modes. */
|
||||
#ifndef __mcffpu__
|
||||
# define EXCEPTION_TESTS_float 0
|
||||
# define EXCEPTION_TESTS_double 0
|
||||
# define EXCEPTION_TESTS_long_double 0
|
||||
#endif
|
||||
#ifndef _MATH_TESTS_EXCEPTIONS_H
|
||||
#define _MATH_TESTS_EXCEPTIONS_H 1
|
||||
|
||||
#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) \
|
||||
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)
|
||||
|
||||
/* Indicate whether the given exception trap(s) can be enabled
|
||||
@ -77,6 +61,7 @@
|
||||
# define EXCEPTION_SET_FORCES_TRAP 0
|
||||
#endif
|
||||
|
||||
#include <math-tests-exceptions.h>
|
||||
#include <math-tests-rounding.h>
|
||||
#include <math-tests-snan.h>
|
||||
#include <math-tests-snan-cast.h>
|
||||
|
@ -20,13 +20,4 @@
|
||||
/* Trapping exceptions are not supported on RISC-V. */
|
||||
#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>
|
||||
|
@ -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.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
@ -16,14 +17,13 @@
|
||||
License along with the GNU C Library; if not, see
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <features.h>
|
||||
#include <sgidefs.h>
|
||||
#ifndef RISCV_NOFPU_MATH_TESTS_EXCEPTIONS_H
|
||||
#define RISCV_NOFPU_MATH_TESTS_EXCEPTIONS_H 1
|
||||
|
||||
/* MIPS soft float does not support exceptions and rounding modes. */
|
||||
#ifdef __mips_soft_float
|
||||
# define EXCEPTION_TESTS_float 0
|
||||
# define EXCEPTION_TESTS_double 0
|
||||
# define EXCEPTION_TESTS_long_double 0
|
||||
#endif
|
||||
/* We support setting floating-point exception flags on hard-float
|
||||
targets. These are not supported on soft-float targets. */
|
||||
#define EXCEPTION_TESTS_float 0
|
||||
#define EXCEPTION_TESTS_double 0
|
||||
#define EXCEPTION_TESTS_long_double 0
|
||||
|
||||
#include_next <math-tests.h>
|
||||
#endif /* math-tests-exceptions.h. */
|
Reference in New Issue
Block a user