diff options
author | Thomas Schwinge <thomas@codesourcery.com> | 2013-04-02 13:51:02 +0200 |
---|---|---|
committer | Thomas Schwinge <thomas@codesourcery.com> | 2013-04-02 13:51:02 +0200 |
commit | 572676160d5639edc0ecb663147bd291841458d1 (patch) | |
tree | 26abea75b21e81f568075075249aa3dbedad20c7 /ports/sysdeps | |
parent | 60c414c346a1d5ef0510ffbdc0ab75f288ee4d3f (diff) | |
download | glibc-572676160d5639edc0ecb663147bd291841458d1.tar.gz glibc-572676160d5639edc0ecb663147bd291841458d1.tar.xz glibc-572676160d5639edc0ecb663147bd291841458d1.zip |
New <math.h> macro named issignaling to check for a signaling NaN (sNaN).
It is based on draft TS 18661 and currently enabled as a GNU extension.
Diffstat (limited to 'ports/sysdeps')
15 files changed, 113 insertions, 0 deletions
diff --git a/ports/sysdeps/hppa/math_private.h b/ports/sysdeps/hppa/math_private.h new file mode 100644 index 0000000000..03b0711e06 --- /dev/null +++ b/ports/sysdeps/hppa/math_private.h @@ -0,0 +1,27 @@ +/* Internal math stuff. HPPA version. + Copyright (C) 2013 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_PRIVATE_H + +/* One of the few architectures where the meaning of the quiet/signaling bit is + inverse to IEEE 754-2008 (as well as common practice for IEEE 754-1985). */ +#define HIGH_ORDER_BIT_IS_SET_FOR_SNAN + +#include_next <math_private.h> + +#endif diff --git a/ports/sysdeps/mips/math_private.h b/ports/sysdeps/mips/math_private.h new file mode 100644 index 0000000000..f0ba4ee706 --- /dev/null +++ b/ports/sysdeps/mips/math_private.h @@ -0,0 +1,27 @@ +/* Internal math stuff. MIPS version. + Copyright (C) 2013 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_PRIVATE_H + +/* One of the few architectures where the meaning of the quiet/signaling bit is + inverse to IEEE 754-2008 (as well as common practice for IEEE 754-1985). */ +#define HIGH_ORDER_BIT_IS_SET_FOR_SNAN + +#include_next <math_private.h> + +#endif diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libm.abilist b/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libm.abilist index 14b7edfe2e..0f1cfc8702 100644 --- a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libm.abilist +++ b/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libm.abilist @@ -395,3 +395,8 @@ GLIBC_2.17 yn F ynf F ynl F +GLIBC_2.18 + GLIBC_2.18 A + __issignaling F + __issignalingf F + __issignalingl F diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nptl/libm.abilist b/ports/sysdeps/unix/sysv/linux/alpha/nptl/libm.abilist index 9c4170dbe4..400a851d4d 100644 --- a/ports/sysdeps/unix/sysv/linux/alpha/nptl/libm.abilist +++ b/ports/sysdeps/unix/sysv/linux/alpha/nptl/libm.abilist @@ -391,6 +391,11 @@ GLIBC_2.15 __yn_finite F __ynf_finite F __ynl_finite F +GLIBC_2.18 + GLIBC_2.18 A + __issignaling F + __issignalingf F + __issignalingl F GLIBC_2.2 GLIBC_2.2 A feclearexcept F diff --git a/ports/sysdeps/unix/sysv/linux/arm/nptl/libm.abilist b/ports/sysdeps/unix/sysv/linux/arm/nptl/libm.abilist index cee34728d8..614e5ebe5c 100644 --- a/ports/sysdeps/unix/sysv/linux/arm/nptl/libm.abilist +++ b/ports/sysdeps/unix/sysv/linux/arm/nptl/libm.abilist @@ -54,6 +54,10 @@ GLIBC_2.15 __y1f_finite F __yn_finite F __ynf_finite F +GLIBC_2.18 + GLIBC_2.18 A + __issignaling F + __issignalingf F GLIBC_2.4 GLIBC_2.4 A _LIB_VERSION D 0x4 diff --git a/ports/sysdeps/unix/sysv/linux/ia64/nptl/libm.abilist b/ports/sysdeps/unix/sysv/linux/ia64/nptl/libm.abilist index 1fb51a118d..db8b279110 100644 --- a/ports/sysdeps/unix/sysv/linux/ia64/nptl/libm.abilist +++ b/ports/sysdeps/unix/sysv/linux/ia64/nptl/libm.abilist @@ -18,6 +18,11 @@ GLIBC_2.15 __yn_finite F __ynf_finite F __ynl_finite F +GLIBC_2.18 + GLIBC_2.18 A + __issignaling F + __issignalingf F + __issignalingl F GLIBC_2.2 GLIBC_2.2 A _LIB_VERSION D 0x4 diff --git a/ports/sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libm.abilist b/ports/sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libm.abilist index cee34728d8..614e5ebe5c 100644 --- a/ports/sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libm.abilist +++ b/ports/sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libm.abilist @@ -54,6 +54,10 @@ GLIBC_2.15 __y1f_finite F __yn_finite F __ynf_finite F +GLIBC_2.18 + GLIBC_2.18 A + __issignaling F + __issignalingf F GLIBC_2.4 GLIBC_2.4 A _LIB_VERSION D 0x4 diff --git a/ports/sysdeps/unix/sysv/linux/m68k/m680x0/nptl/libm.abilist b/ports/sysdeps/unix/sysv/linux/m68k/m680x0/nptl/libm.abilist index 35fc1e3d72..0beecb7246 100644 --- a/ports/sysdeps/unix/sysv/linux/m68k/m680x0/nptl/libm.abilist +++ b/ports/sysdeps/unix/sysv/linux/m68k/m680x0/nptl/libm.abilist @@ -396,6 +396,11 @@ GLIBC_2.15 __yn_finite F __ynf_finite F __ynl_finite F +GLIBC_2.18 + GLIBC_2.18 A + __issignaling F + __issignalingf F + __issignalingl F GLIBC_2.2 GLIBC_2.2 A feclearexcept F diff --git a/ports/sysdeps/unix/sysv/linux/mips/mips32/nptl/libm.abilist b/ports/sysdeps/unix/sysv/linux/mips/mips32/nptl/libm.abilist index defa1b0b49..53812463c4 100644 --- a/ports/sysdeps/unix/sysv/linux/mips/mips32/nptl/libm.abilist +++ b/ports/sysdeps/unix/sysv/linux/mips/mips32/nptl/libm.abilist @@ -212,6 +212,10 @@ GLIBC_2.15 __y1f_finite F __yn_finite F __ynf_finite F +GLIBC_2.18 + GLIBC_2.18 A + __issignaling F + __issignalingf F GLIBC_2.2 GLIBC_2.2 A __clog10 F diff --git a/ports/sysdeps/unix/sysv/linux/mips/mips64/n32/nptl/libm.abilist b/ports/sysdeps/unix/sysv/linux/mips/mips64/n32/nptl/libm.abilist index 064eeba0b1..bb39795179 100644 --- a/ports/sysdeps/unix/sysv/linux/mips/mips64/n32/nptl/libm.abilist +++ b/ports/sysdeps/unix/sysv/linux/mips/mips64/n32/nptl/libm.abilist @@ -239,6 +239,11 @@ GLIBC_2.15 __yn_finite F __ynf_finite F __ynl_finite F +GLIBC_2.18 + GLIBC_2.18 A + __issignaling F + __issignalingf F + __issignalingl F GLIBC_2.2 GLIBC_2.2 A __clog10 F diff --git a/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/nptl/libm.abilist b/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/nptl/libm.abilist index 064eeba0b1..bb39795179 100644 --- a/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/nptl/libm.abilist +++ b/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/nptl/libm.abilist @@ -239,6 +239,11 @@ GLIBC_2.15 __yn_finite F __ynf_finite F __ynl_finite F +GLIBC_2.18 + GLIBC_2.18 A + __issignaling F + __issignalingf F + __issignalingl F GLIBC_2.2 GLIBC_2.2 A __clog10 F diff --git a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libm.abilist b/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libm.abilist index ddc8576866..9bd593c0e9 100644 --- a/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libm.abilist +++ b/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libm.abilist @@ -396,6 +396,11 @@ GLIBC_2.15 __yn_finite F __ynf_finite F __ynl_finite F +GLIBC_2.18 + GLIBC_2.18 A + __issignaling F + __issignalingf F + __issignalingl F GLIBC_2.2 GLIBC_2.2 A feclearexcept F diff --git a/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libm.abilist b/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libm.abilist index 601b505ead..cb0d1a4423 100644 --- a/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libm.abilist +++ b/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/nptl/libm.abilist @@ -367,3 +367,7 @@ GLIBC_2.15 __y1f_finite F __yn_finite F __ynf_finite F +GLIBC_2.18 + GLIBC_2.18 A + __issignaling F + __issignalingf F diff --git a/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libm.abilist b/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libm.abilist index 601b505ead..cb0d1a4423 100644 --- a/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libm.abilist +++ b/ports/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/nptl/libm.abilist @@ -367,3 +367,7 @@ GLIBC_2.15 __y1f_finite F __yn_finite F __ynf_finite F +GLIBC_2.18 + GLIBC_2.18 A + __issignaling F + __issignalingf F diff --git a/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libm.abilist b/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libm.abilist index 601b505ead..cb0d1a4423 100644 --- a/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libm.abilist +++ b/ports/sysdeps/unix/sysv/linux/tile/tilepro/nptl/libm.abilist @@ -367,3 +367,7 @@ GLIBC_2.15 __y1f_finite F __yn_finite F __ynf_finite F +GLIBC_2.18 + GLIBC_2.18 A + __issignaling F + __issignalingf F |