glibc/manual
Joseph Myers 457663a7cd Add setpayloadsig, setpayloadsigf, setpayloadsigl.
TS 18661-1 defines functions for manipulating the payloads of NaNs.
This patch implements the setpayloadsig functions for glibc; these are
like the setpayload functions, but produce a signaling NaN instead of
a quiet NaN.

The substance of the implementation was included with the setpayload
implementation, so the new files here just need to wrap the main files
with different defines to build the new functions.

Because the functions store a signaling NaN via a pointer and the
libm-test macros choose a suitable initial value for the variable in
such a case by comparing with the expected value, the relevant macro
needs to clear exceptions after FE_INVALID may have been raised by
that comparison.

Tested for x86_64, x86, mips64 and powerpc.

	* math/bits/mathcalls.h [__GLIBC_USE (IEC_60559_BFP_EXT)]
	(setpayloadsig): New declaration.
	* math/Versions (setpayloadsig): New libm symbol at version
	GLIBC_2.25.
	(setpayloadsigf): Likewise.
	(setpayloadsigl): Likewise.
	* math/Makefile (libm-calls): Add s_setpayloadsigF.
	* math/libm-test.inc (RUN_TEST_Ff_b1): Call feclearexcept
	(FE_ALL_EXCEPT) after initializing EXTRA_VAR.
	(setpayloadsig_test_data): New array.
	(setpayloadsig_test): New function.
	(main): Call setpayloadsig_test.
	* manual/arith.texi (FP Bit Twiddling): Document setpayloadsig,
	setpayloadsigf and setpayloadsigl.
	* manual/libm-err-tab.pl: Update comment on interfaces without
	ulps tabulated.
	* sysdeps/ieee754/dbl-64/s_setpayloadsig.c: New file.
	* sysdeps/ieee754/flt-32/s_setpayloadsigf.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_setpayloadsigl.c: Likewise.
	* sysdeps/ieee754/ldbl-128ibm/s_setpayloadsigl.c: Likewise.
	* sysdeps/ieee754/ldbl-96/s_setpayloadsigl.c: Likewise.
	* sysdeps/ieee754/ldbl-opt/nldbl-setpayloadsig.c: Likewise.
	* sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Add
	setpayloadsig.
	(CFLAGS-nldbl-setpayloadsig.c): New variable.
	* sysdeps/nacl/libm.abilist: Update.
	* sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist:
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist:
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist:
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist:
	Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist:
	Likewise.
	* sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist:
	Likewise.
	* sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise.
2016-11-24 23:56:48 +00:00
..
examples libio: Multiple fixes for open_{w}memstram (BZ#18241 and BZ#20181) 2016-09-30 09:14:15 -07:00
argp.texi Manual typos: The Basic Program/System Interface 2016-10-06 12:19:25 +05:30
arith.texi Add setpayloadsig, setpayloadsigf, setpayloadsigl. 2016-11-24 23:56:48 +00:00
charset.texi manual: fix typos in character set handling 2016-06-16 00:45:37 -04:00
check-safety.sh Make shebang interpreter directives consistent 2016-01-07 04:03:21 -05:00
conf.texi Manual typos: System Configuration Parameters 2016-10-06 12:24:07 +05:30
contrib.texi Manual typos: Contributors to 2016-10-06 12:30:03 +05:30
creature.texi Support __STDC_WANT_IEC_60559_FUNCS_EXT__ feature test macro. 2016-08-03 22:21:37 +00:00
crypt.texi Manual typos: DES Encryption and Password Handling 2016-10-06 12:25:00 +05:30
ctype.texi manual: fix typos in the character handling chapter 2016-06-16 00:37:44 -04:00
debug.texi Manual typos: Debugging support 2016-10-06 12:25:38 +05:30
dir .. 2005-11-21 15:45:19 +00:00
errno.texi manual: fix typos in error reporting 2016-05-19 23:25:06 -04:00
fdl-1.3.texi BZ#13738: Switch manual to FDL 1.3. 2012-02-24 12:58:10 -08:00
filesys.texi Manual typos: File System Interface 2016-10-06 12:01:51 +05:30
freemanuals.texi Update to canonical freemanuals.texi file. 2013-09-24 14:06:56 -07:00
getopt.texi Manual typos: The Basic Program/System Interface 2016-10-06 12:19:25 +05:30
header.texi Use Texinfo macros to refer to the GNU C Library within the manual. 2012-02-28 14:44:20 +00:00
install-plain.texi BZ #15941: Fix INSTALL file regeneration failure with makeinfo 5.x 2013-12-05 09:58:20 +05:30
install.texi Add configure check to test if gcc supports attribute ifunc. 2016-10-07 10:02:59 +02:00
intro.texi manual: fix typo in the introduction 2016-05-19 23:22:59 -04:00
io.texi Clean up glibc manual references to "GNU system" (bug 6911). 2012-03-08 01:27:38 +00:00
ipc.texi manual/ipc.texi: Fix AC-safety notes. 2014-04-08 17:12:15 -04:00
job.texi Manual typos: Job Control 2016-10-06 12:20:28 +05:30
lang.texi Manual typos: C Language Facilities in the Library 2016-10-06 12:27:48 +05:30
lgpl-2.1.texi Use canonical FSF .texi files for LGPL and FDL texts. 2011-06-06 16:16:55 -07:00
libc-texinfo.sh Make shebang interpreter directives consistent 2016-01-07 04:03:21 -05:00
libc.texinfo Fix doc quoting problems with Texinfo 5 2016-01-10 00:20:51 -08:00
libcbook.texi initial import 1995-02-18 01:27:10 +00:00
libdl.texi * manual/libdl.texi: New. 2014-01-31 23:23:59 -02:00
libm-err-tab.pl Add setpayloadsig, setpayloadsigf, setpayloadsigl. 2016-11-24 23:56:48 +00:00
llio.texi Manual typos: Low-Level Input/Output 2016-10-06 11:58:02 +05:30
locale.texi manual: fix spelling typos 2016-06-16 00:59:57 -04:00
macros.texi Fix exponents in manual. 2015-08-20 09:43:50 +02:00
maint.texi Manual typos: Library Maintenance 2016-10-06 12:29:11 +05:30
Makefile Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
math.texi Correct clog10 documentation (bug 19673). 2016-11-01 18:38:52 +00:00
memory.texi Remove references to sbrk to grow/shrink arenas 2016-10-26 15:07:07 +05:30
message.texi manual: fix typos in the message chapter 2016-06-16 01:14:32 -04:00
nss.texi Manual typos: System Databases and Name Service Switch 2016-10-06 12:36:26 +05:30
nsswitch.texi update from main archive 960814 1996-08-15 01:23:29 +00:00
pattern.texi manual: fix typos in the pattern chapter 2016-06-16 01:34:38 -04:00
pipe.texi * manual/pipe.texi: Document MTASC-safety properties. 2014-01-31 23:37:28 -02:00
platform.texi PowerPC: Extend Program Priority Register support 2015-08-19 17:43:26 -03:00
probes.texi Manual typos: Internal probes 2016-10-06 12:26:35 +05:30
process.texi Manual typos: Processes 2016-10-06 12:20:00 +05:30
resource.texi Manual typos: Resource Usage and Limitation 2016-10-06 12:16:53 +05:30
search.texi manual: fix typos in the search chapter 2016-06-16 01:24:16 -04:00
setjmp.texi Manual typos: Non-Local Exits 2016-10-06 12:17:29 +05:30
signal.texi Manual typos: Signal Handling 2016-10-06 12:18:05 +05:30
socket.texi Manual typos: Sockets 2016-10-06 12:05:11 +05:30
startup.texi Manual typos: The Basic Program/System Interface 2016-10-06 12:19:25 +05:30
stdio-fp.c update from main archive 970225 1997-02-25 05:18:05 +00:00
stdio.texi Manual typos: Input/Output on Streams 2016-10-06 11:55:58 +05:30
string.texi manual: Clarify the documentation of strverscmp [BZ #20524] 2016-09-21 15:41:17 +02:00
summary.awk Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sysinfo.texi manual: Remove non-existent mount options S_IMMUTABLE and S_APPEND [BZ #11235] 2016-11-15 15:56:00 -05:00
syslog.texi Manual typos: Syslog 2016-10-06 12:08:46 +05:30
terminal.texi Manual typos: Low-Level Terminal Interface 2016-10-06 12:07:28 +05:30
texinfo.tex Update miscellaneous files from upstream sources. 2016-01-05 18:04:06 +00:00
texis.awk Correct close statement. 2001-05-18 13:01:32 +00:00
threads.texi Manual typos: POSIX Threads 2016-10-06 12:26:06 +05:30
time.texi Manual typos: Date and Time 2016-10-06 12:14:36 +05:30
tsort.awk Make shebang interpreter directives consistent 2016-01-07 04:03:21 -05:00
users.texi Manual typos: Users and Groups 2016-10-06 12:21:46 +05:30
xtract-typefun.awk Make shebang interpreter directives consistent 2016-01-07 04:03:21 -05:00