]> git.ipfire.org Git - thirdparty/gcc.git/commit
backport: re PR libfortran/91030 (Poor performance of I/O -fconvert=big-endian)
authorThomas Koenig <tkoenig@gcc.gnu.org>
Tue, 23 Jul 2019 08:57:45 +0000 (08:57 +0000)
committerThomas Koenig <tkoenig@gcc.gnu.org>
Tue, 23 Jul 2019 08:57:45 +0000 (08:57 +0000)
commit38a8ddce9b0594d430674bd8e31849bd30d73ad8
tree57bc7dc3fd6abdf1f578484f854b6d38c77812aa
parentd63bda34335234f0e84ed82484183d65ca28e46c
backport: re PR libfortran/91030 (Poor performance of I/O -fconvert=big-endian)

2019-07-23  Thomas König  <tkoenig@gcc.gnu.org>

Backport from trunk
PR libfortran/91030
* gfortran.texi (GFORTRAN_FORMATTED_BUFFER_SIZE): Document.
(GFORTRAN_UNFORMATTED_BUFFER_SIZE): Likewise.

2019-07-23  Thomas König  <tkoenig@gcc.gnu.org>

Backport from trunk
PR libfortran/91030
* io/unix.c (BUFFER_SIZE): Delete.
(BUFFER_FORMATTED_SIZE_DEFAULT): New variable.
(BUFFER_UNFORMATTED_SIZE_DEFAULT): New variable.
(unix_stream): Add buffer_size.
(buf_read): Use s->buffer_size instead of BUFFER_SIZE.
(buf_write): Likewise.
(buf_init): Add argument unformatted.  Handle block sizes
for unformatted vs. formatted, using defaults if provided.
(fd_to_stream): Add argument unformatted in call to buf_init.
* libgfortran.h (options_t): Add buffer_size_formatted and
buffer_size_unformatted.
* runtime/environ.c (variable_table): Add
GFORTRAN_UNFORMATTED_BUFFER_SIZE and
GFORTRAN_FORMATTED_BUFFER_SIZE.

From-SVN: r273727
gcc/fortran/ChangeLog
gcc/fortran/gfortran.texi
libgfortran/ChangeLog
libgfortran/io/unix.c
libgfortran/libgfortran.h
libgfortran/runtime/environ.c