diff options
author | Gabriel F. T. Gomes <gabrielftg@linux.ibm.com> | 2019-07-11 11:47:21 -0300 |
---|---|---|
committer | Gabriel F. T. Gomes <gabrielftg@linux.ibm.com> | 2019-11-22 18:13:20 -0300 |
commit | b370c5f014031b2d06bc54a6436e31b46ed0bf43 (patch) | |
tree | 183d25f33a0a246158408afccd14f76be1f63695 /sysdeps/ieee754/ldbl-128ibm-compat/Makefile | |
parent | a5b15bdec8015bac998f727d97667acfb17e90c0 (diff) | |
download | glibc-b370c5f014031b2d06bc54a6436e31b46ed0bf43.tar.gz glibc-b370c5f014031b2d06bc54a6436e31b46ed0bf43.tar.xz glibc-b370c5f014031b2d06bc54a6436e31b46ed0bf43.zip |
ldbl-128ibm-compat: Add wide character scanning functions
Similarly to what was done for regular character scanning functions, this patch uses the new mode mask, SCANF_LDBL_USES_FLOAT128, in the 'mode' argument of the wide characters scanning function, __vfwscanf_internal (which is also extended to support scanning floating-point values with IEEE binary128, by redirecting calls to __wcstold_internal to __wcstof128_internal). Tested for powerpc64le. Reviewed-By: Paul E. Murphy <murphyp@linux.ibm.com>
Diffstat (limited to 'sysdeps/ieee754/ldbl-128ibm-compat/Makefile')
-rw-r--r-- | sysdeps/ieee754/ldbl-128ibm-compat/Makefile | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/sysdeps/ieee754/ldbl-128ibm-compat/Makefile b/sysdeps/ieee754/ldbl-128ibm-compat/Makefile index a1f0f7d74e..031ee0b38f 100644 --- a/sysdeps/ieee754/ldbl-128ibm-compat/Makefile +++ b/sysdeps/ieee754/ldbl-128ibm-compat/Makefile @@ -1,3 +1,11 @@ +ifeq ($(subdir),libio) +ldbl-extra-routines += fwscanf \ + swscanf \ + wscanf \ + vswscanf \ + vwscanf +endif + ifeq ($(subdir),stdio-common) ldbl-extra-routines += printf_size \ asprintf \ @@ -23,7 +31,8 @@ ldbl-extra-routines += printf_size \ sscanf \ vfscanf \ vscanf \ - vsscanf + vsscanf \ + vfwscanf # Printing long double values with IEEE binary128 format reuses part # of the internal float128 implementation (__printf_fp, __printf_fphex, @@ -34,6 +43,7 @@ ldbl-extra-routines += printf_size \ CFLAGS-vfprintf-internal.c += -mfloat128 -mabi=ibmlongdouble CFLAGS-vfwprintf-internal.c += -mfloat128 -mabi=ibmlongdouble CFLAGS-vfscanf-internal.c += -mfloat128 -mabi=ibmlongdouble +CFLAGS-vfwscanf-internal.c += -mfloat128 -mabi=ibmlongdouble # Basic tests for the implementation of long double with IEEE binary128 # format and for the related redirections in installed headers. @@ -51,9 +61,18 @@ CFLAGS-test-scanf-ibm128.c += -mabi=ibmlongdouble -Wno-psabi $(objpfx)test-scanf-ieee128: gnulib-tests += $(f128-loader-link) +tests-internal += test-wscanf-ieee128 test-wscanf-ibm128 +CFLAGS-test-wscanf-ieee128.c += -mfloat128 -mabi=ieeelongdouble -Wno-psabi +CFLAGS-test-wscanf-ibm128.c += -mabi=ibmlongdouble -Wno-psabi + +$(objpfx)test-wscanf-ieee128: gnulib-tests += $(f128-loader-link) + ifeq ($(run-built-tests),yes) tests-special += $(objpfx)test-scanf-ieee128.out tests-special += $(objpfx)test-scanf-ibm128.out + +tests-special += $(objpfx)test-wscanf-ieee128.out +tests-special += $(objpfx)test-wscanf-ibm128.out endif $(objpfx)test-scanf-ieee128.out: \ @@ -68,6 +87,18 @@ $(objpfx)test-scanf-ibm128.out: \ $(SHELL) $^ '$(test-program-prefix)' $@; \ $(evaluate-test) +$(objpfx)test-wscanf-ieee128.out: \ + ../sysdeps/ieee754/ldbl-128ibm-compat/test-scanf-ldbl-compat.sh \ + $(objpfx)test-wscanf-ieee128 + $(SHELL) $^ '$(test-program-prefix)' $@; \ + $(evaluate-test) + +$(objpfx)test-wscanf-ibm128.out: \ + ../sysdeps/ieee754/ldbl-128ibm-compat/test-scanf-ldbl-compat.sh \ + $(objpfx)test-wscanf-ibm128 + $(SHELL) $^ '$(test-program-prefix)' $@; \ + $(evaluate-test) + tests-internal += test-printf-size-ieee128 test-printf-size-ibm128 CFLAGS-test-printf-size-ieee128.c += -mfloat128 -mabi=ieeelongdouble -Wno-psabi CFLAGS-test-printf-size-ibm128.c += -mabi=ibmlongdouble -Wno-psabi |