This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [01/12] Add fesetexcept
- From: "Paul E. Murphy" <murphyp at linux dot vnet dot ibm dot com>
- To: Joseph Myers <joseph at codesourcery dot com>, libc-alpha at sourceware dot org
- Cc: marcus dot shawcroft at arm dot com, rth at redhat dot com, carlos at redhat dot com, vapier at gentoo dot org, schwab at suse dot de, stli at linux dot vnet dot ibm dot com, davem at davemloft dot net
- Date: Fri, 12 Aug 2016 10:49:21 -0500
- Subject: Re: [01/12] Add fesetexcept
- Authentication-results: sourceware.org; auth=none
- References: <alpine.DEB.2.20.1608112053120.1591@digraph.polyomino.org.uk>
On 08/11/2016 03:57 PM, Joseph Myers wrote:
> +++ b/math/test-fesetexcept-traps.c
> @@ -0,0 +1,68 @@
> +/* Test fesetexcept: exception traps enabled.
> + Copyright (C) 2016 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/>. */
> +
> +#include <fenv.h>
> +#include <stdio.h>
> +#include <math-tests.h>
> +
> +static int
> +do_test (void)
> +{
> + int result = 0;
> +
> + fedisableexcept (FE_ALL_EXCEPT);
> + int ret = feenableexcept (FE_ALL_EXCEPT);
> + if (!EXCEPTION_ENABLE_SUPPORTED (FE_ALL_EXCEPT) && (ret == -1))
> + {
> + puts ("feenableexcept (FE_ALL_EXCEPT) not supported, cannot test");
> + return 77;
> + }
> + else if (ret != 0)
> + {
> + puts ("feenableexcept (FE_ALL_EXCEPT) failed");
> + result = 1;
> + return result;
> + }
> +
> + if (EXCEPTION_SET_FORCES_TRAP)
> + {
> + puts ("setting exceptions traps, cannot test on this architecture");
> + return 77;
> + }
> + /* The test is that this does not cause exception traps. */
This is the test description. It would improve readability by reworking
it into the file description at the top.