[PATCH 00/14] stdio-common: Formatted scanf input specifier tests

Maciej W. Rozycki macro@orcam.me.uk
Mon Feb 10 16:18:15 GMT 2025


Hi 

 This is a collection of tests for formatted scanf input specifiers, 
complementing the earlier series for formatted printf output specifiers.  
Unlike with the earlier series we have a smaller number of possibilities 
with conversion specifications and therefore these tests use pregenerated 
input data in a textual form.  This data requires a couple of megabytes of 
storage and therefore the patchset has been organised as follows:

- 01/14 brings the common test code as well as test cases for 'scanf',
  and then base Makefile infrastructure plus target-agnostic input data, 
  for the character conversions and the `char', `short', and `long long' 
  integer ones, signed and unsigned,

- 02/14 brings Makefile infrastructure and `int' and `long' integer input 
  data, signed and unsigned, for ILP32 targets,

- 03/14 brings Makefile infrastructure and `int' and `long' integer input 
  data, signed and unsigned, for LP64 targets,

- 04/14 brings Makefile infrastructure and `float' real input data for 
  targets using the IEEE 754 binary32 format,

- 05/14 brings Makefile infrastructure and `double' real input data for 
  targets using the IEEE 754 binary64 format,

- 06/14 brings Makefile infrastructure and `long double' real input data
  for targets using the IEEE 754 binary128 format,

- 07/14 brings Makefile infrastructure and `long double' real input data 
  for targets using the Intel 80-bit format,

- 08/14 brings Makefile infrastructure and 64-bit `long double' real input 
  data for targets switching between the IEEE 754 binary64 and IEEE 754 
  binary128 formats with `-mlong-double-64' and `-mlong-double-128',

- 09/14 brings Makefile infrastructure and IBM 128-bit `long double' real 
  input for targets switching between the IEEE 754 binary128 and IBM 
  128-bit formats with `-mabi=ieeelongdouble' and `-mabi=ibmlongdouble',

- 10/14 brings Makefile infrastructure and test cases for 'fscanf',

- 11/14 brings Makefile infrastructure and test cases for 'sscanf',

- 12/14 brings Makefile infrastructure and test cases for 'vscanf',

- 13/14 brings Makefile infrastructure and test cases for 'vfscanf',

- 14/14 brings Makefile infrastructure and test cases for 'vsscanf'.

See individual change descriptions for further information.

 This has been verified with various targets to cover the common set of 
data types as well as target specific ones listed as below:

- `powerpc64le-linux-gnu' (IBM POWER9) native configuration for LP64 `int' 
  and `long', signed and unsigned, as well as switched IEEE 754 binary64, 
  binary128, and IBM 128-bit `long double',

- the same host and `riscv64-linux-gnu' (SiFive FU740) remote target for 
  LP64 `int' and `long', signed and unsigned, as well as plain IEEE 754 
  binary128 `long double',

- the same host and `mips-linux-gnu' (o32 ABI) (MIPS 74Kf) remote target
  for ILP32 `int' and `long', signed and unsigned,

- the same host and `alpha-linux-gnu' (DECchip 21064A EV45) remote target 
  for LP64 `int' and `long', signed and unsigned, as well as switched IEEE 
  754 binary64 and binary128 `long double',

- the same host and `i386-linux-gnu' (Intel Pentium MMX) remote target for 
  ILP32 `int' and `long', signed and unsigned, as well as Intel 80-bit 
  `long double'.

 Questions, comments, concerns?  Otherwise OK to apply?

  Maciej


More information about the Libc-alpha mailing list