[PATCH] Fortran: [PR93727] Add EX format READ (read_ex)
Jerry D
jvdelisle2@gmail.com
Sat Jun 6 21:15:41 GMT 2026
polite ping.
On 6/3/26 1:42 PM, Jerry D wrote:
> 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?
>
> 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.
> ---
More information about the Fortran
mailing list