gcc/libgfortran/io
Jerry DeLisle 91b30ee5b9 re PR fortran/25828 ([f2003] ACCESS='STREAM' io support)
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.

From-SVN: r116172
2006-08-15 23:06:44 +00:00
..
close.c re PR fortran/28335 (flush() / write() statement on closed units - error?) 2006-07-31 00:15:08 +00:00
file_pos.c re PR fortran/25828 ([f2003] ACCESS='STREAM' io support) 2006-08-15 23:06:44 +00:00
format.c re PR libfortran/27704 (Incorrect runtime error on multiple OPEN) 2006-07-04 01:36:31 +00:00
inquire.c re PR fortran/25828 ([f2003] ACCESS='STREAM' io support) 2006-08-15 23:06:44 +00:00
io.h re PR fortran/25828 ([f2003] ACCESS='STREAM' io support) 2006-08-15 23:06:44 +00:00
list_read.c re PR libfortran/27704 (Incorrect runtime error on multiple OPEN) 2006-07-04 01:36:31 +00:00
lock.c re PR fortran/14943 (read/write code generation is not thread safe) 2005-11-21 23:03:56 +01:00
open.c re PR fortran/25828 ([f2003] ACCESS='STREAM' io support) 2006-08-15 23:06:44 +00:00
read.c re PR fortran/25828 ([f2003] ACCESS='STREAM' io support) 2006-08-15 23:06:44 +00:00
size_from_kind.c random.c: Include config.h 2005-11-27 17:09:40 -05:00
transfer.c re PR fortran/25828 ([f2003] ACCESS='STREAM' io support) 2006-08-15 23:06:44 +00:00
unit.c re PR fortran/25828 ([f2003] ACCESS='STREAM' io support) 2006-08-15 23:06:44 +00:00
unix.c re PR libfortran/27757 (Problems with direct access io) 2006-05-29 23:39:53 +00:00
unix.h re PR fortran/14943 (read/write code generation is not thread safe) 2005-11-21 23:03:56 +01:00
write.c re PR libfortran/24685 (real(16) formatted input is broken for huge values (gfortran.dg/default_format_2.f90)) 2006-04-10 14:02:55 +02:00