Re: [PATCH] Fortran: [PR93727] Add EX format READ (read_ex)

Harald Anlauf <[email protected]> Sun, 7 Jun 2026 20:37:17 +0200
Newsgroups gmane.comp.gcc.patches,gmane.comp.gcc.fortran
Message-ID <[email protected]>
Hi Jerry!

Am 03.06.26 um 10:42 PM schrieb Jerry D:
> The following implements the last of the EX formatting work. The 
> attached patch has been regression tested on x86_64. The test case 
> provided round trip testing to ensure what we read is what we wrote.
> 
> OK for mainline?

Works here, LGTM.  OK for mainline.

The only missing piece seems to be for list-directed read,
see in particular F2023:13.7.2.3.2 F editing, clause (7).

(Intel and NAG support this.)

Thanks for the great work!

Harald

> Best regards,
> 
> Jerry
> ---
> Fortran: [PR93727] Add EX format READ (read_ex)
> 
> Implement read_ex in libgfortran to handle EX edit-descriptor input
> per Fortran 2023 13.7.2.3.6.  The input field may contain:
> 
>    * a hexadecimal-significand form (0X<sig>P<exp>) passed directly
>      to the C strtod/strtold family for exact bit-for-bit conversion;
>    * any form acceptable for Fw.d input (decimal fallback), including
>      INF and NAN representations.
> 
> For decimal input without a decimal point the d field of the EX.w.d
> descriptor adjusts the exponent exactly as for Fw.d.  BN/BZ blank
> handling and the kP scale factor are also supported via the shared
> decimal path.
> 
> Assisted by: Claude Sonnet 4.6
> 
>      PR fortran/93727
> 
> libgfortran/ChangeLog:
> 
>      * io/read.c (read_ex): New function implementing EX format read.
>      * io/io.h (read_ex): Declare.
>      * io/transfer.c (formatted_transfer_scalar_read): Add FMT_EX case
>      dispatching to read_ex.
> 
> gcc/testsuite/ChangeLog:
> 
>      * gfortran.dg/EXformat_4.F90: New test covering EX format read
>      for kind=4 and 8 (always) and kind=10, 16 (when available):
>      hex-significand literals, lowercase prefix, negative binary
>      exponent, decimal fallback, d-field adjustment, INF/NAN, zero
>      field, and round-trips through write_ex.
> ---
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.