Move EXCEPTION_ENABLE_SUPPORTED 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_ENABLE_SUPPORTED macro out to its own
math-tests-trap.h header.

Tested with build-many-glibcs.py.

	* sysdeps/generic/math-tests-trap.h: New file.
	* sysdeps/generic/math-tests.h: Include <math-tests-trap.h>.
	(EXCEPTION_ENABLE_SUPPORTED): Do not define here.
	* sysdeps/aarch64/math-tests.h: Remove file.
	* sysdeps/arm/math-tests.h: Likewise.
	* sysdeps/riscv/math-tests.h: Likewise.
	* sysdeps/aarch64/math-tests-trap.h: New file.
	* sysdeps/arm/math-tests-trap.h: Likewise.
	* sysdeps/riscv/math-tests-trap.h: Likewise.
This commit is contained in:
Joseph Myers 2018-08-24 19:18:16 +00:00
parent ca3aac57ef
commit 895ef79e04
6 changed files with 64 additions and 19 deletions

View File

@ -1,3 +1,15 @@
2018-08-24 Joseph Myers <joseph@codesourcery.com>
* sysdeps/generic/math-tests-trap.h: New file.
* sysdeps/generic/math-tests.h: Include <math-tests-trap.h>.
(EXCEPTION_ENABLE_SUPPORTED): Do not define here.
* sysdeps/aarch64/math-tests.h: Remove file.
* sysdeps/arm/math-tests.h: Likewise.
* sysdeps/riscv/math-tests.h: Likewise.
* sysdeps/aarch64/math-tests-trap.h: New file.
* sysdeps/arm/math-tests-trap.h: Likewise.
* sysdeps/riscv/math-tests-trap.h: Likewise.
2018-08-24 Wilco Dijkstra <wdijkstr@arm.com>
* math/Makefile: Remove empty files k_sin(f).c, k_cos(f).c.

View File

@ -1,4 +1,5 @@
/* Configuration for math tests. AArch64 version.
/* Configuration for math tests: support for enabling exception traps.
AArch64 version.
Copyright (C) 2014-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
@ -16,7 +17,10 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#ifndef AARCH64_MATH_TESTS_TRAP_H
#define AARCH64_MATH_TESTS_TRAP_H 1
/* Trapping exceptions are optional on AArch64. */
#define EXCEPTION_ENABLE_SUPPORTED(EXCEPT) ((EXCEPT) == 0)
#include_next <math-tests.h>
#endif /* math-tests-trap.h. */

View File

@ -1,5 +1,6 @@
/* Configuration for math tests. ARM version.
Copyright (C) 2013-2018 Free Software Foundation, Inc.
/* Configuration for math tests: support for enabling exception traps.
ARM version.
Copyright (C) 2014-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,7 +17,10 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#ifndef ARM_MATH_TESTS_TRAP_H
#define ARM_MATH_TESTS_TRAP_H 1
/* Not all VFP implementations support trapping exceptions. */
#define EXCEPTION_ENABLE_SUPPORTED(EXCEPT) ((EXCEPT) == 0)
#include_next <math-tests.h>
#endif /* math-tests-trap.h. */

View File

@ -0,0 +1,32 @@
/* Configuration for math tests: support for enabling exception traps.
Generic version.
Copyright (C) 2014-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
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#ifndef _MATH_TESTS_TRAP_H
#define _MATH_TESTS_TRAP_H 1
/* Indicate whether the given exception trap(s) can be enabled in
feenableexcept. If non-zero, the traps are always supported. If
zero, traps may or may not be supported depending on the target
(this can be determined by checking the return value of
feenableexcept). This enables skipping of tests which use traps.
By default traps are supported unless overridden. */
#define EXCEPTION_ENABLE_SUPPORTED(EXCEPT) \
(EXCEPTION_TESTS_float || EXCEPTION_TESTS_double)
#endif /* math-tests-trap.h. */

View File

@ -41,17 +41,6 @@
#define EXCEPTION_TESTS(TYPE) MATH_TESTS_TG (EXCEPTION_TESTS_, , TYPE)
/* Indicate whether the given exception trap(s) can be enabled
in feenableexcept. If non-zero, the traps are always supported.
If zero, traps may or may not be supported depending on the
target (this can be determined by checking the return value
of feenableexcept). This enables skipping of tests which use
traps. By default traps are supported unless overridden. */
#ifndef EXCEPTION_ENABLE_SUPPORTED
# define EXCEPTION_ENABLE_SUPPORTED(EXCEPT) \
(EXCEPTION_TESTS_float || EXCEPTION_TESTS_double)
#endif
/* Indicate whether exception traps, if enabled, occur whenever an
exception flag is set explicitly, so it is not possible to set flag
bits with traps enabled without causing traps to be taken. If
@ -66,3 +55,4 @@
#include <math-tests-snan.h>
#include <math-tests-snan-cast.h>
#include <math-tests-snan-payload.h>
#include <math-tests-trap.h>

View File

@ -1,7 +1,7 @@
/* Configuration for math tests. RISC-V version
/* Configuration for math tests: support for enabling exception traps.
RISC-V version.
Copyright (C) 2014-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Copied from the aarch64 version
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
@ -17,7 +17,10 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#ifndef RISCV_MATH_TESTS_TRAP_H
#define RISCV_MATH_TESTS_TRAP_H 1
/* Trapping exceptions are not supported on RISC-V. */
#define EXCEPTION_ENABLE_SUPPORTED(EXCEPT) ((EXCEPT) == 0)
#include_next <math-tests.h>
#endif /* math-tests-trap.h. */