]> git.ipfire.org Git - thirdparty/glibc.git/commit
ldbl-128ibm-compat: Add ISO C99 versions of scanf functions
authorGabriel F. T. Gomes <gabrielftg@linux.ibm.com>
Thu, 11 Jul 2019 14:47:43 +0000 (11:47 -0300)
committerGabriel F. T. Gomes <gabrielftg@linux.ibm.com>
Fri, 13 Dec 2019 21:02:09 +0000 (18:02 -0300)
commitf1a0eb5b6762b315517469da47735c51bde6f4ad
treeffc1415094cd0fe5e4a08c061fd59b7417005314
parent348787f06902b971d76dbab3f05d54c0b5c36131
ldbl-128ibm-compat: Add ISO C99 versions of scanf functions

In the format string for *scanf functions, the '%as', '%aS', and '%a[]'
modifiers behave differently depending on ISO C99 compatibility.  When
_GNU_SOURCE is defined and -std=c89 is passed to the compiler, these
functions behave like ascanf, and the modifiers allocate memory for the
output.  Otherwise, the ISO C99 compliant version of these functions is
used, and the modifiers consume a floating-point argument.  This patch
adds the IEEE binary128 variant of ISO C99 compliant functions for the
third long double format on powerpc64le.

Tested for powerpc64le.

Reviewed-by: Paul E. Murphy <murphyp@linux.ibm.com>
22 files changed:
sysdeps/ieee754/ldbl-128ibm-compat/Makefile
sysdeps/ieee754/ldbl-128ibm-compat/Versions
sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_fscanf.c [new file with mode: 0644]
sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_fwscanf.c [new file with mode: 0644]
sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_scanf.c [new file with mode: 0644]
sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_sscanf.c [new file with mode: 0644]
sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_swscanf.c [new file with mode: 0644]
sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_vfscanf.c [new file with mode: 0644]
sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_vfwscanf.c [new file with mode: 0644]
sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_vscanf.c [new file with mode: 0644]
sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_vsscanf.c [new file with mode: 0644]
sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_vswscanf.c [new file with mode: 0644]
sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_vwscanf.c [new file with mode: 0644]
sysdeps/ieee754/ldbl-128ibm-compat/ieee128-isoc99_wscanf.c [new file with mode: 0644]
sysdeps/ieee754/ldbl-128ibm-compat/test-isoc99-scanf-ibm128.c [new file with mode: 0644]
sysdeps/ieee754/ldbl-128ibm-compat/test-isoc99-scanf-ieee128.c [new file with mode: 0644]
sysdeps/ieee754/ldbl-128ibm-compat/test-isoc99-wscanf-ibm128.c [new file with mode: 0644]
sysdeps/ieee754/ldbl-128ibm-compat/test-isoc99-wscanf-ieee128.c [new file with mode: 0644]
sysdeps/ieee754/ldbl-128ibm-compat/test-scanf-ldbl-compat-template.c
sysdeps/ieee754/ldbl-128ibm-compat/test-scanf-ldbl-compat.c
sysdeps/ieee754/ldbl-128ibm-compat/test-scanf-ldbl-compat.sh
sysdeps/ieee754/ldbl-128ibm-compat/test-wscanf-ldbl-compat.c