aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/powerpc/fpu/fedisblxcpt.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/powerpc/fpu/fedisblxcpt.c')
-rw-r--r--sysdeps/powerpc/fpu/fedisblxcpt.c57
1 files changed, 0 insertions, 57 deletions
diff --git a/sysdeps/powerpc/fpu/fedisblxcpt.c b/sysdeps/powerpc/fpu/fedisblxcpt.c
deleted file mode 100644
index bb10b4701a..0000000000
--- a/sysdeps/powerpc/fpu/fedisblxcpt.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Disable floating-point exceptions.
- Copyright (C) 2000-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Geoffrey Keating <geoffk@geoffk.org>, 2000.
-
- 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_libc.h>
-
-int
-fedisableexcept (int excepts)
-{
- fenv_union_t fe, curr;
- int result, new;
-
- /* Get current exception mask to return. */
- fe.fenv = curr.fenv = fegetenv_register ();
- result = fenv_reg_to_exceptions (fe.l);
-
- if ((excepts & FE_ALL_INVALID) == FE_ALL_INVALID)
- excepts = (excepts | FE_INVALID) & ~ FE_ALL_INVALID;
-
- /* Sets the new exception mask. */
- if (excepts & FE_INEXACT)
- fe.l &= ~(1 << (31 - FPSCR_XE));
- if (excepts & FE_DIVBYZERO)
- fe.l &= ~(1 << (31 - FPSCR_ZE));
- if (excepts & FE_UNDERFLOW)
- fe.l &= ~(1 << (31 - FPSCR_UE));
- if (excepts & FE_OVERFLOW)
- fe.l &= ~(1 << (31 - FPSCR_OE));
- if (excepts & FE_INVALID)
- fe.l &= ~(1 << (31 - FPSCR_VE));
-
- if (fe.l != curr.l)
- fesetenv_register (fe.fenv);
-
- new = __fegetexcept ();
- if (new == 0 && result != 0)
- (void)__fe_mask_env ();
-
- if ((new & excepts) != 0)
- result = -1;
- return result;
-}