Skip to content

Commit

Permalink
Move EXCEPTION_ENABLE_SUPPORTED out of math-tests.h.
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
jsm28 committed Aug 24, 2018
1 parent ca3aac5 commit 895ef79
Show file tree
Hide file tree
Showing 6 changed files with 64 additions and 19 deletions.
12 changes: 12 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
2018-08-24 Joseph Myers <[email protected]>

* 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 <[email protected]>

* math/Makefile: Remove empty files k_sin(f).c, k_cos(f).c.
Expand Down
Original file line number Diff line number Diff line change
@@ -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.
Expand All @@ -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. */
10 changes: 7 additions & 3 deletions sysdeps/arm/math-tests.h → sysdeps/arm/math-tests-trap.h
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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. */
32 changes: 32 additions & 0 deletions sysdeps/generic/math-tests-trap.h
Original file line number Diff line number Diff line change
@@ -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. */
12 changes: 1 addition & 11 deletions sysdeps/generic/math-tests.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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>
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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. */

0 comments on commit 895ef79

Please sign in to comment.