[patch, libgfortran, power-ieee128] Add multiple defaults for GFORTRAN_CONVERT_UNIT
Thomas Koenig
tkoenig@netcologne.de
Thu Jan 13 21:58:25 GMT 2022
Hello world,
with this patch, it is now possible to specify both the
endianness and the REAL(KIND=16) format using the
environment variable GFORTRAN_CONVERT_UNIT. The following
now works:
koenig@gcc-fortran:~/Tst$ cat write_env.f90
program main
real(kind=16) :: x
character (len=30) :: conv
x = 1/3._16
open
(10,file="out.dat",status="replace",access="stream",form="unformatted")
inquire(10,convert=conv)
print *,conv
write (10) 1/3._16
end program main
tkoenig@gcc-fortran:~/Tst$ gfortran -g -static-libgfortran write_env.f90
tkoenig@gcc-fortran:~/Tst$ GFORTRAN_CONVERT_UNIT="little_endian;r16_ibm"
&& ./a.out
LITTLE_ENDIAN,R16_IBM
tkoenig@gcc-fortran:~/Tst$
GFORTRAN_CONVERT_UNIT="little_endian;r16_ieee" && ./a.out
LITTLE_ENDIAN,R16_IEEE
tkoenig@gcc-fortran:~/Tst$ GFORTRAN_CONVERT_UNIT="big_endian;r16_ieee"
&& ./a.out
BIG_ENDIAN,R16_IEEE
tkoenig@gcc-fortran:~/Tst$ GFORTRAN_CONVERT_UNIT="big_endian;r16_ibm" &&
./a.out
BIG_ENDIAN,R16_IBM
Since the branch has been pushed to trunk, I don't think we need
it any more (or do we?), so OK for trunk?
Best regards
Thomas
Allow for multiple defaults in endianness and r16 in GFORTRAN_CONVERT_UNIT.
With this patch, it is possible to specify multiple defaults inthe
GFORTRAN_CONVERT_UNIT environment variable so that, for example, R16_IEEE
and BIG_ENDIAN can be specified together.
libgfortran/ChangeLog:
* runtime/environ.c: Allow for multiple default values so that
separate default specifications for IBM long double format and
endianness are possible.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: p7.diff
Type: text/x-patch
Size: 2829 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc-patches/attachments/20220113/caedfd96/attachment-0001.bin>
More information about the Gcc-patches
mailing list