[PATCH v3 02/11] ldbl-128ibm-compat: Add ISO C99 versions of scanf functions

Paul E Murphy murphyp@linux.ibm.com
Mon Dec 9 18:09:00 GMT 2019



On 12/3/19 11:05 AM, Gabriel F. T. Gomes wrote:
> From: "Gabriel F. T. Gomes" <gabrielftg@linux.ibm.com>
> 
> Changes since v2:
> 
>    - Removed ugly hacks after rebase against commit ID 93486ba583ec.
>    - Updated copyright years.
>    - Unified test case for GNU and ISO C99 versions (got rid of many
>      files in the process, including the new test template for C99).
>    - Fixed http URLs.
>    - Updated commit message.
> 
> No changes since v1.
> 
> -- 8< --
> 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>


> diff --git a/sysdeps/ieee754/ldbl-128ibm-compat/test-scanf-ldbl-compat-template.c b/sysdeps/ieee754/ldbl-128ibm-compat/test-scanf-ldbl-compat-template.c
> index 3dbed79b68..9bdf6daa0b 100644
> --- a/sysdeps/ieee754/ldbl-128ibm-compat/test-scanf-ldbl-compat-template.c
> +++ b/sysdeps/ieee754/ldbl-128ibm-compat/test-scanf-ldbl-compat-template.c

...

> +  /* For ISO C99, scan the single-precision value with "%as" to test
> +     that __isoc99_*scanf ignores the 's'.  For DEPRECATED_SCANF, do not
> +     use "%as", because that would try to scan a string and allocate
> +     space for it.  */
> +#if __GLIBC_USE (DEPRECATED_SCANF)
> +# define FMT "%La %a"
> +#else
> +# define FMT "%La %as"
> +#endif

That does simplify the patch nicely.  LGTM.



More information about the Libc-alpha mailing list