PR fortran/15750
* io.c (gfc_match_inquire): Bugfix for iolength related stuff. (gfc_resolve_inquire): Resolve the iolength tag. Return SUCCESS at end of function if no failure has occured. * resolve.c (resolve_code): Resolve if iolength is encountered. * trans-io.c: (ioparm_iolength, iocall_iolength, iocall_iolength_done): New variables. (last_dt): Add IOLENGTH. (gfc_build_io_library_fndecls ): Set iolength related variables. (gfc_trans_iolength): Implement. (gfc_trans_dt_end): Treat iolength as a third form of data transfer. libgfortran/ PR fortran/15750 * inquire.c (st_inquire): Add comment * io.h (st_parameter): Add iolength. (st_iolength, st_iolength_done): Declare. * transfer.c (iolength_transfer, iolength_transfer_init, st_iolength, st_iolength_done): New functions. testsuite/ * gfortran.fortran-torture/execute/iolength_1.f90: New test. * gfortran.fortran-torture/execute/iolength_3.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83472 138bc75d-0d04-0410-961f-82ee72b054a4
Showing
- gcc/fortran/ChangeLog 14 additions, 0 deletionsgcc/fortran/ChangeLog
- gcc/fortran/io.c 3 additions, 2 deletionsgcc/fortran/io.c
- gcc/fortran/resolve.c 8 additions, 1 deletiongcc/fortran/resolve.c
- gcc/fortran/trans-io.c 76 additions, 13 deletionsgcc/fortran/trans-io.c
- gcc/testsuite/ChangeLog 5 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/gfortran.fortran-torture/execute/iolength_1.f90 16 additions, 0 deletions...testsuite/gfortran.fortran-torture/execute/iolength_1.f90
- gcc/testsuite/gfortran.fortran-torture/execute/iolength_3.f90 15 additions, 0 deletions...testsuite/gfortran.fortran-torture/execute/iolength_3.f90
- libgfortran/ChangeLog 9 additions, 0 deletionslibgfortran/ChangeLog
- libgfortran/io/inquire.c 2 additions, 0 deletionslibgfortran/io/inquire.c
- libgfortran/io/io.h 4 additions, 0 deletionslibgfortran/io/io.h
- libgfortran/io/transfer.c 51 additions, 0 deletionslibgfortran/io/transfer.c
Loading
Please register or sign in to comment