1. 15 Apr, 2012 1 commit
    • re PR libfortran/38199 (missed optimization: I/O performance) · 79617d7e
      2012-04-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR libfortran/38199
      	PR libfortran/50673
      	* intrinsics/string_intriniscs_inc.c (string_len_trim):
      	Remove prototypes for string_len_trim and move to...
      	* libgfortran.h (string_len_trim): ... here and
      	(string_len_trim_char4): ...here.
      	* io/unit.c: For non-array internal arrays where we do reading,
      	adjust the record length to the last non-blank character.
      	* io/unix.c:  Fix typo.
      
      From-SVN: r186466
      Thomas Koenig committed
  2. 26 Mar, 2012 1 commit
    • Combined get_mem and internal_malloc_size. · 1a0fd3d3
      2012-03-26  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	* runtime/memory.c (get_mem): Rename to xmalloc, check for zero
      	size.
      	(internal_malloc_size): Remove.
      	* libgfortran.h (get_mem): Rename to xmalloc.
      	(internal_malloc_size): Remove prototype.
      	* Makefile.am (i_iall_c): Fix dependency.
      	(i_iany_c): Likewise.
      	(i_iparity_c): Likewise.
      	(i_norm2_c): Likewise.
      	(i_parity_c): Likewise.
      	* Makefile.in: Regenerated.
      	* m4/parity.m4: Fix typo in comment.
      	* generated/all_l1.c: Regenerated.
      	* generated/all_l16.c: Regenerated.
      	* generated/all_l2.c: Regenerated.
      	* generated/all_l4.c: Regenerated.
      	* generated/all_l8.c: Regenerated.
      	* generated/any_l1.c: Regenerated.
      	* generated/any_l16.c: Regenerated.
      	* generated/any_l2.c: Regenerated.
      	* generated/any_l4.c: Regenerated.
      	* generated/any_l8.c: Regenerated.
      	* generated/bessel_r10.c: Regenerated.
      	* generated/bessel_r16.c: Regenerated.
      	* generated/bessel_r4.c: Regenerated.
      	* generated/bessel_r8.c: Regenerated.
      	* generated/count_16_l.c: Regenerated.
      	* generated/count_1_l.c: Regenerated.
      	* generated/count_2_l.c: Regenerated.
      	* generated/count_4_l.c: Regenerated.
      	* generated/count_8_l.c: Regenerated.
      	* generated/cshift1_16.c: Regenerated.
      	* generated/cshift1_4.c: Regenerated.
      	* generated/cshift1_8.c: Regenerated.
      	* generated/eoshift1_16.c: Regenerated.
      	* generated/eoshift1_4.c: Regenerated.
      	* generated/eoshift1_8.c: Regenerated.
      	* generated/eoshift3_16.c: Regenerated.
      	* generated/eoshift3_4.c: Regenerated.
      	* generated/eoshift3_8.c: Regenerated.
      	* generated/iall_i1.c: Regenerated.
      	* generated/iall_i16.c: Regenerated.
      	* generated/iall_i2.c: Regenerated.
      	* generated/iall_i4.c: Regenerated.
      	* generated/iall_i8.c: Regenerated.
      	* generated/iany_i1.c: Regenerated.
      	* generated/iany_i16.c: Regenerated.
      	* generated/iany_i2.c: Regenerated.
      	* generated/iany_i4.c: Regenerated.
      	* generated/iany_i8.c: Regenerated.
      	* generated/in_pack_c10.c: Regenerated.
      	* generated/in_pack_c16.c: Regenerated.
      	* generated/in_pack_c4.c: Regenerated.
      	* generated/in_pack_c8.c: Regenerated.
      	* generated/in_pack_i1.c: Regenerated.
      	* generated/in_pack_i16.c: Regenerated.
      	* generated/in_pack_i2.c: Regenerated.
      	* generated/in_pack_i4.c: Regenerated.
      	* generated/in_pack_i8.c: Regenerated.
      	* generated/in_pack_r10.c: Regenerated.
      	* generated/in_pack_r16.c: Regenerated.
      	* generated/in_pack_r4.c: Regenerated.
      	* generated/in_pack_r8.c: Regenerated.
      	* generated/iparity_i1.c: Regenerated.
      	* generated/iparity_i16.c: Regenerated.
      	* generated/iparity_i2.c: Regenerated.
      	* generated/iparity_i4.c: Regenerated.
      	* generated/iparity_i8.c: Regenerated.
      	* generated/matmul_c10.c: Regenerated.
      	* generated/matmul_c16.c: Regenerated.
      	* generated/matmul_c4.c: Regenerated.
      	* generated/matmul_c8.c: Regenerated.
      	* generated/matmul_i1.c: Regenerated.
      	* generated/matmul_i16.c: Regenerated.
      	* generated/matmul_i2.c: Regenerated.
      	* generated/matmul_i4.c: Regenerated.
      	* generated/matmul_i8.c: Regenerated.
      	* generated/matmul_l16.c: Regenerated.
      	* generated/matmul_l4.c: Regenerated.
      	* generated/matmul_l8.c: Regenerated.
      	* generated/matmul_r10.c: Regenerated.
      	* generated/matmul_r16.c: Regenerated.
      	* generated/matmul_r4.c: Regenerated.
      	* generated/matmul_r8.c: Regenerated.
      	* generated/maxloc0_16_i1.c: Regenerated.
      	* generated/maxloc0_16_i16.c: Regenerated.
      	* generated/maxloc0_16_i2.c: Regenerated.
      	* generated/maxloc0_16_i4.c: Regenerated.
      	* generated/maxloc0_16_i8.c: Regenerated.
      	* generated/maxloc0_16_r10.c: Regenerated.
      	* generated/maxloc0_16_r16.c: Regenerated.
      	* generated/maxloc0_16_r4.c: Regenerated.
      	* generated/maxloc0_16_r8.c: Regenerated.
      	* generated/maxloc0_4_i1.c: Regenerated.
      	* generated/maxloc0_4_i16.c: Regenerated.
      	* generated/maxloc0_4_i2.c: Regenerated.
      	* generated/maxloc0_4_i4.c: Regenerated.
      	* generated/maxloc0_4_i8.c: Regenerated.
      	* generated/maxloc0_4_r10.c: Regenerated.
      	* generated/maxloc0_4_r16.c: Regenerated.
      	* generated/maxloc0_4_r4.c: Regenerated.
      	* generated/maxloc0_4_r8.c: Regenerated.
      	* generated/maxloc0_8_i1.c: Regenerated.
      	* generated/maxloc0_8_i16.c: Regenerated.
      	* generated/maxloc0_8_i2.c: Regenerated.
      	* generated/maxloc0_8_i4.c: Regenerated.
      	* generated/maxloc0_8_i8.c: Regenerated.
      	* generated/maxloc0_8_r10.c: Regenerated.
      	* generated/maxloc0_8_r16.c: Regenerated.
      	* generated/maxloc0_8_r4.c: Regenerated.
      	* generated/maxloc0_8_r8.c: Regenerated.
      	* generated/maxloc1_16_i1.c: Regenerated.
      	* generated/maxloc1_16_i16.c: Regenerated.
      	* generated/maxloc1_16_i2.c: Regenerated.
      	* generated/maxloc1_16_i4.c: Regenerated.
      	* generated/maxloc1_16_i8.c: Regenerated.
      	* generated/maxloc1_16_r10.c: Regenerated.
      	* generated/maxloc1_16_r16.c: Regenerated.
      	* generated/maxloc1_16_r4.c: Regenerated.
      	* generated/maxloc1_16_r8.c: Regenerated.
      	* generated/maxloc1_4_i1.c: Regenerated.
      	* generated/maxloc1_4_i16.c: Regenerated.
      	* generated/maxloc1_4_i2.c: Regenerated.
      	* generated/maxloc1_4_i4.c: Regenerated.
      	* generated/maxloc1_4_i8.c: Regenerated.
      	* generated/maxloc1_4_r10.c: Regenerated.
      	* generated/maxloc1_4_r16.c: Regenerated.
      	* generated/maxloc1_4_r4.c: Regenerated.
      	* generated/maxloc1_4_r8.c: Regenerated.
      	* generated/maxloc1_8_i1.c: Regenerated.
      	* generated/maxloc1_8_i16.c: Regenerated.
      	* generated/maxloc1_8_i2.c: Regenerated.
      	* generated/maxloc1_8_i4.c: Regenerated.
      	* generated/maxloc1_8_i8.c: Regenerated.
      	* generated/maxloc1_8_r10.c: Regenerated.
      	* generated/maxloc1_8_r16.c: Regenerated.
      	* generated/maxloc1_8_r4.c: Regenerated.
      	* generated/maxloc1_8_r8.c: Regenerated.
      	* generated/maxval_i1.c: Regenerated.
      	* generated/maxval_i16.c: Regenerated.
      	* generated/maxval_i2.c: Regenerated.
      	* generated/maxval_i4.c: Regenerated.
      	* generated/maxval_i8.c: Regenerated.
      	* generated/maxval_r10.c: Regenerated.
      	* generated/maxval_r16.c: Regenerated.
      	* generated/maxval_r4.c: Regenerated.
      	* generated/maxval_r8.c: Regenerated.
      	* generated/minloc0_16_i1.c: Regenerated.
      	* generated/minloc0_16_i16.c: Regenerated.
      	* generated/minloc0_16_i2.c: Regenerated.
      	* generated/minloc0_16_i4.c: Regenerated.
      	* generated/minloc0_16_i8.c: Regenerated.
      	* generated/minloc0_16_r10.c: Regenerated.
      	* generated/minloc0_16_r16.c: Regenerated.
      	* generated/minloc0_16_r4.c: Regenerated.
      	* generated/minloc0_16_r8.c: Regenerated.
      	* generated/minloc0_4_i1.c: Regenerated.
      	* generated/minloc0_4_i16.c: Regenerated.
      	* generated/minloc0_4_i2.c: Regenerated.
      	* generated/minloc0_4_i4.c: Regenerated.
      	* generated/minloc0_4_i8.c: Regenerated.
      	* generated/minloc0_4_r10.c: Regenerated.
      	* generated/minloc0_4_r16.c: Regenerated.
      	* generated/minloc0_4_r4.c: Regenerated.
      	* generated/minloc0_4_r8.c: Regenerated.
      	* generated/minloc0_8_i1.c: Regenerated.
      	* generated/minloc0_8_i16.c: Regenerated.
      	* generated/minloc0_8_i2.c: Regenerated.
      	* generated/minloc0_8_i4.c: Regenerated.
      	* generated/minloc0_8_i8.c: Regenerated.
      	* generated/minloc0_8_r10.c: Regenerated.
      	* generated/minloc0_8_r16.c: Regenerated.
      	* generated/minloc0_8_r4.c: Regenerated.
      	* generated/minloc0_8_r8.c: Regenerated.
      	* generated/minloc1_16_i1.c: Regenerated.
      	* generated/minloc1_16_i16.c: Regenerated.
      	* generated/minloc1_16_i2.c: Regenerated.
      	* generated/minloc1_16_i4.c: Regenerated.
      	* generated/minloc1_16_i8.c: Regenerated.
      	* generated/minloc1_16_r10.c: Regenerated.
      	* generated/minloc1_16_r16.c: Regenerated.
      	* generated/minloc1_16_r4.c: Regenerated.
      	* generated/minloc1_16_r8.c: Regenerated.
      	* generated/minloc1_4_i1.c: Regenerated.
      	* generated/minloc1_4_i16.c: Regenerated.
      	* generated/minloc1_4_i2.c: Regenerated.
      	* generated/minloc1_4_i4.c: Regenerated.
      	* generated/minloc1_4_i8.c: Regenerated.
      	* generated/minloc1_4_r10.c: Regenerated.
      	* generated/minloc1_4_r16.c: Regenerated.
      	* generated/minloc1_4_r4.c: Regenerated.
      	* generated/minloc1_4_r8.c: Regenerated.
      	* generated/minloc1_8_i1.c: Regenerated.
      	* generated/minloc1_8_i16.c: Regenerated.
      	* generated/minloc1_8_i2.c: Regenerated.
      	* generated/minloc1_8_i4.c: Regenerated.
      	* generated/minloc1_8_i8.c: Regenerated.
      	* generated/minloc1_8_r10.c: Regenerated.
      	* generated/minloc1_8_r16.c: Regenerated.
      	* generated/minloc1_8_r4.c: Regenerated.
      	* generated/minloc1_8_r8.c: Regenerated.
      	* generated/minval_i1.c: Regenerated.
      	* generated/minval_i16.c: Regenerated.
      	* generated/minval_i2.c: Regenerated.
      	* generated/minval_i4.c: Regenerated.
      	* generated/minval_i8.c: Regenerated.
      	* generated/minval_r10.c: Regenerated.
      	* generated/minval_r16.c: Regenerated.
      	* generated/minval_r4.c: Regenerated.
      	* generated/minval_r8.c: Regenerated.
      	* generated/norm2_r10.c: Regenerated.
      	* generated/norm2_r16.c: Regenerated.
      	* generated/norm2_r4.c: Regenerated.
      	* generated/norm2_r8.c: Regenerated.
      	* generated/pack_c10.c: Regenerated.
      	* generated/pack_c16.c: Regenerated.
      	* generated/pack_c4.c: Regenerated.
      	* generated/pack_c8.c: Regenerated.
      	* generated/pack_i1.c: Regenerated.
      	* generated/pack_i16.c: Regenerated.
      	* generated/pack_i2.c: Regenerated.
      	* generated/pack_i4.c: Regenerated.
      	* generated/pack_i8.c: Regenerated.
      	* generated/pack_r10.c: Regenerated.
      	* generated/pack_r16.c: Regenerated.
      	* generated/pack_r4.c: Regenerated.
      	* generated/pack_r8.c: Regenerated.
      	* generated/parity_l1.c: Regenerated.
      	* generated/parity_l16.c: Regenerated.
      	* generated/parity_l2.c: Regenerated.
      	* generated/parity_l4.c: Regenerated.
      	* generated/parity_l8.c: Regenerated.
      	* generated/product_c10.c: Regenerated.
      	* generated/product_c16.c: Regenerated.
      	* generated/product_c4.c: Regenerated.
      	* generated/product_c8.c: Regenerated.
      	* generated/product_i1.c: Regenerated.
      	* generated/product_i16.c: Regenerated.
      	* generated/product_i2.c: Regenerated.
      	* generated/product_i4.c: Regenerated.
      	* generated/product_i8.c: Regenerated.
      	* generated/product_r10.c: Regenerated.
      	* generated/product_r16.c: Regenerated.
      	* generated/product_r4.c: Regenerated.
      	* generated/product_r8.c: Regenerated.
      	* generated/reshape_c10.c: Regenerated.
      	* generated/reshape_c16.c: Regenerated.
      	* generated/reshape_c4.c: Regenerated.
      	* generated/reshape_c8.c: Regenerated.
      	* generated/reshape_i16.c: Regenerated.
      	* generated/reshape_i4.c: Regenerated.
      	* generated/reshape_i8.c: Regenerated.
      	* generated/reshape_r10.c: Regenerated.
      	* generated/reshape_r16.c: Regenerated.
      	* generated/reshape_r4.c: Regenerated.
      	* generated/reshape_r8.c: Regenerated.
      	* generated/shape_i16.c: Regenerated.
      	* generated/shape_i4.c: Regenerated.
      	* generated/shape_i8.c: Regenerated.
      	* generated/spread_c10.c: Regenerated.
      	* generated/spread_c16.c: Regenerated.
      	* generated/spread_c4.c: Regenerated.
      	* generated/spread_c8.c: Regenerated.
      	* generated/spread_i1.c: Regenerated.
      	* generated/spread_i16.c: Regenerated.
      	* generated/spread_i2.c: Regenerated.
      	* generated/spread_i4.c: Regenerated.
      	* generated/spread_i8.c: Regenerated.
      	* generated/spread_r10.c: Regenerated.
      	* generated/spread_r16.c: Regenerated.
      	* generated/spread_r4.c: Regenerated.
      	* generated/spread_r8.c: Regenerated.
      	* generated/sum_c10.c: Regenerated.
      	* generated/sum_c16.c: Regenerated.
      	* generated/sum_c4.c: Regenerated.
      	* generated/sum_c8.c: Regenerated.
      	* generated/sum_i1.c: Regenerated.
      	* generated/sum_i16.c: Regenerated.
      	* generated/sum_i2.c: Regenerated.
      	* generated/sum_i4.c: Regenerated.
      	* generated/sum_i8.c: Regenerated.
      	* generated/sum_r10.c: Regenerated.
      	* generated/sum_r16.c: Regenerated.
      	* generated/sum_r4.c: Regenerated.
      	* generated/sum_r8.c: Regenerated.
      	* generated/transpose_c10.c: Regenerated.
      	* generated/transpose_c16.c: Regenerated.
      	* generated/transpose_c4.c: Regenerated.
      	* generated/transpose_c8.c: Regenerated.
      	* generated/transpose_i16.c: Regenerated.
      	* generated/transpose_i4.c: Regenerated.
      	* generated/transpose_i8.c: Regenerated.
      	* generated/transpose_r10.c: Regenerated.
      	* generated/transpose_r16.c: Regenerated.
      	* generated/transpose_r4.c: Regenerated.
      	* generated/transpose_r8.c: Regenerated.
      	* generated/unpack_c10.c: Regenerated.
      	* generated/unpack_c16.c: Regenerated.
      	* generated/unpack_c4.c: Regenerated.
      	* generated/unpack_c8.c: Regenerated.
      	* generated/unpack_i1.c: Regenerated.
      	* generated/unpack_i16.c: Regenerated.
      	* generated/unpack_i2.c: Regenerated.
      	* generated/unpack_i4.c: Regenerated.
      	* generated/unpack_i8.c: Regenerated.
      	* generated/unpack_r10.c: Regenerated.
      	* generated/unpack_r16.c: Regenerated.
      	* generated/unpack_r4.c: Regenerated.
      	* generated/unpack_r8.c: Regenerated.
      	* intrinsics/cshift0.c: Use xmalloc.
      	* intrinsics/ctime.c: Likewise.
      	* intrinsics/date_and_time.c: Likewise.
      	* intrinsics/eoshift0.c: Likewise.
      	* intrinsics/eoshift2.c: Likewise.
      	* intrinsics/getlog.c: Likewise.
      	* intrinsics/pack_generic.c: Likewise.
      	* intrinsics/reshape_generic.c: Likewise.
      	* intrinsics/spread_generic.c: Likewise.
      	* intrinsics/string_intrinsics_inc.c: Likewise.
      	* intrinsics/transpose_generic.c: Likewise.
      	* intrinsics/unpack_generic.c: Likewise.
      	* io/fbuf.c: Likewise.
      	* io/format.c: Likewise.
      	* io/intrinsics.c: Likewise.
      	* io/list_read.c: Likewise.
      	* io/open.c: Likewise.
      	* io/transfer.c: Likewise.
      	* io/unit.c: Likewise.
      	* io/unix.c: Likewise.
      	* io/write.c: Likewise.
      	* m4/bessel.m4: Likewise.
      	* m4/cshift1.m4: Likewise.
      	* m4/eoshift1.m4: Likewise.
      	* m4/eoshift3.m4: Likewise.
      	* m4/iforeach.m4: Likewise.
      	* m4/ifunction.m4: Likewise.
      	* m4/ifunction_logical.m4: Likewise.
      	* m4/in_pack.m4: Likewise.
      	* m4/matmul.m4: Likewise.
      	* m4/matmull.m4: Likewise.
      	* m4/pack.m4: Likewise.
      	* m4/reshape.m4: Likewise.
      	* m4/shape.m4: Likewise.
      	* m4/spread.m4: Likewise.
      	* m4/transpose.m4: Likewise.
      	* m4/unpack.m4: Likewise.
      	* runtime/convert_char.c: Likewise.
      	* runtime/environ.c: Likewise.
      	* runtime/in_pack_generic.c: Likewise.
      
      From-SVN: r185806
      Janne Blomqvist committed
  3. 25 Mar, 2012 1 commit
    • Use calloc instead of malloc and memset. · f4471acb
      2012-03-25  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	* runtime/memory.c (xcalloc): New function.
      	* libgfortran.h (xcalloc): New prototype.
      	* io/list_read.c (push_char): Use xcalloc instead of get_mem and
      	memset.
      	(l_push_char): Likewise.
      	* io/unit.c (insert_unit): Likewise.
      	(get_internal_unit): Likewise.
      	* io/unix.c (open_internal): Likewise.
      	(open_internal4): Likewise.
      	(fd_to_stream): Likewise.
      
      From-SVN: r185773
      Janne Blomqvist committed
  4. 16 Mar, 2012 1 commit
    • Share vtables instead of replicating them for each unit. · 33959d1d
      2012-03-16  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	* io/unix.h (struct stream): Rename to stream_vtable.
      	(struct stream): New struct definition.
      	(sread): Dereference vtable pointer.
      	(swrite): Likewise.
      	(sseek): Likewise.
      	(struncate): Likewise.
      	(sflush): Likewise.
      	(sclose): Likewise.
      	* io/unix.c (raw_vtable): New variable.
      	(buf_vtable): Likewise.
      	(mem_vtable): Likewise.
      	(mem4_vtable): Likewise.
      	(raw_init): Assign vtable pointer.
      	(buf_init): Likewise.
      	(open_internal): Likewise.
      	(open_internal4): Likewise.
      
      From-SVN: r185454
      Janne Blomqvist committed
  5. 22 Dec, 2011 1 commit
    • PR 51646 Use POSIX mode flags in open() argument. · 42dfafa9
      2011-12-22  Janne Blomqvist  <jb@gcc.gnu.org>
      	Tobias Burnus  <burnus@net-b.de>
      
      	PR libfortran/51646
      	* acinclude.m4 (LIBGFOR_CHECK_UNLINK_OPEN_FILE): Use POSIX mode
      	flags, omit mode argument when flags argument does not have
      	O_CREAT.
      	* io/unix.c (tempfile): Use POSIX mode flags.
      	* configure: Regenerate.
      
      
      Co-Authored-By: Tobias Burnus <burnus@net-b.de>
      
      From-SVN: r182638
      Janne Blomqvist committed
  6. 09 Nov, 2011 1 commit
    • PR 50016 Slow I/O on MingW due to _commit · ed10039e
      frontend ChangeLog:
      
      2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	PR libfortran/50016
      	* gfortran.texi (Data consistency and durability): New section.
      
      
      testsuite ChangeLog:
      
      2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	PR libfortran/50016
      	* gfortran.dg/inquire_size.f90: Don't flush the unit.
      
      libgfortran ChangeLog:
      
      2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	PR libfortran/50016
      	* io/inquire.c (inquire_via_unit): Flush the unit and use ssize.
      	* io/unix.c (buf_flush): Don't call _commit.
      
      From-SVN: r181207
      Janne Blomqvist committed
  7. 31 Oct, 2011 2 commits
    • Introduce a size member function to struct stream. · 3469bd86
      2011-10-31  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	* io/unix.h (struct stream): Add size function pointer.
      	(ssize): New inline function.
      	(file_length): Remove prototype.
      	* io/unix.c (raw_size): New function.
      	(raw_init): Initialize st.size pointer.
      	(buf_size): New function.
      	(buf_init): Initialize st.size pointer.
      	(open_internal): Likewise.
      	(open_internal4): Likewise.
      	(file_length): Remove function.
      	* io/file_pos.c (st_rewind): Use ssize instead of file_length.
      	* io/open.c (test_endfile): Likewise.
      	* io/transfer.c (data_transfer_init): Likewise.
      	(next_record_r): Likewise.
      	(next_record_w): Likewise.
      	* io/unit.c (update_position): Likewise.
      
      From-SVN: r180702
      Janne Blomqvist committed
    • Simplify handling of special files. · 7d5ee219
      2011-10-31  Janne Blomqvist  <jb@gcc.gnu.org>
      
      * io/file_pos.c (st_rewind): Handle regular and special files
      identically.
      * io/intrinsics.c (fseek_sub): Don't check whether we think the
      file is seekable, just do what the caller says.
      * io/transfer.c (skip_record): First try to seek, then fallback to
      reading and throwing away what we read.
      * io/unit.c (update_position): Don't check whether file is
      seekable, just try to do what we're told.
      (unit_truncate): Likewise.
      * io/unix.c (struct unix_stream): Remove special_file flag.
      (buf_flush): Remove code for handling unseekable files.
      (buf_seek): Likewise.
      (fd_to_stream): Use buffered IO only for regular files.
      (file_length): Remove is_seekable() call.
      (is_seekable): Remove function.
      (is_special): Likewise.
      * io/unix.h: Remove prototypes for is_seekable and is_special.
      
      From-SVN: r180701
      Janne Blomqvist committed
  8. 11 Jun, 2011 2 commits
  9. 14 May, 2011 1 commit
  10. 29 Apr, 2011 1 commit
  11. 20 Apr, 2011 1 commit
    • remove useless if-before-free tests · 04695783
      Change "if (E) free (E);" to "free (E);" everywhere except in the
      libgo/, intl/, zlib/ and classpath/ directories.
      Also transform equivalent variants like
      "if (E != NULL) free (E);" and allow an extra cast on the
      argument to free.  Otherwise, the tested and freed "E"
      expressions must be identical, modulo white space.
      
      From-SVN: r172785
      Jim Meyering committed
  12. 16 Apr, 2011 1 commit
  13. 03 Apr, 2011 1 commit
  14. 19 Mar, 2011 1 commit
  15. 26 Feb, 2011 1 commit
  16. 27 Jan, 2011 1 commit
  17. 21 Jan, 2011 1 commit
  18. 17 Jan, 2011 1 commit
  19. 15 Jan, 2011 1 commit
  20. 09 Nov, 2010 1 commit
  21. 04 Nov, 2010 1 commit
  22. 03 Nov, 2010 2 commits
  23. 01 Aug, 2010 1 commit
  24. 29 Jul, 2010 1 commit
    • re PR fortran/44931 (For INPUT_UNIT, INQUIRE NAME= should not return "stdin") · 01b99774
      2010-07-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libfortran/44931
      	* io/inquire.c (inquire_via_unit): Use ttyname to return actual device
      	file name for stdin, stdout, and stderr.  If ttyname does not succeed
      	fall back to default names for these units. Include string.h to allow
      	using strlen function.
      	* unix.c: Remove typedef of unix_stream structure, move to unix.h.
      	* unix.h: Add typedef of unix_stream structure so that it is
      	accessible to inquire.c.
      
      From-SVN: r162667
      Jerry DeLisle committed
  25. 19 Jul, 2010 1 commit
    • re PR fortran/44953 (FAIL: gfortran.dg/char4_iunit_1.f03 * execution test) · 746e6327
      2010-07-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libfortran/44953
      	* io/unix.c (mem_alloc_w4): Return gfc_char4_t instead of char type
      	pointer. (mem_write4): Remove cast to gfc_char4_t.
      	* io/transfer.c (write_block): Use a gfc_char4_t pointer.
      	(memset4): New helper function. (next_record_w): Use new helper
      	function rather than sset for internal units.  Don't attempt to pad
      	with spaces if it is not needed.
      	* io/unix.h: Update prototype for mem_alloc_w4.
      	* io/write.c (memset4): Use gfc_char4_t pointer and chracter type.
      	Don't use multiply by 4 to compute offset. (memcpy4): Likewise.
      	(write_default_char4): Use a gfc_char4_t pointer and update memset4
      	and memcpy calls. (write_a): Likewise. (write_l): Likewise.
      	(write_boz): Likewise. (write_decimal): Likewise. (write_x): Likewise.
      	(write_char): Add support for character(kind=4) internal units that
      	was previously missed. (write_integer): Use a gfc_char4_t pointer and
      	update memset4 and memcpy calls. (write_character): Likewise.
      	(write_separator): Add support for character(kind=4) internal units
      	that was previously missed.
      	* write_float.def (output_float): Use a gfc_char4_t pointer and
      	update memset4 and memcpy calls. (write_infnan): Likewise.
      	(output_float_FMT_G_): Likewise.
      
      From-SVN: r162304
      Jerry DeLisle committed
  26. 13 Jul, 2010 1 commit
    • re PR fortran/37077 (Implement Internal Unit I/O for character KIND=4) · c7421e06
      2010-07-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libfortran/37077
      	* io/read.c: Fix comment.
      	* io/io.h (is_char4_unit): New macro.
      	* io/unit.c (get_internal_unit): Call new function open_internal4.
      	* io/unix.c (mem_alloc_r4): New function. (mem_alloc_w4): New function.
      	(mem_read4): New function, temporary stub. (mem_write4): New function.
      	(open_internal4): New function to set stream pointers to use the new
      	mem functions.
      	* io/transfer.c (write_block): Use new mem_alloc_w4 to access internal
      	units of kind=4.
      	* io/unix.h: Add prototypes for open_internal4, mem_alloc_w4, and
      	mem_alloc_r4.
      	* io/write.c (memset4): New helper function. (memcpy4): New helper
      	function. (write_default_char4): Use new helper functions.
      	(write_a): Likewise. (write_l): Likewise. (write_boz): Likewise.
      	(write_decimal): Likewise. (write_x): Likewise.
      	(write_integer): Likewise.
      	* io/write_float.def (output_float): Add code blocks to handle internal
      	unit kind=4 output utilizing gfc_char4_t pointers. (write_infnan): Use
      	new helper functions. (OUTPUT_FLOAT_FMT_G): Update this macro likewise.
      
      From-SVN: r162123
      Jerry DeLisle committed
  27. 11 Jul, 2010 1 commit
  28. 07 May, 2010 1 commit
  29. 30 Apr, 2010 1 commit
  30. 24 Apr, 2010 1 commit
  31. 01 Apr, 2010 1 commit
    • transfer.c: Update copyright. · a1ff2ab8
      2010-04-01  Paul Thomas  <pault@gcc.gnu.org>
      
      	* io/transfer.c : Update copyright.
      	* io/unix.c : ditto
      	* io/read.c : ditto
      	* io/io.h : ditto
      	* io/unix.h : ditto
      	* io/inquire.c : ditto
      	* io/format.c : ditto
      	* io/list_read.c : ditto
      	* runtime/error.c : ditto
      	* libgfortran.h : ditto
      	* intrinsics/date_and_time.c: ditto
      	* intrinsics/args.c : ditto
      
      From-SVN: r157924
      Paul Thomas committed
  32. 29 Mar, 2010 1 commit
  33. 20 Mar, 2010 1 commit
    • re PR fortran/43409 (I/O: INQUIRE for SIZE does not work.) · 41c3cddc
      2010-03-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR fortran/43409
      	* ioparm.def: Change inquire size variable to type pointer to
      	GFC_IO_INT type.
      
      2010-03-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR fortran/43409
      	* io/unix.h: Add prototype for new function to return file size.
      	* io/unix.c (file_size): New function.
      	* io/inquire.c (inquire_via_unit): Use new function.
      	(inquire_via_filename): Use new function.
      
      From-SVN: r157593
      Jerry DeLisle committed
  34. 03 Jan, 2010 1 commit
  35. 04 Dec, 2009 1 commit
  36. 30 Nov, 2009 1 commit
  37. 28 Nov, 2009 1 commit
    • pack_generic.c (pack_internal): Remove unused zero_sized variable. · 14ca4cf8
      	* intrinsics/pack_generic.c (pack_internal): Remove unused
      	zero_sized variable.
      	* intrinsics/unpack_generic.c (unpack0): Remove unused size
      	variable.
      	* io/write.c (namelist_write_newline): Remove unused length
      	variable.
      	* io/unix.c (find_file): Remove unused id variable.
      	* m4/ifunction.m4 (SCALAR_ARRAY_FUNCTION): Remove unused sstride
      	variable.
      	* generated/maxloc1_16_i1.c: Regenerated.
      	* generated/maxloc1_16_i16.c: Regenerated.
      	* generated/maxloc1_16_i2.c: Regenerated.
      	* generated/maxloc1_16_i4.c: Regenerated.
      	* generated/maxloc1_16_i8.c: Regenerated.
      	* generated/maxloc1_16_r10.c: Regenerated.
      	* generated/maxloc1_16_r16.c: Regenerated.
      	* generated/maxloc1_16_r4.c: Regenerated.
      	* generated/maxloc1_16_r8.c: Regenerated.
      	* generated/maxloc1_4_i1.c: Regenerated.
      	* generated/maxloc1_4_i16.c: Regenerated.
      	* generated/maxloc1_4_i2.c: Regenerated.
      	* generated/maxloc1_4_i4.c: Regenerated.
      	* generated/maxloc1_4_i8.c: Regenerated.
      	* generated/maxloc1_4_r10.c: Regenerated.
      	* generated/maxloc1_4_r16.c: Regenerated.
      	* generated/maxloc1_4_r4.c: Regenerated.
      	* generated/maxloc1_4_r8.c: Regenerated.
      	* generated/maxloc1_8_i1.c: Regenerated.
      	* generated/maxloc1_8_i16.c: Regenerated.
      	* generated/maxloc1_8_i2.c: Regenerated.
      	* generated/maxloc1_8_i4.c: Regenerated.
      	* generated/maxloc1_8_i8.c: Regenerated.
      	* generated/maxloc1_8_r10.c: Regenerated.
      	* generated/maxloc1_8_r16.c: Regenerated.
      	* generated/maxloc1_8_r4.c: Regenerated.
      	* generated/maxloc1_8_r8.c: Regenerated.
      	* generated/maxval_i1.c: Regenerated.
      	* generated/maxval_i16.c: Regenerated.
      	* generated/maxval_i2.c: Regenerated.
      	* generated/maxval_i4.c: Regenerated.
      	* generated/maxval_i8.c: Regenerated.
      	* generated/maxval_r10.c: Regenerated.
      	* generated/maxval_r16.c: Regenerated.
      	* generated/maxval_r4.c: Regenerated.
      	* generated/maxval_r8.c: Regenerated.
      	* generated/minloc1_16_i1.c: Regenerated.
      	* generated/minloc1_16_i16.c: Regenerated.
      	* generated/minloc1_16_i2.c: Regenerated.
      	* generated/minloc1_16_i4.c: Regenerated.
      	* generated/minloc1_16_i8.c: Regenerated.
      	* generated/minloc1_16_r10.c: Regenerated.
      	* generated/minloc1_16_r16.c: Regenerated.
      	* generated/minloc1_16_r4.c: Regenerated.
      	* generated/minloc1_16_r8.c: Regenerated.
      	* generated/minloc1_4_i1.c: Regenerated.
      	* generated/minloc1_4_i16.c: Regenerated.
      	* generated/minloc1_4_i2.c: Regenerated.
      	* generated/minloc1_4_i4.c: Regenerated.
      	* generated/minloc1_4_i8.c: Regenerated.
      	* generated/minloc1_4_r10.c: Regenerated.
      	* generated/minloc1_4_r16.c: Regenerated.
      	* generated/minloc1_4_r4.c: Regenerated.
      	* generated/minloc1_4_r8.c: Regenerated.
      	* generated/minloc1_8_i1.c: Regenerated.
      	* generated/minloc1_8_i16.c: Regenerated.
      	* generated/minloc1_8_i2.c: Regenerated.
      	* generated/minloc1_8_i4.c: Regenerated.
      	* generated/minloc1_8_i8.c: Regenerated.
      	* generated/minloc1_8_r10.c: Regenerated.
      	* generated/minloc1_8_r16.c: Regenerated.
      	* generated/minloc1_8_r4.c: Regenerated.
      	* generated/minloc1_8_r8.c: Regenerated.
      	* generated/minval_i1.c: Regenerated.
      	* generated/minval_i16.c: Regenerated.
      	* generated/minval_i2.c: Regenerated.
      	* generated/minval_i4.c: Regenerated.
      	* generated/minval_i8.c: Regenerated.
      	* generated/minval_r10.c: Regenerated.
      	* generated/minval_r16.c: Regenerated.
      	* generated/minval_r4.c: Regenerated.
      	* generated/minval_r8.c: Regenerated.
      	* generated/product_c10.c: Regenerated.
      	* generated/product_c16.c: Regenerated.
      	* generated/product_c4.c: Regenerated.
      	* generated/product_c8.c: Regenerated.
      	* generated/product_i1.c: Regenerated.
      	* generated/product_i16.c: Regenerated.
      	* generated/product_i2.c: Regenerated.
      	* generated/product_i4.c: Regenerated.
      	* generated/product_i8.c: Regenerated.
      	* generated/product_r10.c: Regenerated.
      	* generated/product_r16.c: Regenerated.
      	* generated/product_r4.c: Regenerated.
      	* generated/product_r8.c: Regenerated.
      	* generated/sum_c10.c: Regenerated.
      	* generated/sum_c16.c: Regenerated.
      	* generated/sum_c4.c: Regenerated.
      	* generated/sum_c8.c: Regenerated.
      	* generated/sum_i1.c: Regenerated.
      	* generated/sum_i16.c: Regenerated.
      	* generated/sum_i2.c: Regenerated.
      	* generated/sum_i4.c: Regenerated.
      	* generated/sum_i8.c: Regenerated.
      	* generated/sum_r10.c: Regenerated.
      	* generated/sum_r16.c: Regenerated.
      	* generated/sum_r4.c: Regenerated.
      	* generated/sum_r8.c: Regenerated.
      
      From-SVN: r154729
      Jakub Jelinek committed