1
/* Set floating-point environment exception handling.
2
Copyright (C) 1997,98,99,2000,01,05,08,11 Free Software Foundation, Inc.
3
This file is part of the GNU C Library.
5
The GNU C Library is free software; you can redistribute it and/or
6
modify it under the terms of the GNU Lesser General Public
7
License as published by the Free Software Foundation; either
8
version 2.1 of the License, or (at your option) any later version.
10
The GNU C Library is distributed in the hope that it will be useful,
11
but WITHOUT ANY WARRANTY; without even the implied warranty of
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
Lesser General Public License for more details.
15
You should have received a copy of the GNU Lesser General Public
16
License along with the GNU C Library. If not, see
17
<http://www.gnu.org/licenses/>. */
21
#include <fpu_control.h>
25
#include <dl-procinfo.h>
29
__fesetexceptflag (const fexcept_t *flagp, int excepts)
31
if (GLRO (dl_hwcap) & HWCAP_ARM_VFP)
35
/* Get the current environment. */
38
/* Set the desired exception mask. */
39
temp &= ~(excepts & FE_ALL_EXCEPT);
40
temp |= (*flagp & excepts & FE_ALL_EXCEPT);
42
/* Save state back to the FPU. */
49
/* Unsupported, so fail unless nothing needs to be done. */
50
return (excepts != 0);
53
#include <shlib-compat.h>
54
#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
55
strong_alias (__fesetexceptflag, __old_fesetexceptflag)
56
compat_symbol (libm, __old_fesetexceptflag, fesetexceptflag, GLIBC_2_1);
59
versioned_symbol (libm, __fesetexceptflag, fesetexceptflag, GLIBC_2_2);