[Bug fortran/25828] [f2003] ACCESS='STREAM' io support

jvdelisle at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Tue Aug 15 23:07:00 GMT 2006



------- Comment #7 from jvdelisle at gcc dot gnu dot org  2006-08-15 23:06 -------
Subject: Bug 25828

Author: jvdelisle
Date: Tue Aug 15 23:06:44 2006
New Revision: 116172

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116172
Log:
2006-08-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

        PR libgfortran/25828
        * libgfortran.h: Rename GFC_LARGE_IO_INT to GFC_IO_INT.
        * io/file_pos.c (st_backspace): Ignore if access=STREAM.
        (st_rewind): Handle case of access=STREAM.
        * io/open.c (access_opt): Add STREAM_ACCESS.
        (edit_modes): Set current_record to zero only if not STREAM.
        (new_unit): Initialize maxrec, recl, and last_record for STREAM.
        * io/read.c (read_x): Advance file position for STREAM.
        * io/io.h (enum unit_access): Align IOPARM flags with frontend.
        Add ACCESS_STREAM. Add prototype for is_stream_io () function.
        Use GFC_IO_INT.
        * io/inquire.c (inquire_via_unit): Add text for access = "STREAM".
        * io/unit.c (is_stream_io): New function to return true if access =
        STREAM.
        * io/transfer.c (file_mode): Add modes for unformatted stream and
        formatted stream. (current_mode): Return appropriate file mode based
        on access flags.
        (read_block): Handle formatted stream reads.
        (read_block_direct): Handle unformatted stream reads.
        (write_block): Handle formatted stream writes.
        (write_buf): Handle unformatted stream writes.
        (unformatted_read): Fix up, use temporary for size.
        (pre_position): Position file for STREAM access.
        (data_transfer_init): Initialize for stream access, skip irrelevent
        error checks.
        (next_record_r),(next_record_w), and (next_record): Do nothing for
        stream I/O.
        (finalize_transfer): Flush when all done if stream I/O.

Modified:
    trunk/libgfortran/ChangeLog
    trunk/libgfortran/io/file_pos.c
    trunk/libgfortran/io/inquire.c
    trunk/libgfortran/io/io.h
    trunk/libgfortran/io/open.c
    trunk/libgfortran/io/read.c
    trunk/libgfortran/io/transfer.c
    trunk/libgfortran/io/unit.c
    trunk/libgfortran/libgfortran.h


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25828



More information about the Gcc-bugs mailing list