This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Move EXCEPTION_ENABLE_SUPPORTED out of math-tests.h [committed]


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.  Committed.

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.

diff --git a/sysdeps/aarch64/math-tests-trap.h b/sysdeps/aarch64/math-tests-trap.h
new file mode 100644
index 0000000000..b02cb3161e
--- /dev/null
+++ b/sysdeps/aarch64/math-tests-trap.h
@@ -0,0 +1,26 @@
+/* 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.
+
+   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 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)
+
+#endif /* math-tests-trap.h.  */
diff --git a/sysdeps/aarch64/math-tests.h b/sysdeps/aarch64/math-tests.h
deleted file mode 100644
index 46cc33741f..0000000000
--- a/sysdeps/aarch64/math-tests.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Configuration for math tests.  AArch64 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/>.  */
-
-/* Trapping exceptions are optional on AArch64.  */
-#define EXCEPTION_ENABLE_SUPPORTED(EXCEPT)	((EXCEPT) == 0)
-
-#include_next <math-tests.h>
diff --git a/sysdeps/arm/math-tests-trap.h b/sysdeps/arm/math-tests-trap.h
new file mode 100644
index 0000000000..855f0daa28
--- /dev/null
+++ b/sysdeps/arm/math-tests-trap.h
@@ -0,0 +1,26 @@
+/* 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
+   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 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)
+
+#endif /* math-tests-trap.h.  */
diff --git a/sysdeps/arm/math-tests.h b/sysdeps/arm/math-tests.h
deleted file mode 100644
index 6f5aed453d..0000000000
--- a/sysdeps/arm/math-tests.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Configuration for math tests.  ARM 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
-   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/>.  */
-
-/* Not all VFP implementations support trapping exceptions.  */
-#define EXCEPTION_ENABLE_SUPPORTED(EXCEPT)	((EXCEPT) == 0)
-
-#include_next <math-tests.h>
diff --git a/sysdeps/generic/math-tests-trap.h b/sysdeps/generic/math-tests-trap.h
new file mode 100644
index 0000000000..4f759cb968
--- /dev/null
+++ b/sysdeps/generic/math-tests-trap.h
@@ -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.  */
diff --git a/sysdeps/generic/math-tests.h b/sysdeps/generic/math-tests.h
index bbcecd2819..53502fff2a 100644
--- a/sysdeps/generic/math-tests.h
+++ b/sysdeps/generic/math-tests.h
@@ -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>
diff --git a/sysdeps/riscv/math-tests-trap.h b/sysdeps/riscv/math-tests-trap.h
new file mode 100644
index 0000000000..7ea3d0c452
--- /dev/null
+++ b/sysdeps/riscv/math-tests-trap.h
@@ -0,0 +1,26 @@
+/* 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.
+
+   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 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)
+
+#endif /* math-tests-trap.h.  */
diff --git a/sysdeps/riscv/math-tests.h b/sysdeps/riscv/math-tests.h
deleted file mode 100644
index 6dd08c8757..0000000000
--- a/sysdeps/riscv/math-tests.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Configuration for math tests.  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
-   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/>.  */
-
-/* Trapping exceptions are not supported on RISC-V.  */
-#define EXCEPTION_ENABLE_SUPPORTED(EXCEPT)	((EXCEPT) == 0)
-
-#include_next <math-tests.h>

-- 
Joseph S. Myers
joseph@codesourcery.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]