Re: [PATCH, fortran] PR93727 Implement new EX format specifier

"H.J. Lu" <[email protected]>
Newsgroups gmane.comp.gcc.patches,gmane.comp.gcc.fortran
Message-ID <CAMe9rOpd2kfGDb=4Ot67F+sK2LBpK7a0rn+Ro5q+VFnX14SKBQ@mail.gmail.com>
On Sun, May 24, 2026 at 10:05 AM Jerry D <[email protected]> wrote:
>
> On 5/22/26 2:18 PM, Harald Anlauf wrote:
>
> --- snip ---
>
>
> >>
> >> I will add the checks for real(10) and real(16) to the test case.
> >>
> >> I would like to commit this now and handle the rounding in a new PR or leave
> >> this one open and identify this as patch 1 of 2.
> >>
> >> Is this OK?
> >
> > OK, then make it so.
> >
> > Please adjust the commit message to indicate that this is a partial
> > EX implementation lacking proper rounding.
> >
>
> Done
>
> > Since reading the hex format is still missing, wouldn't it be
> > best to stick to the existing PR?  Otherwise a new PR could
> > lose information that is in the old one.
> >
>
> Keeping the PR open, added Harald as co-author for all his
> suggestions and the idea of using standard functions to extract
> the components.
>
> > Thanks for being so patient.
> >
> > Harald
>
> Committed:
>
> commit r17-702-g5d0a9050f3a1c1f9f8e89188dec3d6f39c64a06a
> Author: Jerry DeLisle <[email protected]>
> Date:   Sun May 10 18:13:48 2026 -0700
>
>      Fortran: [PR93727] Implement EX format specifier for WRITE
>
>      These changes implement a portion of the Fortran 2018
>      EX format specifier for WRITE output. Hexadecimal
>      floating point formats for KIND=4,8,10, and 16 real
>      numbers if supported by the configured machine.
>
>      Format tokens are added as place holders for future leading
>      zero specifiers.
>
>      Remaining to be completed is proper rounding of truncated
>      hex float strings and implementing the READ functions. These
>      will be a followup patches.
>
>              PR fortran/93727

I got

FAIL: gfortran.dg/EXformat_1.F90   -O0  execution test
FAIL: gfortran.dg/EXformat_1.F90   -O1  execution test
FAIL: gfortran.dg/EXformat_1.F90   -O2  execution test
FAIL: gfortran.dg/EXformat_1.F90   -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions  execution
test
FAIL: gfortran.dg/EXformat_1.F90   -O3 -g  execution test
FAIL: gfortran.dg/EXformat_1.F90   -Os  execution test
FAIL: gfortran.dg/EXformat_2.f90   -O0  execution test
FAIL: gfortran.dg/EXformat_2.f90   -O1  execution test
FAIL: gfortran.dg/EXformat_2.f90   -O2  execution test
FAIL: gfortran.dg/EXformat_2.f90   -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions  execution
test
FAIL: gfortran.dg/EXformat_2.f90   -O3 -g  execution test
FAIL: gfortran.dg/EXformat_2.f90   -Os  execution test
FAIL: go.test/test/fixedbugs/bug053.go execution,  -O2 -g

on Linux/x86-64:

Note: The following floating-point exceptions are signalling:
IEEE_INVALID_FLAG IEEE_UNDERFLOW_FLAG IEEE_DENORMAL
STOP 3
FAIL: gfortran.dg/EXformat_1.F90   -O0  execution test

-- 
H.J.
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.