public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: Paul E Murphy <murphyp@linux.ibm.com>
To: "Gabriel F. T. Gomes" <gabriel@inconstante.net.br>,
	libc-alpha@sourceware.org
Subject: Re: [PATCH v2 08/30] ldbl-128ibm-compat: Add wide character scanning functions
Date: Mon, 04 Nov 2019 17:47:00 -0000	[thread overview]
Message-ID: <de4e5cad-6834-e4af-4ffa-49d20901b72d@linux.ibm.com> (raw)
In-Reply-To: <20191025153410.15405-9-gabriel@inconstante.net.br>



On 10/25/19 10:33 AM, Gabriel F. T. Gomes wrote:
> From: "Gabriel F. T. Gomes" <gabrielftg@linux.ibm.com>
> 
> No changes since v1.
> 
> -- 8< --
> 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.
> ---
>   sysdeps/ieee754/ldbl-128ibm-compat/Makefile   | 33 ++++++++++++++-
>   sysdeps/ieee754/ldbl-128ibm-compat/Versions   |  8 ++++
>   .../ldbl-128ibm-compat/ieee128-fwscanf.c      | 35 ++++++++++++++++
>   .../ldbl-128ibm-compat/ieee128-swscanf.c      | 40 +++++++++++++++++++
>   .../ldbl-128ibm-compat/ieee128-vfwscanf.c     | 27 +++++++++++++
>   .../ldbl-128ibm-compat/ieee128-vswscanf.c     | 32 +++++++++++++++
>   .../ldbl-128ibm-compat/ieee128-vwscanf.c      | 27 +++++++++++++
>   .../ldbl-128ibm-compat/ieee128-wscanf.c       | 35 ++++++++++++++++
>   .../ldbl-128ibm-compat/test-wscanf-ibm128.c   |  1 +
>   .../ldbl-128ibm-compat/test-wscanf-ieee128.c  |  1 +
>   .../test-wscanf-ldbl-compat.c                 | 10 +++++
>   11 files changed, 248 insertions(+), 1 deletion(-)
>   create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-fwscanf.c
>   create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-swscanf.c
>   create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vfwscanf.c
>   create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vswscanf.c
>   create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vwscanf.c
>   create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-wscanf.c
>   create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-wscanf-ibm128.c
>   create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-wscanf-ieee128.c
>   create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-wscanf-ldbl-compat.c

With exception to some minor comments in my previous reviews, are there 
any additional suggestions from the community? The *printf and *scanf 
patches look ready to commit.

Reviewed-By Paul E. Murphy <murphyp@linux.vnet.ibm.com>

> 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

OK

> diff --git a/sysdeps/ieee754/ldbl-128ibm-compat/Versions b/sysdeps/ieee754/ldbl-128ibm-compat/Versions

OK

> diff --git a/sysdeps/ieee754/ldbl-128ibm-compat/ieee128-fwscanf.c b/sysdeps/ieee754/ldbl-128ibm-compat/ieee128-fwscanf.c
> diff --git a/sysdeps/ieee754/ldbl-128ibm-compat/ieee128-swscanf.c b/sysdeps/ieee754/ldbl-128ibm-compat/ieee128-swscanf.c
> diff --git a/sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vfwscanf.c b/sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vfwscanf. > diff --git a/sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vswscanf.c 
b/sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vswscanf.c
> diff --git a/sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vwscanf.c b/sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vwscanf.c
> diff --git a/sysdeps/ieee754/ldbl-128ibm-compat/ieee128-wscanf.c b/sysdeps/ieee754/ldbl-128ibm-compat/ieee128-wscanf.c

OK

> diff --git a/sysdeps/ieee754/ldbl-128ibm-compat/test-wscanf-ibm128.c b/sysdeps/ieee754/ldbl-128ibm-compat/test-wscanf-ibm128.c
> new file mode 100644
> index 0000000000..ef21fc4741
> --- /dev/null
> +++ b/sysdeps/ieee754/ldbl-128ibm-compat/test-wscanf-ibm128.c
> @@ -0,0 +1 @@
> +#include <test-wscanf-ldbl-compat.c>
> diff --git a/sysdeps/ieee754/ldbl-128ibm-compat/test-wscanf-ieee128.c b/sysdeps/ieee754/ldbl-128ibm-compat/test-wscanf-ieee128.c
> new file mode 100644
> index 0000000000..ef21fc4741
> --- /dev/null
> +++ b/sysdeps/ieee754/ldbl-128ibm-compat/test-wscanf-ieee128.c
> @@ -0,0 +1 @@
> +#include <test-wscanf-ldbl-compat.c>
> diff --git a/sysdeps/ieee754/ldbl-128ibm-compat/test-wscanf-ldbl-compat.c b/sysdeps/ieee754/ldbl-128ibm-compat/test-wscanf-ldbl-compat.c
> new file mode 100644
> index 0000000000..e93cf3b9bd
> --- /dev/null
> +++ b/sysdeps/ieee754/ldbl-128ibm-compat/test-wscanf-ldbl-compat.c
> @@ -0,0 +1,10 @@
> +#define CHAR wchar_t
> +#define L(x) L##x
> +#define FSCANF fwscanf
> +#define SSCANF swscanf
> +#define SCANF wscanf
> +#define VFSCANF vfwscanf
> +#define VSSCANF vswscanf
> +#define VSCANF vwscanf
> +#define STRCPY wcscpy
> +#include <test-scanf-ldbl-compat-template.c>
> 

OK

  reply	other threads:[~2019-11-04 17:47 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-25 15:34 [PATCH v2 00/30] Add IEEE long double <-> string functions for powerpc64le Gabriel F. T. Gomes
2019-10-25 15:34 ` [PATCH v2 02/30] ldbl-128ibm-compat: Add wide character printing functions Gabriel F. T. Gomes
2019-11-04 15:08   ` Paul E Murphy
2019-11-04 18:10     ` Gabriel F. T. Gomes
2019-11-04 20:11       ` Paul E Murphy
2019-10-25 15:34 ` [PATCH v2 03/30] ldbl-128ibm-compat: Add regular character, fortified " Gabriel F. T. Gomes
2019-11-04 15:43   ` Paul E Murphy
2019-11-05 19:37     ` Gabriel F. T. Gomes
2019-11-08 16:44       ` Paul E Murphy
2019-10-25 15:34 ` [PATCH v2 01/30] ldbl-128ibm-compat: Add regular character " Gabriel F. T. Gomes
2019-10-29 15:42   ` Paul E Murphy
2019-10-30 16:10     ` Gabriel F. T. Gomes
2019-10-25 15:35 ` [PATCH v2 10/30] ldbl-128ibm-compat: Add err.h functions Gabriel F. T. Gomes
2019-11-08 20:22   ` Paul E Murphy
2019-11-13 14:24     ` Gabriel F. T. Gomes
2019-11-27 19:11       ` Gabriel F. T. Gomes
2019-10-25 15:35 ` [PATCH v2 07/30] ldbl-128ibm-compat: Add regular character scanning functions Gabriel F. T. Gomes
2019-11-14 21:36   ` Paul E Murphy
2019-10-25 15:35 ` [PATCH v2 05/30] ldbl-128ibm-compat: Test double values Gabriel F. T. Gomes
2019-11-04 16:16   ` Paul E Murphy
2019-10-25 15:35 ` [PATCH v2 08/30] ldbl-128ibm-compat: Add wide character scanning functions Gabriel F. T. Gomes
2019-11-04 17:47   ` Paul E Murphy [this message]
2019-11-11 14:33     ` Gabriel F. T. Gomes
2019-11-22 22:34       ` Gabriel F. T. Gomes
2019-10-25 15:35 ` [PATCH v2 09/30] ldbl-128ibm-compat: Add argp_error and argp_failure Gabriel F. T. Gomes
2019-11-08 19:58   ` Paul E Murphy
2019-10-25 15:35 ` [PATCH v2 14/30] ldbl-128ibm-compat: Add obstack printing functions Gabriel F. T. Gomes
2019-11-08 23:42   ` Paul E Murphy
2019-11-27 19:11     ` Gabriel F. T. Gomes
2019-10-25 15:35 ` [PATCH v2 06/30] ldbl-128ibm-compat: Test positional arguments Gabriel F. T. Gomes
2019-11-04 16:55   ` Paul E Murphy
2019-11-06 17:28     ` Gabriel F. T. Gomes
2019-10-25 15:35 ` [PATCH v2 13/30] ldbl-128ibm-compat: Add ISO C99 versions of scanf functions Gabriel F. T. Gomes
2019-11-08 23:26   ` Paul E Murphy
2019-11-21 13:44     ` Gabriel F. T. Gomes
2019-11-22 22:49       ` Gabriel F. T. Gomes
2019-11-27 19:13         ` Gabriel F. T. Gomes
2019-10-25 15:35 ` [PATCH v2 15/30] ldbl-128ibm-compat: Add syslog functions Gabriel F. T. Gomes
2019-11-14 17:47   ` Paul E Murphy
2019-11-14 18:25   ` Florian Weimer
2019-11-27 19:12     ` Gabriel F. T. Gomes
2019-10-25 15:35 ` [PATCH v2 11/30] ldbl-128ibm-compat: Add error.h functions Gabriel F. T. Gomes
2019-11-08 22:21   ` Paul E Murphy
2019-10-25 15:36 ` [PATCH v2 04/30] ldbl-128ibm-compat: Add wide character, fortified printing functions Gabriel F. T. Gomes
2019-11-04 16:10   ` Paul E Murphy
2019-10-25 15:36 ` [PATCH v2 16/30] ldbl-128ibm-compat: Add strfmon_l with IEEE long double format Gabriel F. T. Gomes
2019-11-14 18:03   ` Paul E Murphy
2019-11-27 17:43     ` Gabriel F. T. Gomes
2019-12-03 16:57       ` Gabriel F. T. Gomes
2019-10-25 15:36 ` [PATCH v2 22/30] Refactor *cvt functions implementation (4/5) Gabriel F. T. Gomes
2019-10-25 15:36 ` [PATCH v2 23/30] Refactor *cvt functions implementation (5/5) Gabriel F. T. Gomes
2019-11-14 23:12   ` Paul E Murphy
2019-11-27 17:42     ` Gabriel F. T. Gomes
2019-10-25 15:36 ` [PATCH v2 21/30] Refactor *cvt functions implementation (3/5) Gabriel F. T. Gomes
2019-10-25 15:36 ` [PATCH v2 19/30] Refactor *cvt functions implementation (1/5) Gabriel F. T. Gomes
2019-10-25 15:36 ` [PATCH v2 12/30] ldbl-128ibm-compat: Reuse tests for err.h and error.h functions Gabriel F. T. Gomes
2019-11-08 22:25   ` Paul E Murphy
2019-10-25 15:36 ` [PATCH v2 20/30] Refactor *cvt functions implementation (2/5) Gabriel F. T. Gomes
2019-10-25 15:36 ` [PATCH v2 18/30] ldbl-128ibm-compat: Add tests for strfroml, strtold, and wcstold Gabriel F. T. Gomes
2019-11-14 18:26   ` Paul E Murphy
2019-11-27 17:47     ` Gabriel F. T. Gomes
2019-12-03 16:58       ` Gabriel F. T. Gomes
2019-10-25 15:37 ` [PATCH v2 17/30] ldbl-128ibm-compat: Add tests for strfmon and strfmon_l Gabriel F. T. Gomes
2019-11-14 18:11   ` Paul E Murphy
2019-12-03 16:58     ` Gabriel F. T. Gomes
2019-10-25 15:37 ` [PATCH v2 25/30] Do not redirect calls to __GI_* symbols, when redirecting to *ieee128 Gabriel F. T. Gomes
2019-10-25 15:37 ` [PATCH v2 24/30] ldbl-128ibm-compat: Add *cvt functions Gabriel F. T. Gomes
2019-10-25 15:37 ` [PATCH v2 28/30] ldbl-128ibm-compat: Do not mix -mabi=*longdouble and -mlong-double-128 Gabriel F. T. Gomes
2019-10-25 15:37 ` [PATCH v2 27/30] Avoid compat symbols for totalorder in powerpc64le IEEE long double Gabriel F. T. Gomes
2019-10-25 15:37 ` [PATCH v2 26/30] ldbl-128ibm-compat: Compiler flags for stdio functions Gabriel F. T. Gomes
2019-10-25 15:37 ` [PATCH v2 30/30] RFC: powerpc64le: Enable support for IEEE long double Gabriel F. T. Gomes
2019-10-25 15:37 ` [PATCH v2 29/30] powerpc64le: Require a compiler with -mno-gnu-attribute Gabriel F. T. Gomes

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=de4e5cad-6834-e4af-4ffa-49d20901b72d@linux.ibm.com \
    --to=murphyp@linux.ibm.com \
    --cc=gabriel@inconstante.net.br \
    --cc=libc-alpha@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).